用Arduino相容設備(M5Stack)和感測器製作迷你遙控車!(第一部分)

用小型Arduino相容設備(M5Stack)享受電子製作的樂趣

 

大家好,我是吉田!

這次我想用小型Arduino相容設備“M5Stack”系列來製作一輛原創遙控車。這裡使用的M5Stack是一種使用了ESP32的Arduino開發模組,自帶感測器和顯示器等配件,使用它可以輕鬆開始開發。我想為大家介紹一下使用這種M5Stack製作也可以從外部控制的迷你遙控車的過程。

arduino-m5stack-remote-control-car-16

 

本部分的流程

  1. 關於Arduino相容設備M5Stack系列
  2. 製作本設備所需的零件
  3. 遙控車的功能和可以學到的知識
  4. M5Stack開發環境安裝
  5. 總結

 

1. 關於Arduino相容設備M5Stack系列

M5Stack是由中國深圳硬體初創公司M5Stack推出的Arduino相容開發模組之一。它使用Espressif公司內置有Wi-Fi和BLE的ESP32平臺,使開發變得像Arduino一樣簡單。其特點是在小小的產品中,自帶顯示器、感測器、按鈕、USB介面等。

M5Stack有多個系列,使用者可以根據大小和用途進行選擇。最容易上手的是“M5 Stack Core”,它帶有較大的方形顯示器。另外還有“M5 Stick-C”,它的外殼和顯示器尺寸更小,更易於使用。2020年還推出了大概只有“M5 Stick-C”一半大小的超小型“ATOM”系列。

arduino-m5stack-remote-control-car-02

M5Stack Core

arduino-m5stack-remote-control-car-03

M5Stick-C

arduino-m5stack-remote-control-car-04

M5Stack ATOM Matrix

 

下表中將這幾種產品的規格簡單匯總了一下。請根據用途和尺寸選用。

系列 M5Stack M5Stick M5Stack ATOM
名稱 M5Stack Core Gray M5Stick-C M5Stack ATOM Matrix
晶片 ESP32-D0WDQ6
(Wifi, BLE)
ESP32-PICO
(Wifi, BLE)
ESP32-PICO
(Wifi, BLE)
記憶體 520KB RAM
16MB Flash
520KB RAM
4MB Flash
520KB RAM
4MB Flash
大小 5.4 x 5.4 x 1.7 cm 4.8 x 2.5 x 1.4 cm 2.4 x 2.4 x 1.4 cm
顯示器 Color TFT LCD (2 inch) Color TFT LCD (0.96 inch) 5 x 5 RGB LCD
感測器類 MPU6886 (加速度感測器)
BMM150(地磁感測器)
無麥克風
有揚聲器
MPU6886 (加速度感測器)
紅外LED
有麥克風
無揚聲器
MPU6886 (加速度感測器)
紅外LED
無麥克風
無揚聲器
電池 150mAh @3.7V 80mAh @3.7V
參考價格 4,800日元左右 2,000日元左右 2,000日元左右

 

2. 製作本設備所需的零件

這次我們將使用M5Stack和一些感測器來創建可以自動駕駛或遠端控制的小型汽車,所需零件匯總如下。

車身部分:

名稱和說明 零件
M5Stack Core
搭載了ESP32的Arduino相容設備。不僅自帶大型LED顯示器,還自帶BLE、Wifi和運動感測器等。
arduino-m5stack-remote-control-car-02
超聲波距離感測器
發射超聲波並透過其反彈聲波來測量距離的模組。
arduino-m5stack-remote-control-car-05
ROHM照度/接近感測器
(RPR-0521RS)
透過發射紅外線並測量其反射光來測量光的強度和接近度。
arduino-m5stack-remote-control-car-06
Grove I2C馬達驅動器
使用稱為“I2C”的通信方式,與Grove引腳連接即可使用的馬達驅動器。
arduino-m5stack-remote-control-car-07
車輪、外裝件等 arduino-m5stack-remote-control-car-08

遙控部分:

名稱和說明 零件和應用
M5Stick-C
在M5Stack系列中尺寸更小的產品,具有BLE和Wi-Fi功能的ESP32 Arduino相容模組
arduino-m5stack-remote-control-car-03
Blynk(智慧手機應用程式)
可以透過Wi-Fi操作Arduino和Raspberry Pi的智慧手機應用程式。
arduino-m5stack-remote-control-car-09

把這些零件備好後,就可以製作小型遙控車了。

 

3. 遙控車的功能和可以學到的知識

這次要做的遙控車分為汽車車身部分和遙控部分兩部分。車身部分將使用感測器自動行駛。遙控器使用M5Stcick-C和智慧手機來實現對汽車的控制。下面列出了車身部分和遙控部分可以實現的功能,以及可以學到的知識。

車身部分:

編號 可以學到的知識
1 使用Arduino IDE開發M5Stack的方法
2 使用I2C馬達驅動器、透過Arduino控制馬達來製作小汽車的方法
3 使用了距離感測器的物體避讓機制
4 使用照度/接近感測器而不會從桌子上等高處掉下來的機制

遙控部分:

編號 可以學到的知識
1 使用M5Stack時的運動感測器使用方法
2 Arduino(M5Stack)之間透過BLE進行通信和操作的方法
3 從智慧手機上操作Arduino(M5Stack)的方法

 

4. M5Stack開發環境安裝

要想使用Arduino IDE進行M5Stack程式開發,需要進行一些必要的準備工作。請前往Arduino IDE下載頁面(https://www.arduino.cc/en/main/software)下載並安裝軟體。另外,最好透過閱讀Device Plus刊載過的這篇文章(Arduino 使用篇),提前瞭解一下ESP-WROOM-32的使用方法。

arduino-m5stack-remote-control-car-10

[Arduino IDE的下載介面https://www.arduino.cc/en/main/software]

 

Arduino IDE安裝完成後,需要設置ESP32開發板。從Arduino的功能表中,選擇設置 > Preferencees,並在“ Additional Boards Manager URL”中輸入以下位址:
https://dl.espressif.com/dl/package_esp32_index.json

arduino-m5stack-remote-control-car-11

 

然後透過Tools > Boards > Boards Manager搜索ESP32並安裝開發包。

arduino-m5stack-remote-control-car-12

 

這樣就可以選擇M5Stack-Core-ESP32作為開發板了,請選擇它。此外,從串口指定USB連接並連接電腦和M5Stack。

arduino-m5stack-remote-control-car-13

 

另外,還需要透過Sketch > Include Library > Manage Library管理來添加M5Stack的庫。

arduino-m5stack-remote-control-car-14

 

現在,讓我們用USB-C資料線連接電腦和M5Stack吧。剛剛下載的M5Stack庫中附有一些示例程式,我們可以直接使用。從File > Sketch example > M5Stack中選擇示例草圖並將其導入。

arduino-m5stack-remote-control-car-15

arduino-m5stack-remote-control-car-01

[左起分別是:M5Stack Core Gray、M5Stcik-C、M5Stack ATOM Matrix]

 

5. 總結

在本系列連載中,我們將使用M5Stack製作遙控車。M5Stack系列有自帶感測器的產品,也有帶較大顯示器的產品,請根據您的用途選用。感測器也可以從外部安裝,因此還可以透過添加ROHM的感測器等器件來增加功能。

從下一部分開始,我將為大家介紹實際製作遙控車的過程,敬請期待!

 

 

本系列連載一覽

第1部分:用小型Arduino相容設備(M5Stack)享受電子製作的樂趣(本章)
第2部分:透過M5Stack使用馬達驅動器
第3部分:透過M5Stack使用感測器實現自動駕駛和自動避讓功能
第4部分:實現M5Stack與智慧手機聯動控制