
本設計的硬件構成:
STM32F103C8T6單片機最小系統(tǒng)板(包含+3.3V穩(wěn)壓電路+時鐘晶振電路+復位電路(上電自復位,手動復位)),溫度傳感器、水位傳感器、紅外人體傳感器、紅外反射傳感器、超聲波測距模塊、LCD液晶顯示屏、按鍵、蜂鳴器、LED指示燈、繼電器等電路而成;

功能介紹:
1、溫度傳感器采集水溫,按鍵設置水溫閾值,人體感應檢測人體信號,當發(fā)現(xiàn)有人時并且水溫低于閾值時,進行加熱(繼電器A),否則不加熱。
2、接水口為固定區(qū)域,紅外傳感器檢測是否有水杯,超聲波傳感器檢測水杯里的水位高度。當有水杯時(檢測到紅外信號),開始加水(繼電器B啟動),當超聲波距離小于預設值(程序中設定),停止加水。
3、水位傳感器檢測飲水機內(nèi)水位,當飲水機水位較低時,發(fā)出蜂鳴器提示儲水不足。
4、顯示屏幕顯示數(shù)據(jù)信息(超聲波距離、 水溫、水位)。
5、通過按鍵設置水溫,按鍵1:設置鍵;按鍵2:加一鍵;按鍵3:減一鍵。
主要物料清單及型號:
顯示屏:LCD1602-5V;
單片機:STM32F103C8T6;
超聲波測距模塊:HC-SR04;
紅外人體傳感器:SR602;
繼電器:SRD-05V;
蜂鳴器:5V有源蜂鳴器;
原理圖:

實物圖1:

設計資料:
元器件清單:

程序:
int main(void)
{
u8 key_value;
delay_init(); //延時函數(shù)初始化
uart_init(9600); //串口初始化為9600
TIM3_Cap_Init(1,72-1); //以1Mhz的頻率計數(shù),第一個選項,最小只能是1
TIM2_Int_Init(499,7199);//10Khz的計數(shù)頻率,計數(shù)到1000為100ms
// LED_Init(); //初始化與LED連接的硬件接口
BEEP_Init();
KEY_Init(); //初始化按鍵
RELAY_Init();
Adc_Init();
Lcd_GPIO_init(); //初始化lcd引腳
Lcd_Init(); //初始化lcd屏幕
UltrasonicWave_Configuration(); //初始化超聲IO
delay_ms(200);
cool_relay=0;
while(1)
{
key_value=KEY_Scan(0);
key_Handle(key_value);
APP_Handle();
if(PEOPLE==1)
{
people_flag=10;
}
if(disFlag>10) //顯示標志
{
disFlag = 0;
if(people_flag>0)
people_flag--;
ceju(); //獲取水位
water=Get_Adc_Average(9,10)/40;
temperature=(float)DS18B20_Get_Temp()+7; //縮小10倍為實際值
if(settemp>temperature&&people_flag>0)
{
heat_relay=0;
}
else
{
heat_relay=1;
}
if(S>10&&HR==0)
{
cool_relay=0;
}
else
{
cool_relay=1;
}
if(water<10)
{
BEEP=!BEEP;
}
else
BEEP=1;
if(set==0)
display();
????}??
}
}??
-
繼電器
+關注
關注
133文章
5501瀏覽量
153320 -
單片機
+關注
關注
6072文章
45267瀏覽量
661164 -
STM32
+關注
關注
2301文章
11096瀏覽量
369997
原文標題:基于stm32單片機的多功能水杯設計
文章出處:【微信號:單片機Protues仿真,微信公眾號:單片機Protues仿真】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
基于單片機的溫控水杯的設計
多功能智能水杯的設計資料分享
如何利用51單片機實現(xiàn)智能水杯系統(tǒng)的設計
基于單片機智能水杯源程序與Proteus仿真
多功能智能水杯設計方案
基于單片機的智能水杯系統(tǒng)
基于單片機的盲人專用綜合型智能水杯

基于STM32單片機的多功能水杯設計
評論