硬件方案
智能臺燈以專門感應(yīng)人體紅外信號的紅外傳感器為基礎(chǔ),這意味著僅當(dāng)有人的時候,紅外傳感器才輸出一個信號,經(jīng)放大處理后達(dá)到單片機的輸入門限電壓,單片機開始運行,臺燈自動點亮。當(dāng)人離開的時候,單片機控制臺燈自動關(guān)閉,以達(dá)到節(jié)約用電的目的。此外,通過功能按鍵可以設(shè)置臺燈的工作模式分為自動和手動,在此之前如果檢測到人坐姿不正確可以通過紅外光電進(jìn)行檢查,臺燈上的蜂鳴器將會響起,提醒使用者應(yīng)該注意坐姿,這個功能可以幫助保護(hù)使用者的視力。
整體電路主要由stm32單片機最小系統(tǒng),光敏電阻檢測電路,紅外人體檢測電路,OLED顯示電路,DS1302時鐘電路,LED臺燈模塊,蜂鳴器報警電路;原理圖如圖:
PCB圖如下:
設(shè)計功能
1.通過光敏采集當(dāng)前光線強度,通過單片機內(nèi)部AD進(jìn)行模數(shù)轉(zhuǎn)換,通過人體紅外檢測當(dāng)前是否有人。
2.采用OLED液晶顯示屏來顯示,用于顯示當(dāng)前的時間、光強度、控制模式、姿勢提醒等。
3.通過單片機的PWM引腳,根據(jù)不同光線情況下來調(diào)整PWM的占空比,以達(dá)到調(diào)節(jié)當(dāng)前燈光亮度。
4.通過DS1302時鐘芯片顯示當(dāng)前的時間,并可以通過按鍵設(shè)置提示時間。
5.通過光電傳感器檢測坐姿,當(dāng)坐姿不正導(dǎo)致紅外光電開關(guān)被遮擋時被判斷坐姿不正確。如果坐姿不正或者是定時時間到后蜂鳴器會進(jìn)行提醒。
主程序源碼
int main(void)
{
char i=0;
DelayInit();
I2C_Configuration(); //IIC初始化
OLED_Init(); //OLED初始化
KEY_Init(); //按鍵初始化
BEEP_AND_GD_RTHW_GPIO_Config();
OLED_CLS();//清屏
DS1302_Init(&SysDate);
DelayMs(100);
DS1302_DateRead(&SysDate);//讀時間
OLED_CLS();//清屏
for(i=0;i<4;i++)OLED_ShowCN(i*16,2,i+8,0);//測試顯示中文:亮度等級
OLED_ShowStr(62,2,": ",2);//顯示冒號
for(i=0;i<4;i++)OLED_ShowCN(i*16,4,i,0);//測試顯示中文:提醒時間
DisplayMode();
Adc_Init();
TIM2_Init(49,71); //定時器初始化,定時50us
TIM3_Init(499,7199); //定時器初始化,定時50ms
//Tout = ((arr+1)*(psc+1))/Tclk ;
//Tclk:定時器輸入頻率(單位MHZ)
//Tout:定時器溢出時間(單位us)
while(1)
{
KeySettings();
DisplayTime();
DisplayTiXingTime();
AutoHandle();
LedGearHandle(GearTemp);
if(GD == 0)//檢測坐姿不正確
{
if(PostureFlag==0)
{
PostureFlag=1;
BEEP=1;//蜂鳴器提醒
OLED_CLS();//清屏
for(i=0;i<6;i++)OLED_ShowCN(i*16+16,2,i+16,0);//測試顯示中文:請注意坐姿!
DelayMs(1000);
OLED_CLS();//清屏
for(i=0;i<4;i++)OLED_ShowCN(i*16,2,i+8,0);//測試顯示中文:亮度等級
OLED_ShowStr(62,2,": ",2);//顯示冒號
for(i=0;i<4;i++)OLED_ShowCN(i*16,4,i,0);//測試顯示中文:提醒時間
DisplayMode();
}
}
else
{
PostureFlag=0;
}
}
}
資料鏈接:https://pan.baidu.com/s/1h609T4krQL4XSxzR2Nubpw?pwd=39pq文章來源:http://www.zghlxwxcb.cn/news/detail-526690.html
?文章來源地址http://www.zghlxwxcb.cn/news/detail-526690.html
到了這里,關(guān)于基于STM32單片機的智能視力保護(hù)臺燈設(shè)計的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!