“【RuilongMaker出品】Arduino IRDA 机器人小车控制器”参数说明
认证: | ruilongmaker | 类型: | 小车比赛 |
适用年龄: | 10岁以上 | 材质: | 塑料 |
型号: | IRDA | 规格: | 12-8 |
商标: | ruilongmaker | 包装: | 特供包装盒(可订做) |
Mini USB 线: | 1pcs | IRDA Robot控制器: | 1pcs |
高品质红外遥控器: | 1pcs | 产量: | 10000 |
“【RuilongMaker出品】Arduino IRDA 机器人小车控制器”详细介绍
IRDA Robot控制器是USB下载口采用Mini-5P USB接口设计,控制器上搭载了复位按键(RST),功能按键(D2/D3),电源指示灯(红色LED)、测试D13引脚的指示灯(蓝色LED),以便监视作用。控制器实现了把模拟口和数字口的引脚全部引出,可供用户外接扩展模块使用。控制器不仅可以USB的5V供电,还可以采用6V-12V(当电压低于5.5V主板工作会出故障)的外部供电。控制器上带有双路电机驱动,可直接控制一般实验用的机器人以及小车,不用再外接电机驱动就可以直接控制直流电机的转动的速度和方向了,是不是很方便?
- 主控芯片:ATmage328P-AU(默认刷入Arduino UNO bootloader )
- USB转串口芯片:CH340
- USB接口:Mini-5p
- 电机驱动芯片:L293D
- 电源要求:+7-12V
- 数字I/O :8(D2\D3\D8\D9\D10\D11\D12\D13)
- PWM通道:4(D3\D9\D10\D11)
- 模拟通道:8(A0\A1\A2\A3\A4\A5\A6\A7)
- I/O输出:40 mA
- Flash : 32 KB (ATmega328P) 4 KB 用于 bootloader
- SRAM:2.5 KB (ATmega328P)
- EEPROM:1 KB (ATmega328P)
- 时钟速度:16 MHz
- 工作电流:50MA(不含电机驱动器电流)
- 接口形式:3Pin GVS标准接口(G-地V-5V S-信号黄色对应模拟蓝色对应数字)
- 电机控制管脚:D4(方向)/D5(速度)控制电机AO1/AO2
- D7(方向)/D6(速度)控制电机BO1/BO2
- 红外接收传感器:D12(默认连接)
- 电机驱动:≤1000MA
- 模块重量:20.9g
- 1pcs x IRDA Robot控制器
- 1pcs x Mini USB 线
- 1pcs x 高品质红外遥控器
(1)连线方法:D4、D5、D6、D7为控制电机的引脚,当使用电机时,把直流电机接在主控板上的端子的AO1、AO2处,或者BO1、BO2处,也可以分别各接一个电机。之后把外接电源的正极接在端子的VIN处;把外接电源的负极接在端子的GND处;
(2)Arduino IDE中复制粘贴以下代码,编译后上传板子(注意板子型号,选择Arduino UNO),打开电源开关,可以看见板子以1S的频率正反转,并伴随D13号蓝色灯闪烁。
void setRomeoMotor(int motorId, int speed){ int speedPin, directionPin; if (motorId == 1) { speedPin = 5; directionPin = 4; } else { if (motorId == 2) { speedPin = 6; directionPin = 7; } else { return; } } if (speed == 0) { digitalWrite(speedPin, LOW); } if (speed > 0) { digitalWrite(directionPin, HIGH); analogWrite(speedPin, speed); } else { digitalWrite(directionPin, LOW); analogWrite(speedPin, -speed); }}void setup(){ pinMode( 7, OUTPUT); pinMode( 6, OUTPUT); pinMode( 5, OUTPUT); pinMode( 4, OUTPUT); pinMode( 13 , OUTPUT); digitalWrite(4, LOW); digitalWrite(5, LOW); digitalWrite(6, LOW); digitalWrite(7, LOW);}void loop(){ digitalWrite( 13 , HIGH ); setRomeoMotor(1, 100); setRomeoMotor(2, 100); delay( 1000 ); digitalWrite( 13 , LOW ); setRomeoMotor(1, -250); setRomeoMotor(2, -250); delay( 1000 );}