这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 电源与模拟 » 用Arduino兼容设备(M5Stack)和传感器制作迷你遥控车!(第二部分)

共5条 1/1 1 跳转至

用Arduino兼容设备(M5Stack)和传感器制作迷你遥控车!(第二部分)

工程师
2023-02-17 20:29:42     打赏
通过M5Stack使用电机驱动器

 

第1部分:用小型Arduino兼容设备(M5Stack)享受电子制作的乐趣

 

大家好,我是吉田!

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

arduino-m5stack-remote-control-car-02-01

使用M5Stack系列制作遥控车

 

本部分的流程
  1. 电机驱动器的设置

  2. M5Stack与电机的连接

  3. 运行M5Stack的程序

  4. 总结

 

本部分所需部件M5Stack Core

搭载了ESP32、显示器、传感器等的Arduino兼容设备

arduino-m5stack-remote-control-car-02

 

Grove I2C电机驱动器

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

arduino-m5stack-remote-control-car-07_01

 

9V电池和电池盒

arduino-m5stack-remote-control-car-02-02

 

小型电机、车轮等

arduino-m5stack-remote-control-car-08

 

1. 电机驱动器的设置

在制作迷你遥控车时,需要一个称为“电机驱动器”的IC器件来负责驱动直流电机并控制转速等工作。电机驱动器与Arduino之间的连接以及编程稍微有点复杂,但是M5Stack带有Grove引脚,通过使用可以与Grove相连接的电机驱动器,即可轻松进行电机控制。

这次我们将使用带有Grove引脚的、I2C控制方式的这款电机驱动器。

arduino-m5stack-remote-control-car-07_01

 

需要进入开发这款电机驱动器的SEEED公司的产品页面,并获取库文件。请单击下面页面中的Grove I2C Motor Driver,将其下载到您的计算机上。

https://wiki.seeedstudio.com/Grove-I2C_Motor_Driver_V1.3/

arduino-m5stack-remote-control-car-02-03

 

从菜单上的Sketch > Include library > Add .ZIP Library中选择前面提到的文件并应用。

arduino-m5stack-remote-control-car-02-04

 

现在已安装好了库和示例草图。在草图示例菜单中有一个名为“dcmotor_test”的示例,选择它并将其写入M5Stack。

arduino-m5stack-remote-control-car-02-05

 

需要连接电脑、M5Stack 和电机驱动器之后进行写入。当出现如画面中的消息时,表明电机驱动器的草图已经成功写入。

arduino-m5stack-remote-control-car-02-06

 

2. M5Stack与电机的连接

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

arduino-m5stack-remote-control-car-02-07
电机和车轮设置

arduino-m5stack-remote-control-car-02-08
将电机和电池盒固定(用螺丝拧紧)

 

将电机出来的2对线缆、电池盒出来的1对线缆分别与电机驱动器连接。

arduino-m5stack-remote-control-car-02-09
连接电机侧的引脚

arduino-m5stack-remote-control-car-02-10
连接电源侧的引脚

 

现在,电机驱动器、车轮和电池盒是这样的:

arduino-m5stack-remote-control-car-02-11

 

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

arduino-m5stack-remote-control-car-02-12

 

整体如下:

arduino-m5stack-remote-control-car-02-13

 

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。打开电源后,车轮应该开始转动了。

arduino-m5stack-remote-control-car-02-14

 

向前转动时显示“Forward”,向后转动时显示“Backword”。

arduino-m5stack-remote-control-car-02-15

arduino-m5stack-remote-control-car-02-16

 

4. 总结

这次我们用两个小型齿轮电机实现了前后左右行驶。虽然需要用电机驱动器来控制Arduino和直流电机,不过我想您已经了解到了,只需将其与Grove引脚连接即可轻松开始使用。

M5Stack的Grove引脚可以连接各种驱动器和传感器等,因此您还可以尝试连接其他传感器。

在下一部分中,我们将通过安装距离传感器等器件,来实现避让墙壁、避免从桌子上掉下来等目标。自动驾驶即将实现,敬请期待!

 

 

本系列连载一览

第1部分:用小型Arduino兼容设备(M5Stack)享受电子制作的乐趣
第2部分:通过M5Stack使用电机驱动器(本章)
第3部分:通过M5Stack使用传感器实现自动驾驶和自动避让功能
剧终篇:实现M5Stack与智能手机联动控制


吉田 显一(Yoshiken)

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

http://blog.ktrips.net





关键词: Arduino     兼容     设备     M5Stack     传感器    

专家
2023-02-18 09:51:58     打赏
2楼

感谢分享


高工
2023-02-18 12:36:42     打赏
3楼

谢谢分享


高工
2023-02-18 12:42:41     打赏
4楼

谢谢分享


高工
2023-02-18 12:54:10     打赏
5楼

谢谢分享


共5条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]