第1部分:用小型Arduino相容設備(M5Stack)享受電子製作的樂趣
大家好,我是吉田!
本系列連載將為您介紹使用小型Arduino相容設備M5Stack製作遙控車的過程。在第二部分中,我們將連接M5Stack和馬達驅動器,以使直流馬達運轉。由於使用一個名為“Grove”的標準引腳,而使看似複雜的馬達驅動器設定變得非常簡單。
搭載了ESP32、顯示器、感測器等的Arduino相容設備
使用“I2C”通訊方式與Grove引腳連接即可使用的馬達驅動器
在製作迷你遙控車時,需要一個稱為“馬達驅動器”的IC元件來負責驅動直流馬達並控制轉速等工作。馬達驅動器與Arduino之間的連接以及程式設計稍微有點複雜,但是M5Stack帶有Grove引腳,透過使用可以與Grove相連接的馬達驅動器,即可輕鬆進行馬達控制。
這次我們將使用帶有Grove引腳的、I2C控制方式的這款馬達驅動器。
需要進入開發這款馬達驅動器的SEEED公司的產品頁面,並獲取程式庫文件。請按一下下面頁面中的Grove I2C Motor Driver,將其下載到您的電腦上。
https://wiki.seeedstudio.com/Grove-I2C_Motor_Driver_V1.3/
從菜單上的Sketch > Include library > Add .ZIP Library中選擇前面提到的文件並應用。
現在已安裝好了程式庫和範例草圖。在草圖範例功能表中有一個名為“dcmotor_test”的範例,選擇它並將其寫入M5Stack。
需要連接電腦、M5Stack 和馬達驅動器之後進行寫入。當出現如畫面中的消息時,表明馬達驅動器的草圖已經成功寫入。
將直流馬達連接到M5Stack和馬達驅動器。
對於驅動部分,我們使用車輪已經與非常小的馬達連接好的齒輪馬達。將這個齒輪馬達固定到電池盒上,很容易就實現了一體化的迷你遙控車。
將馬達出來的2對線纜、電池盒出來的1對線纜分別與馬達驅動器連接。
現在,馬達驅動器、車輪和電池盒是這樣的:
在M5Stack側也要安裝小車輪。使用Grove線纜連接馬達驅動器和M5Stack。
整體如下:
最後,我們需要創建程式來運行M5Stack。M5Stack有一個顯示器,所以我們讓遙控車行駛過程中在螢幕上顯示相應的內容。範例程式M5_Motor.ino如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
#include "Grove_I2C_Motor_Driver.h" #include <M5Stack.h> #define I2C_ADDRESS 0x0f void setup() { Serial.begin(9600); Motor.begin(I2C_ADDRESS); M5.begin(); M5.Lcd.setTextSize(4); M5.lcd.print("GO M5!"); } void loop() { // Set speed of MOTOR1, Clockwise, speed: -100~100 Motor.speed(MOTOR1, 100); // Set speed of MOTOR2, Anticlockwise Motor.speed(MOTOR2, -100); M5.lcd.clear(); M5.Lcd.setCursor(10,0); M5.lcd.print("GO M5!"); M5.Lcd.setCursor(10,60); M5.lcd.print("Forward!"); delay(2000); // Change speed and direction of MOTOR1 Motor.speed(MOTOR1, -100); // Change speed and direction of MOTOR2 Motor.speed(MOTOR2, 100); M5.Lcd.setCursor(10,60); M5.lcd.print("Backward!"); delay(2000); // Stop MOTOR1 and MOTOR2 Motor.stop(MOTOR1); Motor.stop(MOTOR2); M5.lcd.clear(); M5.Lcd.setCursor(10,60); M5.lcd.print("Stop!"); delay(2000); } |
程式準備好後,將其導入 M5Stack。打開電源後,車輪應該開始轉動了。
向前轉動時顯示“Forward”,向後轉動時顯示“Backword”。
這次我們用兩個小型齒輪馬達實現了前後左右行駛。雖然需要用馬達驅動器來控制Arduino和直流馬達,不過我想您已經瞭解到了,只需將其與Grove引腳連接即可輕鬆開始使用。
M5Stack的Grove引腳可以連接各種驅動器和感測器等,因此您還可以嘗試連接其他感測器。
在下一部分中,我們將透過安裝距離感測器等器件,來實現避讓牆壁、避免從桌子上掉下來等目標。自動駕駛即將實現,敬請期待!
本系列連載一覽
第1部分:用小型Arduino相容設備(M5Stack)享受電子製作的樂趣
第2部分:透過M5Stack使用馬達驅動器(本章)
第3部分:透過M5Stack使用感測器實現自動駕駛和自動避讓功能
第4部分:實現M5Stack與智慧手機聯動控制