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