硬件建設(shè)
我選擇了 esp-01f,它自帶 1MB 閃存,比 ATTINY 85 大 128 倍。除此之外,它還具有 WiFi、UART 等功能,時(shí)鐘速度高達(dá) 160MHz。即使對(duì)于這個(gè)特定項(xiàng)目無(wú)關(guān)緊要,我們也可以調(diào)整規(guī)格以使溫度計(jì)看起來(lái)更堅(jiān)固。
但它確實(shí)有成本,esp-01f 是一個(gè)非常耗電的模塊,因?yàn)樗哂邪遢d wifi 連接,但是通過將模塊置于深度睡眠狀態(tài)可以大大降低這種功耗,根據(jù)該模塊的功耗僅為 20uA。數(shù)據(jù)表。
其他組件與溫度計(jì)版本 1 類似。對(duì)于顯示器,我將使用相同的 0.91 英寸 128X32 OLED 顯示器,用于溫度傳感器 DS18B20 探頭,最后為電池使用 150MAh 小型鋰電池。
另外為了讓它更強(qiáng)大,我選擇了 CP2012。這是硅實(shí)驗(yàn)室的 USB 到串行轉(zhuǎn)換器,主要用于 NodeMCU 和 ESP32 開發(fā)板,與 FTDI 相比,它們的價(jià)格相當(dāng)適中,而且 IC 封裝的尺寸非常小,非常適合我們的設(shè)備。
最后,還有一個(gè)問題,鋰聚合物電池。由于它是可充電電池,因此我們需要為其充電。我們可以做到這一點(diǎn)的一種方法是將電池取出并充電,并在完成后重新安裝。但這讓我們又回到了老問題。開始笨拙而不優(yōu)雅。因此,我們將添加一個(gè) tp4056 IC 和一個(gè)微型 USB 以具有板載充電電路。
Web開發(fā)(代碼見附件)
我有點(diǎn)討厭 Web 開發(fā),但無(wú)論如何我還是設(shè)法用 WebSockets 構(gòu)建了一個(gè)草率的網(wǎng)頁(yè),以顯示來(lái)自溫度傳感器的一些實(shí)時(shí)溫度讀數(shù)。它不使用任何花哨的庫(kù)或花哨的框架。它是用 HTML、CSS 和 Vanilla Javascript(代碼)編寫的。
3D打印(文件見附件)
我測(cè)量了 PCB 的確切尺寸并開始設(shè)計(jì)一個(gè)簡(jiǎn)單優(yōu)雅的外殼,同時(shí)仍然設(shè)法像版本 1 一樣輕松訪問電路而無(wú)需任何緊固件。
然后剩下的就是 3D 打印和組裝!
- 打印機(jī) - Ender 3v2(Cura 切片機(jī))
- 支持 - 開啟
- 層高 - 0.2mm
- 燈絲 - PLA+
- 噴嘴溫度 - 210c
- 噴嘴加熱床 - 72c
工作原理:
只需單擊頂部按鈕,這將重置 esp 并將其從睡眠模式中喚醒。一旦設(shè)備處于活動(dòng)狀態(tài),它將打開我們可以連接的接入點(diǎn)。連接后打開任何網(wǎng)絡(luò)瀏覽器并搜索代碼中分配的 IP 地址或通過搜索“ http://temperature.local ”。就是這樣,現(xiàn)在我們可以通過單擊開始來(lái)測(cè)量溫度,并在網(wǎng)頁(yè)上查看實(shí)時(shí)數(shù)據(jù)。
您也可以通過單擊睡眠按鈕使溫度計(jì)進(jìn)入睡眠狀態(tài)。這將清除顯示并使溫度計(jì)進(jìn)入深度睡眠。
如果設(shè)備開啟超過一分鐘且沒有人連接到網(wǎng)頁(yè),設(shè)備將自動(dòng)進(jìn)入深度睡眠以節(jié)省電量。
有關(guān)本項(xiàng)目的電路圖、3D文件、代碼等資料請(qǐng)見附件中下載。