MicroPython 專案: MQTT 競速小車

Yungger
4 min readOct 24, 2022

今天拿之前上課中的微型競速車改裝, 直接將 “MicroPython 專案: MQTT 搬運車” 專案的設定檔與在主程式中接收 MQTT Client 的指令稍微調整了一下 (簡單的把調速與轉向的控制邏輯加入), 來展示使用 MicroPython 如此簡單系列所介紹的元件, 將原先的搬運機器人以簡潔 Low Code 開發與快速建置方式就修改成競速小車了 !!

⭐️ 基本上整個專案只須調整 my_config.py , 其他是不需再寫任何程式碼的 !

* 專案的建置 *

STEP 1: 材料與配線

成品如封面或影片所示

STEP 2: 下載專案檔案

***如果需要進一步了解如何上傳檔案至 MCU 的方法, 建議您可先參考我的另一篇 “MicroPython 如此簡單: 檔案管理”. **

雲端下載 -> 解壓縮 -> 上傳至 MCU

STEP 3: 修改 my_config.py 的設定值

  • 依據你的環境, 視需要修改設定值, 例如 Wifi 連線, MQTT 的主題, 以及周邊腳位 GPIO 編號
wifi_ssid: YOUR—WIFI—SSID
wifi_pwsd: YOUR—WIFI—Password
mqtt_server: YOUR-MQTT-SERVER
mqtt_topic: ‘YOUR-MQTT-TOPIC/#’
led: 16
servo: 0
m1: 14
m2: 12

STEP 4: 使用 MQTT Client 發送控制指令

  • 你可使用任何你習慣使用的 MQTT Client, 只要控制指令與 main.py 的 callback 函式中所設定相同即可, 例如下圖的指令集。
左圖是使用 MQTT-Dashboard 來當作 Client 發送控制指令 !

❤️ That’s it, all done !! 是不是夠簡單就完成一台小車!!

若你想要想用改其他 MCU 例如 (ESP32), 接不同的 GPIO 腳位, 改連網或 MQTT 主機, … 你可以修改 my_config.py 就可達成需求. 即使你想在專案加上其他特殊的控制邏輯, 你就可以修改 main.py 中的 MQTT callback 函式中的指令控制部分即可。

* DEMO: Play Fun *

^_^ 因家裡客廳太亂太小, 跑起來發現全會曝光, 所以將車子架高錄影, 基本是動作都是一樣的 !

STEP 1: 啟動小車後, 方向輪會往左右極限轉動一下, 表示動力與轉向系統 Ready !

STEP 2: 接下來, LED 會閃爍, 表示 Wifi 與 MQTT 連線都已 Ready, 允許開始傳送控制指令 !!

STEP 3: 可控制舵機轉向, 馬達轉速, LED, 與九宮格方向.

最後右上角則是離線與關機按鈕, 點選會將方向盤轉正, 釋放舵機與馬達避免被鎖死, 並退出網路 !!

https://youtu.be/8YzXCmiRGEA

如此而已, 就是這麼簡單, 希望能對你/妳有了一點點小幫助 !

作者:Yungger 勇哥

若覺得此文真對您有幫助, 點點左上方的拍手圖示, 鼓勵一下。若還想 請喝杯咖啡 鼓勵一下勇哥的繼續創作, 也感謝 😘 😘 !!

--

--