基于單片機(jī)的LCD百葉窗統(tǒng)設(shè)計(jì)
一、系統(tǒng)方案
本項(xiàng)目利用DS18B20傳感器、AD加光敏電阻傳感器,按鍵及對(duì)直流電機(jī)的控制實(shí)現(xiàn)智能百葉窗的控制。具體功能:LCD液晶顯示器顯示測(cè)量結(jié)果的光照強(qiáng)度和溫度,設(shè)置三個(gè)按鍵:手動(dòng)/自動(dòng)切換、手動(dòng)正轉(zhuǎn)和手動(dòng)反轉(zhuǎn),用一個(gè)發(fā)光二極管顯示手動(dòng)/自動(dòng)狀態(tài),自動(dòng)狀態(tài)時(shí)二極管亮,自動(dòng)模式下,當(dāng)光照強(qiáng)度或者溫度過(guò)高的時(shí)候關(guān)閉百葉窗,反之光強(qiáng)降低且溫度降低的時(shí)候才打開百葉窗。設(shè)置兩個(gè)極限位置保護(hù)行程開關(guān),用于保護(hù)百葉窗葉片:當(dāng)正轉(zhuǎn)到極限位置壓下行程開關(guān)時(shí),電機(jī)停止正轉(zhuǎn),但還可以反轉(zhuǎn);當(dāng)反轉(zhuǎn)到極限位置壓下行程開關(guān)時(shí),電機(jī)停止反轉(zhuǎn),但還可以正轉(zhuǎn)。

二、硬件設(shè)計(jì)
原理圖如下:

三、單片機(jī)軟件設(shè)計(jì)
1、首先是系統(tǒng)初始化:
//外部中斷初始化
void EX_Init()
{
EA=1;
IT0=1;
EX0=1;
}
2、中斷服務(wù)程序
//中斷函數(shù)
void Int0() interrupt 0
{
flag=~flag; //模式變換
}
3、按鍵檢測(cè)程序
//讀取溫度
unsigned int Get_Temperature()
{
unsigned char *pt; //用來(lái)存放溫度值,測(cè)溫程序就是通過(guò)這個(gè)數(shù)組與主函數(shù)通信的
unsigned int real_tempure;
pt=ReadTemperature(); //讀取溫度
covert(pt);//轉(zhuǎn)換溫度
//把溫度擴(kuò)大10倍避免小數(shù)運(yùn)算
real_tempure = ((TempBuffer[2]-0x30)*10)+TempBuffer[3]-0x30;
real_tempure =(real_tempure*10) + TempBuffer[5]-0x30;
if(TempBuffer[1]==0x31) //說(shuō)明此時(shí)有百位
{
real_tempure+=1000;
}
if(TempBuffer[0]==0x2d) //負(fù)溫度
{
real_tempure*=-1;
}
return real_tempure;
}
4、核心算法程序
void Control_motor()
{
if(flag==0) //自動(dòng)模式
{
xianwei1=1;
xianwei2=1;
LED=0;
_nop_();
if((Light_val<30)&&(real_tempure<200)&&(xianwei1==1)) //0-30 ,溫度小于20度
{IN1=1;IN2=0;} //正傳
else if(((Light_val>50)||(real_tempure>300))&&(xianwei2==1)) //溫度大于30度關(guān)窗簾
{IN1=0;IN2=1;} //反轉(zhuǎn)
else
{IN1=1;IN2=1;}//30-50
}
if(flag==1) //手動(dòng)模式
{
K3=1;
K2=1;
xianwei1=1;
xianwei2=1;
LED=1; //關(guān)指示燈
if((K2==0)&&(xianwei1==1)) //按鍵按下
{IN1=0;IN2=1;while(!K2);}
if((K3==0)&&(xianwei2==1))
{IN1=1;IN2=0;while(!K3);}
else
{IN1=1;IN2=1;} //電機(jī)停止
}
}
四、proteus仿真設(shè)計(jì)
Proteus軟件是一款應(yīng)用比較廣泛的工具,它可以在沒有硬件平臺(tái)的基礎(chǔ)上通過(guò)自身的軟件仿真出硬件平臺(tái)的運(yùn)行情況,這樣就可以通過(guò)軟件仿真來(lái)驗(yàn)證我們?cè)O(shè)計(jì)的方案有沒有問(wèn)題,如果有問(wèn)題,可以重新選擇器件,連接器件,直到達(dá)到我們?cè)O(shè)定的目的,避免我們搭建實(shí)物的時(shí)候,如果當(dāng)初選擇的方案有問(wèn)題,我們器件都已經(jīng)焊接好了,再去卸載下去,再去焊接新的方案的器件,測(cè)試,這樣會(huì)浪費(fèi)人力和物力,也給開發(fā)者帶來(lái)一定困惑,Proteus仿真軟件就很好的解決這個(gè)問(wèn)題,我們?cè)谠O(shè)計(jì)之初,就使用該軟件進(jìn)行模擬仿真,測(cè)試,選擇滿足我們?cè)O(shè)計(jì)的最優(yōu)方案。最后根據(jù)測(cè)試沒問(wèn)題的仿真圖紙,焊接實(shí)物,調(diào)試,最終完成本設(shè)計(jì)的作品。

審核編輯 黃宇
-
傳感器
+關(guān)注
關(guān)注
2576文章
55061瀏覽量
791507 -
單片機(jī)
+關(guān)注
關(guān)注
6076文章
45501瀏覽量
670621 -
lcd
+關(guān)注
關(guān)注
36文章
4618瀏覽量
177304
發(fā)布評(píng)論請(qǐng)先 登錄
Jalousier:隨溫度自動(dòng)調(diào)節(jié)的智能化百葉窗
智能家居細(xì)分市場(chǎng)之智能百葉窗
如何去實(shí)現(xiàn)基于單片機(jī)的百葉窗控制系統(tǒng)設(shè)計(jì)
進(jìn)風(fēng)口百葉窗模的設(shè)計(jì)及制造
智能百葉窗設(shè)計(jì)
基于STM32的變電站智能百葉窗的設(shè)計(jì)與實(shí)現(xiàn)
(畢業(yè)設(shè)計(jì)資料)基于單片機(jī)的百葉窗控制系統(tǒng)設(shè)計(jì)
基于單片機(jī)的LCD百葉窗統(tǒng)設(shè)計(jì)
評(píng)論