Arduino UnoPro2M
May 20, 2023About 4 min
简介
Arduino Uno Pro2M是在Arduino Uno R3的基础上增加了两个电机驱动,可以直接驱动电机,电机的接口类型为KF2510-2P。
产品参数
- 处理器: Arduino Uno R3采用Atmel AVR 8位微控制器ATmega328P作为主要处理器,具有高性能和低功耗。
- 时钟频率: Arduino Uno R3的时钟频率为16 MHz,能够提供快速且可靠的计算能力。
- 数字I/O引脚: Arduino Uno R3拥有14个数字输入/输出引脚(其中6个可用作PWM输出)供连接各种外部设备和传感器。
- 模拟输入引脚: Arduino Uno R3具有6个模拟输入引脚,可用于读取模拟信号,例如温度、光线等。
- 存储器: Arduino Uno R3具有32KB的闪存程序存储空间,用于存储用户编写的程序,以及2KB的SRAM和1KB的EEPROM。
- 通信接口: Arduino Uno R3支持串口通信(通过USB接口)和I2C、SPI等常用通信协议,方便与其他设备进行数据交互。
- 输入电压: USB5V、DC6-12V
- 输出电压: 3.3V-5V
- 开发环境: Arduino、Mind+、Mixly等。
引脚说明
序号 | 引脚名称 | 功能描述 |
---|---|---|
1 | D0 | 数字输入/输出引脚 |
2 | D1 | 数字输入/输出引脚 |
3 | D2 | 数字输入/输出引脚 |
4 | D3 | M1电机正转 |
5 | D4 | 数字输入/输出引脚 |
6 | D5 | M2电机正转 |
7 | D6 | M2电机反转 |
8 | D7 | 数字输入/输出引脚 |
9 | D8 | 数字输入/输出引脚 |
10 | D9 | 支持PWM输出的数字引脚 |
11 | D10 | 支持PWM输出的数字引脚 |
12 | D11 | M1电机反转 |
13 | D12 | 数字输入/输出引脚 |
14 | D13 | 数字输入/输出引脚 |
15 | A0 | 模拟输入引脚 |
16 | A1 | 模拟输入引脚 |
17 | A2 | 模拟输入引脚 |
18 | A3 | 模拟输入引脚 |
19 | A4 | 模拟输入引脚,也用作I2C总线的SDA引脚 |
20 | A5 | 模拟输入引脚,也用作I2C总线的SCL引脚 |
21 | 5V | 5V电源引脚 |
22 | 3.3V | 3.3V电源引脚 |
23 | GND | 地引脚 |
24 | RESET | 复位引脚 |
驱动电机
ArduinoUno Pro2M 支持驱动两路电机M1M2,M1是由D3、D11引脚控制的,M2是由D5、D6引脚控制的。
控制电机的时候必须通过DC口单独供电USB电源无法带动电机
电机转动
电机转动:如果想控制M1电机正转只需要设置D3引脚高电平D11引脚低电平,反转就是D3引脚低电平D11引脚高电平。M2电机只是引脚(D5、D6)不一样,控制方法一样。
M1电机正转
电机转速
电机转速:如果想要控制M1电机转速需要通过控制引脚的PWM值,比如让M1电机正转转速120,就需要设置D3引脚输出PWM120,D11引脚为低电平。
M1正转调速
M2反转、M2反转调速跟M1的操作方法一样,只需换一下引脚既可以。
Arduino示例代码
点灯程序
// 定义LED引脚
const int ledPin = 13;
void setup() {
// 设置LED引脚为输出模式
pinMode(ledPin, OUTPUT);
}
void loop() {
digitalWrite(ledPin, HIGH); // 将LED引脚设置为高电平,LED亮起
delay(1000); // 延迟1秒钟
digitalWrite(ledPin, LOW); // 将LED引脚设置为低电平,LED熄灭
delay(1000); // 延迟1秒钟
}
读取模拟引脚
// 读取模拟值
int analogPin = A1; // 设置要读取的模拟引脚为A1
void setup() {
Serial.begin(9600); // 初始化串口通信
}
void loop() {
int sensorValue = analogRead(analogPin); // 读取模拟引脚的值
Serial.print("Analog value on A1: ");
Serial.println(sensorValue); // 打印读取的模拟值
delay(1000); // 延迟1秒钟
}
读取数字引脚
int digitalPin = 2; // 设置要读取的数字引脚为D2
void setup() {
Serial.begin(9600); // 初始化串口通信
pinMode(digitalPin, INPUT); // 将引脚设置为输入模式
}
void loop() {
int sensorValue = digitalRead(digitalPin); // 读取数字引脚的值
Serial.print("Digital value on D2: ");
Serial.println(sensorValue); // 打印读取的数字值
delay(1000); // 延迟1秒钟
}
学习资料
学习资料下载 密码:8888
串口驱动下载
Mind+、Mixly扩展库下载
疑难解答
更多问题及有趣的应用,请访问论坛 或加入QQ技术交流群:522420541