基于單片機(jī)的智能風(fēng)扇DIY總結(jié)【2020.06每月一練活動】
掃描二維碼
隨時隨地手機(jī)看文章
經(jīng)過一個月的時間,我們的第一次 “每月一練” 活動DIY內(nèi)容完成了。
自從開號已經(jīng)兩個半月了,本號每天都有新的讀者關(guān)注,也是你們的支持,讓我分享的網(wǎng)文綜合到一起,可以實現(xiàn)“智能風(fēng)扇”這樣一個綜合實例。
感謝期間各位朋友對本人公眾號文章的宣傳,你們的每一次“在看”、轉(zhuǎn)發(fā)和贊賞,都是對我勞動成果的認(rèn)可,是我繼續(xù)前進(jìn)的動力,也希望各位朋友能一如既往的支持小哈,在此,小哈謝謝各位的支持,我會繼續(xù)努力分享網(wǎng)文,帶領(lǐng)各位從0走到1,走進(jìn)嵌入式開發(fā)的大門。
下面我對“智能風(fēng)扇”中涉及到的知識點進(jìn)行梳理,方便大家對照代碼和電路圖進(jìn)行學(xué)習(xí),有不清楚的地方,可以加我微信號:chengxuyuanxiaoha(程序員小哈的全拼),大家一起學(xué)習(xí),一起進(jìn)步。
功能梳理
PCB線路板采用核心板+底板實現(xiàn)
核心板:排針引腳間距為2.54mm,2排,雙排間距為2.54mm的倍數(shù)(方便與面包板聯(lián)用),未使用引腳全部引出,核心板上的主芯片為STM32F103RET6。
目的:
方便與面包板配合使用; 核心板上預(yù)留兩個2.54mm間距,4腳座和5腳座,部分傳感器模塊只需要這兩個底座既可以實現(xiàn)模塊功能。 核心板上的主芯片相對較貴,做成核心板之后,可以重復(fù)利用,方便大家一起跟著做,以后我們只需要修改底板的設(shè)計即可。
上圖中各個模塊簡要說明:
-
標(biāo)號1為ESP8266 WiFi模塊,用于實現(xiàn)與阿里云物聯(lián)網(wǎng)平臺連接,實現(xiàn)風(fēng)扇的遠(yuǎn)程控制功能; -
標(biāo)號2為使用三極管實現(xiàn)風(fēng)扇的控制; -
標(biāo)號3為使用光耦+mos管的方式實現(xiàn)風(fēng)扇的控制; -
標(biāo)號4為電源座; -
標(biāo)號5為底板上的5個按鍵,從下到上,按鍵功能分別為:風(fēng)速+、風(fēng)速-、風(fēng)扇開關(guān)、風(fēng)扇開及風(fēng)扇關(guān); -
標(biāo)號6為核心板上預(yù)留的按鍵,用于實現(xiàn)模式的切換,本系統(tǒng)分為三個模式,默認(rèn)為模式0,底板上的按鍵功能為上面的描述;模式1為修改系統(tǒng)時間功能,底板上的前三個按鍵用于調(diào)節(jié)實時時間的時分秒;模式2為修改定時時間功能,底板上的前三個按鍵用于調(diào)節(jié)定時時間的時分秒; -
標(biāo)號7為JATG下載STM32程序接口,SW模式,只需要三個引腳即可; -
標(biāo)號8為Micro USB底座,通過CH340C芯片與STM32的串口1相連,串口1一般用于系統(tǒng)調(diào)試信息的打??; -
標(biāo)號9為電源選擇方式跳線,當(dāng)使用跳線帽短接時,系統(tǒng)供電來自于Micro USB接口;當(dāng)跳線帽拔掉后,系統(tǒng)供電來源于標(biāo)號4的電源座; -
標(biāo)號10為紅外接收頭; -
標(biāo)號11為OLED屏; -
標(biāo)號12為DS18B20溫度傳感器模塊,預(yù)留了兩種接口,直插和防水線式DS18B20溫度傳感器都可以與底板連接。
后臺回復(fù)關(guān)鍵詞“每月一練”可以獲得PCB工程文件,將下圖框選的文件發(fā)給線路板加工廠家,可以直接打樣。兩個板子在嘉立創(chuàng)十元錢就可以搞定。
參考閱讀:
STM32單片機(jī)最小系統(tǒng)詳解
-
風(fēng)扇調(diào)速功能
采用PWM調(diào)速的原理來實現(xiàn)風(fēng)扇速度的控制,四擋風(fēng)速的占空比分別為:15%、30%、60%和100%。
當(dāng)風(fēng)速選擇0時,進(jìn)入自動模式,溫度分為22℃以下、22到25℃、25到28℃及28℃以上四個區(qū)間,對應(yīng)風(fēng)速的四個檔位;
為了控制簡單,大家可以安全操作,我們本次選用一個DC5V的風(fēng)扇作為演示使用。
風(fēng)扇調(diào)速原理,參考閱讀:
利用PWM原理,實現(xiàn)呼吸燈功能
-
溫度傳感器 DS18B20
用來測量環(huán)境溫度,實現(xiàn)自動功能。
STM32驅(qū)動DS18B20溫度傳感器,參考閱讀:
DS18B20溫度傳感器時序圖解析(STM32)
-
WiFi模塊
選用ESP8266 WiFi模塊,連接阿里云物聯(lián)網(wǎng)平臺。
功能:手機(jī)APP控制風(fēng)扇的開啟和關(guān)閉,風(fēng)扇檔位及實時室溫顯示。
ESP8266 WiFi模塊的使用及連接阿里云物聯(lián)網(wǎng)平臺,參考閱讀:
mini D1 WiFi模塊Arduino開發(fā)簡介
七步快速開啟產(chǎn)品智能化
ESP8266連接阿里云物聯(lián)網(wǎng)平臺(Arduino方式)
Windows下AliOS Things環(huán)境搭建及ESP8266 固件下載
快速接入阿里云物聯(lián)網(wǎng)平臺技術(shù)方案分享
-
串口通信 STM32的串口1作為Debug串口; 串口5與ESP8266進(jìn)行數(shù)據(jù)通信。
STM32串口通信的使用方法,參考閱讀:
STM32F103 串口的使用方法
物聯(lián)網(wǎng)模塊ESP8266返回的數(shù)據(jù)格式為JSON字符串,對此字符串進(jìn)行解析,參考閱讀:
Keil環(huán)境下STM32工程加入cJSON
用cJSON解析心知天氣返回的數(shù)據(jù)包
-
按鍵
實現(xiàn)切換手動或者自動模式;調(diào)節(jié)檔位,檔位加、檔位減、切換(手動模式和自動模式切換)。
按鍵功能實現(xiàn),參考閱讀:
Proteus仿真STM32實例:簡易搶答器
-
LCD顯示
選用0.96寸 OLED屏 顯示內(nèi)容:當(dāng)前溫度、工作模式和檔位模式。
參考閱讀:
STM32驅(qū)動0.96寸OLED液晶屏
OLED液晶屏如何顯示中文呢?
-
RTC
STM32自帶RTC功能,選用此功能為了實現(xiàn)定時模式。
此部分文章暫未介紹
-
紅外遙控
功能:實現(xiàn)紅外遙控功能;
參考閱讀:
紅外遙控功能的實現(xiàn)
-
LED
作用:
電源指示燈 系統(tǒng)調(diào)試使用
LED驅(qū)動功能實現(xiàn),參考閱讀:
4行代碼實現(xiàn)LED閃爍
完成了本設(shè)計之后,考慮一下實現(xiàn)的功能,其實這個設(shè)計完全可以改成“智能霧化器”,功能跟本設(shè)計基本相同,只需要將DS18B20溫度傳感器更換為溫濕度傳感器即可,使用PWM功能可以實現(xiàn)霧化量的控制。
溫濕度傳感器的使用,參考閱讀:
DHT11及DHT21溫濕度傳感器時序圖解析(STM32)
成果展示
資料獲取
微信公眾號后臺回復(fù)“每月一練”,可以下載智能風(fēng)扇的工程源碼、PCB圖及原理圖資料。
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!