L298N 驅動 Arduino 小車

手機 APP 藍芽遙控

本專題用手機 APP 藍芽遙控一台 L298N 驅動的車子

有關組裝一台 L298N 驅動的 Arduino 車子,請參閱本網站專題: Arduino 自走車組裝與測試

藍牙無線通訊模組,如果你用的是 安卓Android 手機,請選用 HC-05 或 HC-06 模組。若您用 iPhone,藍牙請選用 HM-10 模組。

安卓 Android 手機請上 Play Store ,下載應用程式 APP “Arduino Bluetooth” by CircuitMagic. 或在 Play Store 中輸入 Arduino Bluetooth Control ,查詢並下載任何可以傳輸字元的 APP。

若你使用 iPhone,請至 APP Store,下載任何可透過藍牙 HM-10 (Bluetooth 4.0) 傳輸字元的應用程式。

材料和接線圖

Arduino 自走車或智能車套裝組件 x1

L298N 馬達驅動模組 x1

Arduino UNO x1

藍牙無線通訊模組 HC-05 或 HC-06 針對 安卓Android 手機

小麵包板 x1

9V 電池 x1

9V 電池帽扣 x1

杜邦線 一公一母 數條

電線數條

直流馬達 連接 L298N OUT1, OUT2, OUT3, OUT4 。如直流馬達電線太長,可纏繞電線在車體上面,以免電線外露在車體外,車子行動時卡到東西。

L298N IN1, IN2, IN3, IN4 分別連接 Arduino pin 11, 10, 6, 5 。

L298N 5V 連到麵包板,再由麵包板接回 Arduino 5V 。如此,Arduino 在沒有電腦 USB 連接的情況下,其電源由L298N 來提供。

L298N GND 連接 Arduino GND 。如此,L298N 和 Arduino 兩個電路板,就能在同一個 GND 基準下,計算電位。

電池扣紅線 9V 連接 L298N +12V

電池扣黑線連接 L298N GND

藍牙無線通訊模組 HC-05 插在小麵包板上:

+5V 接 Arduino 5V

GND 接 Arduino GND

TX 接 Arduino RX pin 0

RX 接 Arduino TX pin 1

之所以這樣接,是因為藍牙在傳送字元時 (Transmit Text),Arduino 接收字元 (Receive Text)。反之,Arduino 傳送字元時,藍牙則接收字完。不要接錯。

接線完成後,如下圖 :

上傳程式

有藍牙連接 Arduino 時,上傳程式以前,要先拔掉Arduino pin0 和 pin 1 的連接線。待程式上傳至 Arduino 完成後,再把兩條線接回去。

複製下列程式於 Arduino IDE中,點擊 ”工具”,確認開發板是 Arduino/Genuino Uno, 序列埠 Port COM已接上,再點擊 ”上傳”。

此程式的設計,是當 Arduino 透過藍牙接收到從手機傳來的字元時,就做以下動作:

字元 動作

5 車子前進

7 車子後退

1 車子左轉

3 車子右轉

當讀入字元非以上所顯示的字元,則 車子停止 。

打開 Arduino 序列埠監視器,可看到所接收到的字元。

當車子前進的時候,如果左右輪旋轉方向不對,有以下兩種方法可以調整,任選1種 :

1. 調整程式中的指令:5,6對調,或者10,11對調。

const int IN1 = 10;

const int IN2 = 11;

const int IN3 = 6;

const int IN4 = 5;

2. L298N 模組上的插線 : IN1,IN2 對調,或者IN3,IN4對調。

如此,車子就能按照指令,前進的時候前進,後退的時候後退,左轉的時候左轉,右轉的時候右轉。

本專題在程式中設定,車子在左轉時,兩輪都轉,但右輪轉得比左輪快一些;反之,車子右轉時,左輪比右輪快一些。

手機請按照 YouTube 影片所指示的步驟,打開 APP,配對藍牙,選擇操控模式。

第一次配對藍牙時,會要求輸入密碼 “1234”。當藍牙的閃燈變慢時,表示配對成功。

創客點子

改裝 Arduino 車子,成為一艘 Arduino 船。如圖所示,加購兩個直流馬達 DC 6-12 V,馬達軸心為 2mm。配上兩個船槳或者是風扇。組裝過程,和 Arduino 車子完全相同,只是不需要車輪,及換掉馬達而已。建議用風扇取代船槳,原因是船槳會打出水花,水花濺上來,會損壞電機。用風扇吹起的風當作船的動力,則沒有這個問題。