第1部分:用小型Arduino兼容设备(M5Stack)享受电子制作的乐趣
大家好,我是吉田!
本系列连载将为您介绍使用小型Arduino兼容设备M5Stack制作遥控车的过程。在第二部分中,我们将连接M5Stack和电机驱动器,以使直流电机运转。由于使用一个名为“Grove”的标准引脚,而使看似复杂的电机驱动器设置变得非常简单。

使用M5Stack系列制作遥控车
本部分的流程
电机驱动器的设置
M5Stack与电机的连接
运行M5Stack的程序
总结
本部分所需部件M5Stack Core
搭载了ESP32、显示器、传感器等的Arduino兼容设备

Grove I2C电机驱动器
使用“I2C”通信方式与Grove引脚连接即可使用的电机驱动器

9V电池和电池盒

小型电机、车轮等

1. 电机驱动器的设置
在制作迷你遥控车时,需要一个称为“电机驱动器”的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 和电机驱动器之后进行写入。当出现如画面中的消息时,表明电机驱动器的草图已经成功写入。

2. M5Stack与电机的连接
将直流电机连接到M5Stack和电机驱动器。对于驱动部分,我们使用车轮已经与非常小的电机连接好的齿轮电机。将这个齿轮电机固定到电池盒上,很容易就实现了一体化的迷你遥控车。

电机和车轮设置

将电机和电池盒固定(用螺丝拧紧)
将电机出来的2对线缆、电池盒出来的1对线缆分别与电机驱动器连接。

连接电机侧的引脚

连接电源侧的引脚
现在,电机驱动器、车轮和电池盒是这样的:

在M5Stack侧也要安装小车轮。使用Grove线缆连接电机驱动器和M5Stack。

整体如下:

3. 运行M5Stack的程序
最后,我们需要创建程序来运行M5Stack。M5Stack有一个显示器,所以我们让遥控车行驶过程中在屏幕上显示相应的内容。示例程序M5_Motor.ino如下:
#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”。


4. 总结
这次我们用两个小型齿轮电机实现了前后左右行驶。虽然需要用电机驱动器来控制Arduino和直流电机,不过我想您已经了解到了,只需将其与Grove引脚连接即可轻松开始使用。
M5Stack的Grove引脚可以连接各种驱动器和传感器等,因此您还可以尝试连接其他传感器。
在下一部分中,我们将通过安装距离传感器等器件,来实现避让墙壁、避免从桌子上掉下来等目标。自动驾驶即将实现,敬请期待!
本系列连载一览
第1部分:用小型Arduino兼容设备(M5Stack)享受电子制作的乐趣
第2部分:通过M5Stack使用电机驱动器(本章)
第3部分:通过M5Stack使用传感器实现自动驾驶和自动避让功能
剧终篇:实现M5Stack与智能手机联动控制
在普通公司工作的上班族,非常喜欢创作的周末创客,出版了电子书MESHBOOK,平时也写写博客。
http://blog.ktrips.net
我要赚赏金
