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