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