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

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

2. 通過按鍵調節雨刷器的檔位,單位檔位有90度和180度

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

4. 調節雨滴量,當雨滴量超過設定閾值就會自動啟動雨刷器

三.程序設計
int main(void)
{
while(1)
{
u8 key0flag,key1flag,key2flag,key3flag;//按鍵標志
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//關
{
write_str(0,1,(u8*)" ");//狀態
write_str(0,0,(u8*)" ");//狀態
write_str(12,1,(u8*)"OFF");//關
write_str(12,0,(u8*)"W");//狀態
Motor_Rhythm_418(0,0);
}
}
}
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
單片機
+關注
關注
6076文章
45495瀏覽量
670276 -
STM32
+關注
關注
2309文章
11162瀏覽量
373415 -
控制
+關注
關注
5文章
1035瀏覽量
125294
原文標題:Proteus仿真實例_基于STM32單片機的智能雨刷器設計(仿真文件+程序)
文章出處:【微信號:小常硬件,微信公眾號:小常硬件】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
熱點推薦
基于單片機的步進電機智能雨刷器程序設計能否實現?
在單片機中設計一段智能雨刷器的程序,此處雨滴感應模塊用滑動變阻器代替,寫了以下程序可是只能實現一種進步電機速度,無法實現根據滑動變阻器值改變
發表于 01-08 14:28
怎樣去設計一種基于51單片機的智能汽車雨刷控制系統
總體設計設計的總體思路是:運用雨滴傳感器感應雨量的大小,把感應信號輸給單片機系統,然后通過軟件控制雨刷電機根據相應的環境做出不同的轉動。例如,當檢測為小雨量的時候,電機工作在小雨模式(
發表于 11-09 08:04
汽車雨刷系統的解決方案
在目前已有的前端雙雨刷系統中,左右雨刷器之間的同步采用機械連接來實現(圖1)。這一做法很有必要,因為擋風玻璃上的污垢、風的影響或
發表于 08-23 10:43
?2417次閱讀
基于Atmel半導體方案的汽車雨刷系統的設計實現
在目前已有的前端雙雨刷系統中,左右雨刷器之間的同步用機械連接實現。這很有必要,因為擋風玻璃受污垢、風及雨
發表于 01-24 16:46
?1583次閱讀
stm32單片機和51單片機區別是什么
單片機也就是單片微型計算機,和集CPU、RAM、ROM、輸入輸出設備、中斷系統在同一個芯片上的器件。 stm32單片機 stm32
基于51單片機的智能汽車雨刷控制系統方案原理圖程序設計
總體設計設計的總體思路是:運用雨滴傳感器感應雨量的大小,把感應信號輸給單片機系統,然后通過軟件控制雨刷電機根據相應的環境做出不同的轉動。例如,當檢測為小雨量的時候,電機工作在小雨模式(
發表于 11-04 17:36
?41次下載
基于STM32單片機的智能雨刷器設計
評論