資料介紹
描述
背景
夏天到了!夏天來了……特別是在我的臥室里。問題是,在陽光明媚的一天后該睡覺的時(shí)候,我臥室的溫度在 30°C 以上,但當(dāng)我早上醒來時(shí),卻是冰冷的。解決方法:溫控風(fēng)扇!這個(gè)想法是有一個(gè)風(fēng)扇,可以在晚上最大限度地提高空氣流通,并隨著溫度的下降逐漸降低速度。此外,最好有一個(gè)顯示當(dāng)前溫度和溫度歷史的顯示器。
托伊特
與其浪費(fèi)寶貴的時(shí)間設(shè)置外圍設(shè)備和通信,我們將在這個(gè)上選擇 Toit。這為構(gòu)建增加了獨(dú)特的響應(yīng)能力。借助 Toit 平臺,開發(fā)人員可以將 ESP32 視為普通計(jì)算機(jī),使用系統(tǒng)內(nèi)置的 OTA 功能并行安裝多個(gè)應(yīng)用程序。由于 Toit 使用高級語言,因此可以輕松測試功能和應(yīng)用程序,而 Toit 平臺可確保設(shè)備無論如何都能正常運(yùn)行。
開始使用 Toit
首先,您需要獲得一個(gè) Toit 帳戶并使用 Toit 配置您的 ESP32:在toit.io上單擊“立即開始”獲得一個(gè)免費(fèi)的 Toit 帳戶。

登錄后,轉(zhuǎn)到文檔并按照快速入門指南在您的計(jì)算機(jī)上安裝 Toit
請注意,您可以使用 Web 用戶界面輕松配置 ESP32
注意:配置 ESP32 后,它會上線并且不需要連接到您的計(jì)算機(jī),除非您想通過 USB 為其供電。所有通信都通過 Toit 云進(jìn)行。
現(xiàn)在你已經(jīng)準(zhǔn)備好連接一些硬件了!
連接硬件
在下面,您將看到所有連接的 Fritzing 電路。請注意,L298H 板上的 5VEN 跳線應(yīng)閉合。這意味著該板將由 6V 電池組供電。另外,在直流電機(jī)的端子之間加一個(gè) 0.1 uF 的電容。這減少了由電機(jī)引起的電噪聲。

使用了以下 ESP32 GPIO 引腳:
- GPIO 16 - L298H 電機(jī)驅(qū)動板上的 IN1 引腳
- GPIO 17 - L298H 電機(jī)驅(qū)動板上的 IN2 引腳
- GPIO 19 - L298H 電機(jī)驅(qū)動板上的 ENA(啟用)引腳
- GPIO 21 - BME280 傳感器板和 OLED 顯示屏上的 SDA
- GPIO 22 - BME280 傳感器板和 OLED 顯示屏上的 SCL
L298H 上的 IN1(輸入 1)和 IN2(輸入 2)控制電機(jī)旋轉(zhuǎn)方向如下:

ENA(啟用)啟動和停止電機(jī)。如果將 PWM 信號應(yīng)用于此輸入,則電機(jī)以相應(yīng)的速度旋轉(zhuǎn)。請注意,如果 PWM 設(shè)置得非常低,電機(jī)將不會啟動,并且您可能會聽到它發(fā)出滴答聲,因?yàn)檩斎腚姍C(jī)的功率不足以使其旋轉(zhuǎn)。對于此設(shè)置,PWM > 0.16 足以啟動發(fā)動機(jī)。
BME280 傳感器和 ESP32 通過 I2C 進(jìn)行通信,由于 Toit 為該傳感器提供了驅(qū)動程序,因此使用它非常簡單:只需將其連接到相應(yīng)的 GPIO 即可。OLED 顯示屏也是如此:只需將 SDA 和 CLK 連接到相應(yīng)的 GPIO,就可以了。但是,市面上有大量基于 SSD1306 的 OLED 顯示器,它們可能有不同的功率要求。此構(gòu)建中使用的電路板需要 5V 至 Vin。3.3V 是不夠的。在此處閱讀更多信息:https ://learn.adafruit.com/monochrome-oled-breakouts/power-requirements
托特守則
首先,我們需要安裝 OLED 顯示屏和 BME280 傳感器所需的軟件包。在命令提示符下,在 Toit 代碼所在的文件夾中,運(yùn)行以下命令:
$ toit pkg init --app
$ toit pkg install pixel_display
$ toit pkg install ssd1306
這個(gè)項(xiàng)目的實(shí)際代碼相對簡單。整個(gè)代碼可在GitHub 上獲得。以下摘錄用于說明具體功能。
BME280 傳感器和 OLED 顯示器共享相同的 I2C 總線,分別使用兩個(gè)不同的地址:0x77 和 0x3d。請注意,您的硬件可能使用不同的地址,如果是這樣,則必須相應(yīng)地更改代碼。
scl := gpio.Pin 22
sda := gpio.Pin 21
bus := i2c.Bus
--sda=sda
--scl=scl
oled := SSD1306 (bus.device 0x3d)
thp_device := bus.device 0x77
用于風(fēng)扇速度控制的引腳 (GPIO 19) 必須設(shè)置為 PWM:
pwm := gpio.Pwm
--frequency=50
chan1 := pwm.start
gpio.Pin 19
此外,控制風(fēng)扇方向的引腳(GPIO 16 和 17)應(yīng)設(shè)置為輸出引腳:
//set up fan direction control pins
in1 := gpio.Pin.out 16
in2 := gpio.Pin.out 17
//Set direction of fan
in1.set 0
in2.set 1
為了實(shí)現(xiàn)可變風(fēng)扇速度,我們將合適的溫度區(qū)間(例如 25°C 到 30°C)映射到 PWM 占空比區(qū)間 [0.0...1.0]:
input_start := 25.0
input_end := 30.0
output_start := 0.0
output_end := 1.0
df = (temp - input_start) / (input_end - input_start) * (output_end - output_start) + output_start
此外,為了獲得一個(gè)漂亮的溫度歷史直方圖,我們將合適的溫度區(qū)間 [20...35] 映射到某個(gè)直方圖高度,然后將溫度讀數(shù)添加到直方圖:
//Mapping of temp to histogram range
histo_input_start := 20.0
histo_input_end := 35.0
histo_output_start := 5.0
histo_output_end := 50.0
histo_data = (temp - histo_input_start) / (histo_input_end - histo_input_start) * (histo_output_end - histo_output_start) + histo_output_start
要在 ESP32 上安裝應(yīng)用程序,您只需部署 yaml 文件:
$ toit device -d nameofmydevice deploy tempfan.yaml
Yaml 文件
Toit 使用 .yaml 文件來安排何時(shí)應(yīng)在 ESP32 上執(zhí)行 Toit 代碼。在這個(gè)項(xiàng)目中,當(dāng)我們安裝它時(shí),應(yīng)用程序應(yīng)該會立即連續(xù)運(yùn)行,如果 ESP32 重啟也是如此。我們將應(yīng)用程序命名為“ Fan Control ”并指向包含 Toit 代碼的文件:
name: "Fan Control"
entrypoint: tempfan.toit
triggers:
on_install: true
on_boot: true
要訪問整個(gè)代碼,請?jiān)L問GitHub 。
?
?
- 樂鑫ESP32-S2_技術(shù)規(guī)格書
- 樂鑫ESP32-S2_技術(shù)參考手冊
- 樂鑫ESP32-MINI-1參考設(shè)計(jì)
- 樂鑫ESP32-S2-SOLO參考設(shè)計(jì)
- 樂鑫ESP32-S2-SOLO-U參考設(shè)計(jì)
- 樂鑫ESP32-S2-MINI-1參考設(shè)計(jì)
- 樂鑫ESP32-S2-MINI-1U參考設(shè)計(jì)
- 樂鑫ESP32-S2-WROOM-V1.6參考設(shè)計(jì)
- 樂鑫ESP32-S2-WROVER-V1.6參考設(shè)計(jì)
- 樂鑫ESP32-S2-SOLO_&U技術(shù)規(guī)格書
- 樂鑫ESP32-S2-WROOM_&I技術(shù)規(guī)格書
- 樂鑫ESP32-S2-WROVER_&I技術(shù)規(guī)格書
- esp32s下載電路原理圖下載 28次下載
- 溫控風(fēng)扇原理圖修改版參考下載 0次下載
- 溫控風(fēng)扇原理圖參考案例下載 67次下載
- ESP32能取代STM32嗎?哪個(gè)更好? 1.9w次閱讀
- ESP32-C3 WIFI的工作模式 7.1k次閱讀
- 什么是ESP32-CAM攝像頭? 3.1w次閱讀
- 基于ESP32的簡易web服務(wù)器設(shè)計(jì) 5.2k次閱讀
- 使用ESP32實(shí)現(xiàn)UDP通信的方法 8.7k次閱讀
- ESP32使用MiroPython編程環(huán)境搭建 5.2k次閱讀
- 基于ESP32制造有趣的超級馬里奧主題時(shí)鐘 7.1k次閱讀
- ESP8266/ESP32自動下載原理 6.5k次閱讀
- 基于ESP-WROOM-32E專為IoT設(shè)計(jì)的FireBeetle ESP32-E主控板介紹 6.3k次閱讀
- ESP32的數(shù)字遙測實(shí)現(xiàn) 2.7k次閱讀
- dfrobotBeetle-ESP32控制器簡介 3.8k次閱讀
- 一種簡易PWM溫控風(fēng)扇電路設(shè)計(jì) 8.9w次閱讀
- 風(fēng)扇電機(jī)溫控電路 6.5k次閱讀
- 電風(fēng)扇溫控電路圖 10k次閱讀
- 電風(fēng)扇加裝溫控器電路圖 8.4k次閱讀
下載排行
本周
- 1新一代網(wǎng)絡(luò)可視化(NPB 2.0)
- 3.40 MB | 1次下載 | 免費(fèi)
- 2冷柜-電氣控制系統(tǒng)講解
- 13.68 MB | 1次下載 | 10 積分
- 3MDD品牌三極管MMBT3906數(shù)據(jù)手冊
- 2.33 MB | 次下載 | 免費(fèi)
- 4MDD品牌三極管S9012數(shù)據(jù)手冊
- 2.62 MB | 次下載 | 免費(fèi)
- 5LAT1218 如何選擇和設(shè)置外部晶體適配 BlueNRG-X
- 0.60 MB | 次下載 | 3 積分
- 6LAT1216 Blue NRG-1/2 系列芯片 Flash 操作與 BLE 事件的互斥處理
- 0.89 MB | 次下載 | 3 積分
- 7收音環(huán)繞擴(kuò)音機(jī) AVR-1507手冊
- 2.50 MB | 次下載 | 免費(fèi)
- 8MS1000TA 超聲波測量模擬前端芯片技術(shù)手冊
- 0.60 MB | 次下載 | 免費(fèi)
本月
- 1愛華AIWA HS-J202維修手冊
- 3.34 MB | 37次下載 | 免費(fèi)
- 2PC5502負(fù)載均流控制電路數(shù)據(jù)手冊
- 1.63 MB | 23次下載 | 免費(fèi)
- 3NB-IoT芯片廠商的資料說明
- 0.31 MB | 22次下載 | 1 積分
- 4UWB653Pro USB口測距通信定位模塊規(guī)格書
- 838.47 KB | 5次下載 | 免費(fèi)
- 5蘇泊爾DCL6907(即CHK-S007)單芯片電磁爐原理圖資料
- 0.04 MB | 4次下載 | 1 積分
- 6蘇泊爾DCL6909(即CHK-S009)單芯片電磁爐原理圖資料
- 0.08 MB | 2次下載 | 1 積分
- 7100W準(zhǔn)諧振反激式恒流電源電路圖資料
- 0.09 MB | 2次下載 | 1 積分
- 8FS8025B USB的PD和OC快充協(xié)議電壓誘騙控制器IC技術(shù)手冊
- 1.81 MB | 1次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191439次下載 | 10 積分
- 5十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183353次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81602次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73822次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評論