資料介紹
描述
背景
夏天到了!夏天來了……特別是在我的臥室里。問題是,在陽(yáng)光明媚的一天后該睡覺的時(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 平臺(tái),開發(fā)人員可以將 ESP32 視為普通計(jì)算機(jī),使用系統(tǒng)內(nèi)置的 OTA 功能并行安裝多個(gè)應(yīng)用程序。由于 Toit 使用高級(jí)語言,因此可以輕松測(cè)試功能和應(yīng)用程序,而 Toit 平臺(tái)可確保設(shè)備無論如何都能正常運(yùn)行。
開始使用 Toit
首先,您需要獲得一個(gè) Toit 帳戶并使用 Toit 配置您的 ESP32:在toit.io上單擊“立即開始”獲得一個(gè)免費(fèi)的 Toit 帳戶。
登錄后,轉(zhuǎn)到文檔并按照快速入門指南在您的計(jì)算機(jī)上安裝 Toit
請(qǐng)注意,您可以使用 Web 用戶界面輕松配置 ESP32
注意:配置 ESP32 后,它會(huì)上線并且不需要連接到您的計(jì)算機(jī),除非您想通過 USB 為其供電。所有通信都通過 Toit 云進(jìn)行。
現(xiàn)在你已經(jīng)準(zhǔn)備好連接一些硬件了!
連接硬件
在下面,您將看到所有連接的 Fritzing 電路。請(qǐng)注意,L298H 板上的 5VEN 跳線應(yīng)閉合。這意味著該板將由 6V 電池組供電。另外,在直流電機(jī)的端子之間加一個(gè) 0.1 uF 的電容。這減少了由電機(jī)引起的電噪聲。
使用了以下 ESP32 GPIO 引腳:
- GPIO 16 - L298H 電機(jī)驅(qū)動(dòng)板上的 IN1 引腳
- GPIO 17 - L298H 電機(jī)驅(qū)動(dòng)板上的 IN2 引腳
- GPIO 19 - L298H 電機(jī)驅(qū)動(dòng)板上的 ENA(啟用)引腳
- GPIO 21 - BME280 傳感器板和 OLED 顯示屏上的 SDA
- GPIO 22 - BME280 傳感器板和 OLED 顯示屏上的 SCL
L298H 上的 IN1(輸入 1)和 IN2(輸入 2)控制電機(jī)旋轉(zhuǎn)方向如下:
ENA(啟用)啟動(dòng)和停止電機(jī)。如果將 PWM 信號(hào)應(yīng)用于此輸入,則電機(jī)以相應(yīng)的速度旋轉(zhuǎn)。請(qǐng)注意,如果 PWM 設(shè)置得非常低,電機(jī)將不會(huì)啟動(dòng),并且您可能會(huì)聽到它發(fā)出滴答聲,因?yàn)檩斎腚姍C(jī)的功率不足以使其旋轉(zhuǎn)。對(duì)于此設(shè)置,PWM > 0.16 足以啟動(dòng)發(fā)動(dòng)機(jī)。
BME280 傳感器和 ESP32 通過 I2C 進(jìn)行通信,由于 Toit 為該傳感器提供了驅(qū)動(dòng)程序,因此使用它非常簡(jiǎn)單:只需將其連接到相應(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í)際代碼相對(duì)簡(jiǎn)單。整個(gè)代碼可在GitHub 上獲得。以下摘錄用于說明具體功能。
BME280 傳感器和 OLED 顯示器共享相同的 I2C 總線,分別使用兩個(gè)不同的地址:0x77 和 0x3d。請(qǐng)注意,您的硬件可能使用不同的地址,如果是這樣,則必須相應(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)該會(huì)立即連續(xù)運(yùn)行,如果 ESP32 重啟也是如此。我們將應(yīng)用程序命名為“ Fan Control ”并指向包含 Toit 代碼的文件:
name: "Fan Control"
entrypoint: tempfan.toit
triggers:
on_install: true
on_boot: true
要訪問整個(gè)代碼,請(qǐng)?jiān)L問GitHub 。
?
?
- 樂鑫ESP32-S2_技術(shù)規(guī)格書
- 樂鑫ESP32-S2_技術(shù)參考手冊(cè)
- 樂鑫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ī)格書
- esp32-s3_datasheet
- 溫控風(fēng)扇原理圖修改版參考下載 0次下載
- 溫控風(fēng)扇原理圖參考案例下載 65次下載
- ESP32能取代STM32嗎?哪個(gè)更好? 2373次閱讀
- ESP32-C3 WIFI的工作模式 4478次閱讀
- 什么是ESP32-CAM攝像頭? 2.1w次閱讀
- 基于ESP32的簡(jiǎn)易web服務(wù)器設(shè)計(jì) 3300次閱讀
- 使用ESP32實(shí)現(xiàn)UDP通信的方法 5723次閱讀
- ESP32使用MiroPython編程環(huán)境搭建 2690次閱讀
- 基于ESP32制造有趣的超級(jí)馬里奧主題時(shí)鐘 4021次閱讀
- ESP8266/ESP32自動(dòng)下載原理 4249次閱讀
- 基于ESP-WROOM-32E專為IoT設(shè)計(jì)的FireBeetle ESP32-E主控板介紹 4608次閱讀
- ESP32的數(shù)字遙測(cè)實(shí)現(xiàn) 1521次閱讀
- dfrobotBeetle-ESP32控制器簡(jiǎn)介 2695次閱讀
- 一種簡(jiǎn)易PWM溫控風(fēng)扇電路設(shè)計(jì) 8.3w次閱讀
- 風(fēng)扇電機(jī)溫控電路 5641次閱讀
- 電風(fēng)扇溫控電路圖 8823次閱讀
- 電風(fēng)扇加裝溫控器電路圖 7426次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多