智慧小車 L298N:WiFi 遠端控制

Yungger
5 min readMay 21, 2021

主要材料準備

  • 開發板:ESP8266 或 ESP32
  • 馬達模組:L298N
  • 輪組:TT 減速馬達+輪子
  • 車體
  • 鋰電池
  • Wifi 遙控 App (以 ESP8266 WiFi Robot Car 為例)

下載與安裝函式庫

首先, 必須先上傳下面的函式庫到 MCU 板子上:

  • MyKitL298N : 馬達驅動模組 L298N 控制的函式庫
  • MyKitCar : 智慧小車通用控制器的函式庫 (不需要, 如果想直接用 MyKitL298N 控制個別馬達的轉速與轉向時)
  • MyWebServer : 架設與管理網站伺服器的函式庫
  • MyWifi: 無線網路連線的函式庫 (不需要, 如果你的程式碼中已能自行連上網路時)

***如果您尚不熟悉或想知道我是如何將函式庫上傳至 MCU 的, 那麼您應該會有興趣參考我的另一篇文章 “如此簡單 MicroPython — ESP8266/ESP32 MCU 檔案管理”. ***

***如果您是想知道該如何直接使用 MyKitL298N來控制個別馬達的轉速與轉向, 那麼您應該會有興趣參考我的另一篇文章 “MicroPython 如此簡單系列: 小車使用L298N 馬達驅動模組”. ***

功能測試範例

接下來的範例, 基本上程式的最上頭, 都會需要先包含以下敘述:

import utime as time
from MyKitCar import myCar
from MyKitL298N import myL298N

# 建立馬達模組與車子物件
m1 = myL298N()
m2 = myL298N()
car = myCar(60) # 設定車子開始移動時的最低動力(速度值 60)

# 馬達掛載到模組上
m1.attach(5, 15, 16) # EN, INA, INB: D1, D8, D0 (ESP8266)
m2.attach(12, 13, 14) # EN, INA, INB: D6, D7, D5 (ESP8266)

# 模組掛載到小車上
car.attach(m1, m2)

STEP 1: 讓 MCU 能控制智慧小車

範例ㄧ: 小車前進

car.forward(80)   # 速度值:80, 0 <= 速度值 <=90

範例二: 小車後退

car.backward(80)   # 速度值:80, 0 <= 速度值 <=90

範例三: 小車左轉

car.left(70)   # 速度值:70, 0 <= 速度值 <=90

範例四: 小車右轉

car.right(70)   # 速度值:70, 0 <= 速度值 <=90

範例五: 小車停止

car.stop()

STEP 2: 讓 MCU 成為 IoT 遠端控制器

from MyWifi import myWifi
from MyWebServer import myWebServer

範例六: 連上 WiFi 無線網路

my_wifi = myWifi(YOUR_WIFI_SSID, YOUR_WIFI_PWD)
my_wifi.connect()

*** 如果您想知道我是如何用很簡單的 2~3 行指令, 就能讓 MCU (ESP8266/ESP32) 快速連上 WiFi AP, 那麼您應該會有興趣參考我的另一篇文章 “如此簡單 MicroPython — WiFi 無線網路連網, MCU as IoT”. ***

範例七: 架設無網頁的監聽式網站

my_web = myWebServer(my_wifi.getIP(), 80)  
my_web.start # 啟動 Web Server 服務
while True:
cmds_dict = my_web.listen # 監聽是否有 client 送來的指令集
if len(cmds_dict) > 0:
print("Requested Commands:", cmds_dict)
# 處理接收到的指令集, 控制硬體
if not doCommand(cmds_dict):
break
my_web.refresh("") # 立即送出一個空白網頁回應已處理完畢
my_web.stop

*** 如果您想知道我是如何用很簡單的幾行指令, 就能讓在 MCU 架設一個立即可用的網站伺服器, 來接收與解譯 ESP8266/ESP32 所送來的控制指令, 那麼您應該會有興趣參考我的另一篇文章 “MicroPython 如此簡單系列: 網站架設”. ***

範例八: 手機 App 成為 IoT 智慧小車的遠端遙控器

此範例是以免費 ESP8266 WiFi Robot Car 的 手機 App, 做為小車的遙控器, 當然若您要用自己常用的其他 App 也是可以的, 這點在我的另一篇文章MicroPython 如此簡單系列: 網站架設 有較詳細的說明。

DEMO: 智慧小車實際路測

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

作者:Yungger 勇哥

若覺得此文對您有幫助, 也願意鼓勵勇哥的繼續創作, 點此加油一下

😘 😘 !!

--

--