用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)
(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的传感器等器件来增加功能。

从下一部分开始,我将为大家介绍实际制作遥控车的过程,敬请期待!

吉田 显一(Yoshiken)

在普通公司工作的上班族,非常喜欢创作的周末创客,出版了电子书MESHBOOK,平时也写写博客。

http://blog.ktrips.net

相关文章

  1. arduino-h02_14

    用Arduino制作的太阳能电池板供电数字养殖箱【后篇】

  2. 用Spresense扩大电子制作的广度!【第5篇】

  3. 用Spresense扩大电子制作的广度!【第4篇】

  4. 用Spresense扩大电子制作的广度!【第3篇】

  5. spresense_2

    用Spresense扩大电子制作的广度!【第2篇】

  6. title_image

    用Spresense扩大电子制作的广度!【第1篇】

  7. learning-electronics-03-00

    超越LED闪烁!更多了解电子制作“N讲”【第3篇】

  8. learning-electronics-02-08

    超越LED闪烁!更多了解电子制作“N讲”【第2篇】

  9. learning-electronics-01-09

    超越LED闪烁!更多了解电子制作“N讲”【第1篇】

TECH INFO

  • Sugiken老师的电机驱动器课堂
  • 重点必看
  • 技术分享
  • Arduino入门指南

基础知识

  • Si功率元器件
  • IGBT功率元器件
  • 热设计
  • 电路仿真
  • 开关噪声-EMC
  • AC/DC
  • DC/DC
  • 电机
  • 传递函数

工程技巧


Sugiken老师的电机驱动器课堂

PICK UP

PAGE TOP