一. 系统概述
系统采用STM32单片机作为主控,具备人体识别、坐姿检测和光强感测等功能。根据这些检测结果,系统能够控制LED灯的开关,并提供坐姿提醒。此外,用户可以通过按键实现桌子的升高和下降功能。同时,系统支持手动与自动模式的切换:在手动模式下,用户可以直接控制灯的状态。
二. 仿真概述
- 系统启动后默认进入自动模式。用户按下切换按钮后,系统会切换到手动模式。在手动模式下,用户可以随意控制灯的开关,并调节桌子的高度。
- 在自动模式中,用户同样可以通过按键调节桌子的高度。此外,当检测到有人坐下且光照强度低于预设阈值时,系统会自动打开灯光。
- 在自动模式下,系统会根据坐姿检测的结果来判断是否需要进行坐姿提醒。
三.程序设计
#include <main.h>
//
u8 key,m=0,m2=0;
//
//
void Init_Test(void);
void Test(void);
void Display(void);
//
int main(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//2:2
Init_Test();
while(1)
{
u8 adc=Get_Adc(9);
u8 l=100;
if(Key3==0)Motor_414_Turn(0,255);
if(Key4==0)Motor_414_Turn(1,255);
if(Key1==0){ m2=~m2;}
if(m2)//手动
{
if(Key2==0){ m=~m;}
if(m)LedC1_1;
else LedC1_0;
}
else//自动
{
if(adc<l&&pc5==1) LedC1_1;
else LedC1_0;
if(pc6==0) LedC2_1;
else LedC2_0;
}
}
}
24-32f-43