用ESP32-C3做一個運動按鈕

派大星ym發表於2022-11-24

你會用一個按鈕做些什麼呢?

開啟一個燈光?

一個門鈴?

還是讓人運動起來?



按鈕有很多種,但我最喜歡街機按鈕,因為它們通常有很好的觸感,“咔噠”的感覺。我的工具箱裡有幾個街機按鈕,我一直想用它們做點什麼。有一天我靈光閃現,可以利用按鈕DIY一個運動裝置。我將製作 4 個運動按鈕,一個作為主節點,帶有支援選單顯示的螢幕,另外三個作為從節點,透過ESP-NOW協議通訊。它們都基於 ESP32-C3。



材料清單:

ESP32-C3x4

OLED螢幕

數字蜂鳴器x4

3.7V電池x4

WS2812燈珠x4

遊藝機按鍵x4

電源開關x4

外殼x4



電路連線:

蜂鳴器連線在第(6)介面上

按鈕接線連線在第(5)介面上

ws2812連在第(0)介面上

螢幕連線到I2C介面上

此應用共有4個節點,包含1個主節點和3個從節點,主節點與從節點的區別在於多一個螢幕


硬體組裝:

焊接WS2812燈珠(按照GND,VCC,訊號的順序焊接起來)

焊接3.7V充電鋰電池

透過Gravity介面快速連線:螢幕/蜂鳴器—ESP32-C3

在塑膠外殼上切割出Type-C/螢幕/開關/按鈕的切口

安裝遊藝機按鍵

安裝電源開關

安裝螢幕

利用熱熔膠固定電池/蜂鳴器

固定ESP32-C3

合上蓋子,擰上螺絲

至此已經完成主節點的製作,還需重複上述步驟完成另外3個從節點的製作(從節點不包含螢幕)


上傳程式

此應用主從節點之間透過ESP-NOW協議通訊,想要透過NOW協議進行通訊,還需要獲取每個ESP32-C3的唯一MAC地址,這樣才知道將資訊傳送到哪個裝置。

把程式裡的MAC地址修改為自己的,然後上傳


展示玩法:

簡單說下游戲規則的設定

在程式裡,我預設了三個模式,可以用短按來選擇,長按2秒來確認選擇。需要切換的時候,隨時可以用長按來進入選單。

模式1-是打地鼠模式

這個模式下,會隨機在4個運動按鈕上出現紅色,需要再最短時間內按下,才能獲得成績。

模式2-是接力模式

在這個模式下,每按一次運動按鈕上出現的綠色按鈕,下一個運動按鈕就會變成綠色。

模式3-是隨機模式

在這個模式下,我們按下運動按鈕,就會隨機的選擇一個運動按鈕。如果不知道選誰時,可以讓機器幫你決定。

還有單個節點的摸高玩法


ESP-NOW延時測試

為確認NOW協議可以滿足通訊要求,這樣做了一個基本的ESP-NOW通訊延時測試,記錄節點向另一節點傳送資訊並收到返回資訊的時間,發射和接收資訊的延時是4ms左右,單向傳播的延時約為2ms左右,相當於1/100秒。



我猜此刻你一定是坐著,眼睛注視著螢幕吧!

長時間的久坐,你的腰還好嗎?

快起來活動活動,放鬆一下吧!



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70015303/viewspace-2924883/,如需轉載,請註明出處,否則將追究法律責任。

相關文章