一.系統(tǒng)概述
智能雨刷器系統(tǒng)使用STM32單片機(jī)進(jìn)行主控,通過顯示屏顯示雨量,系統(tǒng)有自動和手動兩種模式,根據(jù)設(shè)定的閾值可以在自動模式下進(jìn)行雨刷控制,手動模式下也可以通過按鍵進(jìn)行雨刷器的控制,按鍵還可以進(jìn)行雨量閾值的設(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)系本站處理。
舉報投訴
-
單片機(jī)
+關(guān)注
關(guān)注
6076文章
45501瀏覽量
670621 -
STM32
+關(guān)注
關(guān)注
2310文章
11162瀏覽量
373530 -
控制
+關(guān)注
關(guān)注
5文章
1035瀏覽量
125304
原文標(biāo)題:Proteus仿真實例_基于STM32單片機(jī)的智能雨刷器設(shè)計(仿真文件+程序)
文章出處:【微信號:小常硬件,微信公眾號:小常硬件】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
熱點推薦
基于單片機(jī)的步進(jìn)電機(jī)智能雨刷器程序設(shè)計能否實現(xiàn)?
在單片機(jī)中設(shè)計一段智能雨刷器的程序,此處雨滴感應(yīng)模塊用滑動變阻器代替,寫了以下程序可是只能實現(xiàn)一種進(jìn)步電機(jī)速度,無法實現(xiàn)根據(jù)滑動變阻器值改變
發(fā)表于 01-08 14:28
如何使用STM32單片機(jī)去驅(qū)動無刷電調(diào)
什么是無刷電調(diào)?如何使用STM32單片機(jī)去驅(qū)動無刷電調(diào)?
發(fā)表于 08-02 06:32
怎樣去設(shè)計一種基于51單片機(jī)的智能汽車雨刷控制系統(tǒng)
總體設(shè)計設(shè)計的總體思路是:運用雨滴傳感器感應(yīng)雨量的大小,把感應(yīng)信號輸給單片機(jī)系統(tǒng),然后通過軟件控制雨刷電機(jī)根據(jù)相應(yīng)的環(huán)境做出不同的轉(zhuǎn)動。例如,當(dāng)檢測為小雨量的時候,電機(jī)工作在小雨模式(
發(fā)表于 11-09 08:04
汽車雨刷系統(tǒng)的解決方案
在目前已有的前端雙雨刷系統(tǒng)中,左右雨刷器之間的同步采用機(jī)械連接來實現(xiàn)(圖1)。這一做法很有必要,因為擋風(fēng)玻璃上的污垢、風(fēng)的影響或
發(fā)表于 08-23 10:43
?2420次閱讀
基于Atmel半導(dǎo)體方案的汽車雨刷系統(tǒng)的設(shè)計實現(xiàn)
在目前已有的前端雙雨刷系統(tǒng)中,左右雨刷器之間的同步用機(jī)械連接實現(xiàn)。這很有必要,因為擋風(fēng)玻璃受污垢、風(fēng)及雨
發(fā)表于 01-24 16:46
?1597次閱讀
基于STM32單片機(jī)的電阻爐智能溫度控制器的設(shè)計_李文濤
基于STM32單片機(jī)的電阻爐智能溫度控制器的設(shè)計_李文濤,關(guān)于單片機(jī)溫度控制有所幫助。
發(fā)表于 04-28 14:23
?20次下載
51單片機(jī)和STM32單片機(jī)有哪些區(qū)別
大部分朋友可能都知道51單片機(jī)和stm32單片機(jī)也知道一般入門會先學(xué)習(xí)51單片機(jī)在學(xué)習(xí)stm32單片機(jī)
發(fā)表于 08-13 17:32
?17次下載
stm32單片機(jī)和51單片機(jī)區(qū)別是什么
單片機(jī)也就是單片微型計算機(jī),和集CPU、RAM、ROM、輸入輸出設(shè)備、中斷系統(tǒng)在同一個芯片上的器件。 stm32單片機(jī) stm32
基于51單片機(jī)的智能汽車雨刷控制系統(tǒng)方案原理圖程序設(shè)計
總體設(shè)計設(shè)計的總體思路是:運用雨滴傳感器感應(yīng)雨量的大小,把感應(yīng)信號輸給單片機(jī)系統(tǒng),然后通過軟件控制雨刷電機(jī)根據(jù)相應(yīng)的環(huán)境做出不同的轉(zhuǎn)動。例如,當(dāng)檢測為小雨量的時候,電機(jī)工作在小雨模式(
發(fā)表于 11-04 17:36
?41次下載
基于STM32單片機(jī)的智能雨刷器設(shè)計
評論