一.系统概述
系统内使用STM32单片机进行主控,系统具有人体识别、坐姿检测以及光强检测的功能,根据这些条件来控制LED灯的打开和关闭,以及进行坐姿提醒。还可以通过按键直接控制的桌子的升高和下降,另外系统可以进行手动/自动切换,手动模式下可以直接控制灯的开关。
二.仿真概述
1. 默认是自动模式,按下自动/手动切换按键后切换到手动模式,在手动模式下可以直接控制灯光的打开和关闭,还可以控制桌子的上升和下降。
2. 在自动模式下,同样可以通过按键控制桌子的上升和下降。另外当检测人坐下并且光强低于设定阈值就会控制灯光打开。
3. 自动模式下根据坐姿检测的结果来控制是否进行提醒
三.程序设计
#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;
}
}
}