一.系統(tǒng)概述
智能雨刷器系統(tǒng)使用STM32單片機進行主控,通過顯示屏顯示雨量,系統(tǒng)有自動和手動兩種模式,根據(jù)設(shè)定的閾值可以在自動模式下進行雨刷控制,手動模式下也可以通過按鍵進行雨刷器的控制,按鍵還可以進行雨量閾值的設(shè)定。

二.仿真概述
1. 默認(rèn)情況下是手動模式,手動燈亮起

2. 通過按鍵調(diào)節(jié)雨刷器的檔位,單位檔位有90度和180度

3. 按下手動/自動切換按鍵,切換到自動模式下

4. 調(diào)節(jié)雨滴量,當(dāng)雨滴量超過設(shè)定閾值就會自動啟動雨刷器

三.程序設(shè)計
int main(void)
{
while(1)
{
u8 key0flag,key1flag,key2flag,key3flag;//按鍵標(biāo)志
Rain= PCF8591_ADC_Input(0x90,0)/3;//雨滴檢測
if(KEY0 == 0)
{
delay_ms(75);
if(KEY0 == 0)
{
key0flag =1;
W=~W;
}
else
{
key0flag =0;
W=W;
}
}
if(KEY1 == 0)
{
delay_ms(75);
if(KEY1 == 0)
{
key1flag =1;
M=~M;
}
}
if(KEY2 == 0) { delay_ms(100); if(KEY2 == 0) RainMax = RainMax+20; }
if(KEY3 == 0)
{
delay_ms(100);
if(KEY3 == 0)
{
i++;
if(i>3)
{
i=0;
}
}
}
//
if(W)//開
{
write_str(12,1,(u8*)"ON ");//開
write_str(6,0,(u8*)"D");//檔位
write_str(0,0,(u8*)"R");//雨滴
write_str(3,0,(u8*)"H");//閾值
write_str(9,0,(u8*)"M");//模式
write_num(0,1,Rain);
write_num(3,1,RainMax);
if(M)//自動
{
write_str(9,1,(u8*)"Z");//模式
Led1_2=0;
delay_ms(100);
Led1_1=1;
if(Rain>80)
{
write_str(6,1,(u8*)"3");//檔位
Motor_Rhythm_418(4,40);
delay_ms(10);
Motor_Rhythm_418(2,40);
}
else if(Rain>60)
{
write_str(6,1,(u8*)"2");//檔位
Motor_Rhythm_418(4,40);
delay_ms(500);
Motor_Rhythm_418(2,40);
}
else if(Rain>40)
{
write_str(6,1,(u8*)"1");//檔位
Motor_Rhythm_418(4,40);
delay_ms(1000);
Motor_Rhythm_418(2,40);
}
else if(Rain<40)
{
write_str(6,1,(u8*)"0");//檔位
Motor_Rhythm_418(0,0);
}
}
else//手動
{
write_str(9,1,(u8*)"S");//模式
Led1_1=0;
delay_ms(100);
Led1_2=1;
if(i==0)
{
write_str(6,1,(u8*)"0");//檔位
Motor_Rhythm_418(0,0);
}
if(i==1)
{
write_str(6,1,(u8*)"1");//檔位
Motor_Rhythm_418(4,40);
delay_ms(1000);
Motor_Rhythm_418(2,40);
}
if(i==2)
{
write_str(6,1,(u8*)"2");//檔位
Motor_Rhythm_418(4,40);
delay_ms(500);
Motor_Rhythm_418(2,40);
}
if(i==3)
{
write_str(6,1,(u8*)"3");//檔位
Motor_Rhythm_418(4,40);
delay_ms(10);
Motor_Rhythm_418(2,40);
}
}
}
else//關(guān)
{
write_str(0,1,(u8*)" ");//狀態(tài)
write_str(0,0,(u8*)" ");//狀態(tài)
write_str(12,1,(u8*)"OFF");//關(guān)
write_str(12,0,(u8*)"W");//狀態(tài)
Motor_Rhythm_418(0,0);
}
}
}
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
單片機
+關(guān)注
關(guān)注
6076文章
45497瀏覽量
670554 -
STM32
+關(guān)注
關(guān)注
2310文章
11162瀏覽量
373508 -
控制
+關(guān)注
關(guān)注
5文章
1035瀏覽量
125304
原文標(biāo)題:Proteus仿真實例_基于STM32單片機的智能雨刷器設(shè)計(仿真文件+程序)
文章出處:【微信號:小常硬件,微信公眾號:小常硬件】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
熱點推薦
基于單片機的步進電機智能雨刷器程序設(shè)計能否實現(xiàn)?
在單片機中設(shè)計一段智能雨刷器的程序,此處雨滴感應(yīng)模塊用滑動變阻器代替,寫了以下程序可是只能實現(xiàn)一種進步電機速度,無法實現(xiàn)根據(jù)滑動變阻器值改變
發(fā)表于 01-08 14:28
怎樣去設(shè)計一種基于51單片機的智能汽車雨刷控制系統(tǒng)
總體設(shè)計設(shè)計的總體思路是:運用雨滴傳感器感應(yīng)雨量的大小,把感應(yīng)信號輸給單片機系統(tǒng),然后通過軟件控制雨刷電機根據(jù)相應(yīng)的環(huán)境做出不同的轉(zhuǎn)動。例如,當(dāng)檢測為小雨量的時候,電機工作在小雨模式(
發(fā)表于 11-09 08:04
汽車雨刷系統(tǒng)的解決方案
在目前已有的前端雙雨刷系統(tǒng)中,左右雨刷器之間的同步采用機械連接來實現(xiàn)(圖1)。這一做法很有必要,因為擋風(fēng)玻璃上的污垢、風(fēng)的影響或
發(fā)表于 08-23 10:43
?2419次閱讀
基于Atmel半導(dǎo)體方案的汽車雨刷系統(tǒng)的設(shè)計實現(xiàn)
在目前已有的前端雙雨刷系統(tǒng)中,左右雨刷器之間的同步用機械連接實現(xiàn)。這很有必要,因為擋風(fēng)玻璃受污垢、風(fēng)及雨
發(fā)表于 01-24 16:46
?1597次閱讀
基于STM32單片機的電阻爐智能溫度控制器的設(shè)計_李文濤
基于STM32單片機的電阻爐智能溫度控制器的設(shè)計_李文濤,關(guān)于單片機溫度控制有所幫助。
發(fā)表于 04-28 14:23
?20次下載
51單片機和STM32單片機有哪些區(qū)別
大部分朋友可能都知道51單片機和stm32單片機也知道一般入門會先學(xué)習(xí)51單片機在學(xué)習(xí)stm32單片機
發(fā)表于 08-13 17:32
?17次下載
stm32單片機和51單片機區(qū)別是什么
單片機也就是單片微型計算機,和集CPU、RAM、ROM、輸入輸出設(shè)備、中斷系統(tǒng)在同一個芯片上的器件。 stm32單片機 stm32
基于51單片機的智能汽車雨刷控制系統(tǒng)方案原理圖程序設(shè)計
總體設(shè)計設(shè)計的總體思路是:運用雨滴傳感器感應(yīng)雨量的大小,把感應(yīng)信號輸給單片機系統(tǒng),然后通過軟件控制雨刷電機根據(jù)相應(yīng)的環(huán)境做出不同的轉(zhuǎn)動。例如,當(dāng)檢測為小雨量的時候,電機工作在小雨模式(
發(fā)表于 11-04 17:36
?41次下載
基于STM32單片機的智能雨刷器設(shè)計
評論