一. 系统概述
本系统基于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