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

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

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

3. 按下手動(dòng)/自動(dòng)切換按鍵,切換到自動(dòng)模式下

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

三.程序設(shè)計(jì)
int main(void)
{
while(1)
{
u8 key0flag,key1flag,key2flag,key3flag;//按鍵標(biāo)志
Rain= PCF8591_ADC_Input(0x90,0)/3;//雨滴檢測(cè)
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)//開(kāi)
{
write_str(12,1,(u8*)"ON ");//開(kāi)
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)//自動(dòng)
{
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//手動(dòng)
{
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);
}
}
}
-
單片機(jī)
+關(guān)注
關(guān)注
6072文章
45267瀏覽量
661164 -
STM32
+關(guān)注
關(guān)注
2301文章
11096瀏覽量
369997 -
控制
+關(guān)注
關(guān)注
5文章
1030瀏覽量
124941
原文標(biāo)題:Proteus仿真實(shí)例_基于STM32單片機(jī)的智能雨刷器設(shè)計(jì)(仿真文件+程序)
文章出處:【微信號(hào):小常硬件,微信公眾號(hào):小常硬件】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
基于單片機(jī)的步進(jìn)電機(jī)智能雨刷器程序設(shè)計(jì)能否實(shí)現(xiàn)?
如何使用STM32單片機(jī)去驅(qū)動(dòng)無(wú)刷電調(diào)
怎樣去設(shè)計(jì)一種基于51單片機(jī)的智能汽車雨刷控制系統(tǒng)
汽車雨刷系統(tǒng)的解決方案
基于Atmel半導(dǎo)體方案的汽車雨刷系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)
基于STM32單片機(jī)的電阻爐智能溫度控制器的設(shè)計(jì)_李文濤
基于STM32單片機(jī)的電阻爐智能溫度控制器的設(shè)計(jì)
51單片機(jī)和STM32單片機(jī)有哪些區(qū)別
stm32單片機(jī)和51單片機(jī)區(qū)別是什么
基于51單片機(jī)的智能汽車雨刷控制系統(tǒng)方案原理圖程序設(shè)計(jì)

基于STM32單片機(jī)的智能雨刷器設(shè)計(jì)
評(píng)論