(RB-13K056)AS-4WD移动侦测避障机器人
来自ALSROBOT WiKi
目录 |
产品概述
超声波作为智能车避障的一种重要手段,以其避障实现便,计算简单,易于做时控制,测量精度也能达到实用的要求,在未来汽车智能化进程中必将得到广泛。AS-4WD 超声侦测自主避障机器人采用RB-URF02超声波传感器,可使机器人像蝙蝠一样通过声纳来感知周围的环境,传感器下面安装伺服舵机可以令其具有旋转功从而可实现一个传感器多方位测距与探测避障功能。产品为全铝合金车体,结实耐用,四个马达7.2V电压独立驱动,动力强劲,结构合理,便于扩展;独立散件包装,让您完全体验DIY的乐趣。
配件参数
直流减速电机(1:48)
- 驱动电机齿轮箱减速比:1:48
- 无负载转速(3V):168RPM
- 无负载转速(6V):300RPM
- 无负载时电流(3V):90mA
- 无负载时电流(6V):100mA
- 扭矩大小 (3V): 0.04N.m
- 扭矩大小 (6V): 0.08N.m
- 尺寸大小:70.50 mm×27.00 mm×23.00 mm(长×宽×高)
- 重量大小: 约30g
电控部分资料
Carduino UNO控制器
双H桥电机驱动板
超声波传感器
传感器扩展板
RB-421舵机
零件清单
安装步骤
充电接口拨动开关连接线制作
机械部分安装步骤
直流电机安装
4WD平台两侧电机安装方法相同,需要注意的是在安装电机之前需要将电机连接线使用电烙铁焊接好,并使用热缩过加热塑封。
平台侧板安装
平台端板安装
电控部分安装步骤
整机实验
实验接线图
注意:1.超声波传感器在实验中使用的是单线模式。
2.主控板采用分离供电方式,这种供电方式需要将传感器扩展板端子旁边的一个黄色跳线帽拔掉。
控制器引脚 | 连接引脚 |
数字口 D15(A1) | 超声波传感器 input |
数字口 D8 | RB-421舵机 |
数字口 D5 | 双H桥驱动板 EA |
数字口 D6 | 双H桥驱动板 I2 |
数字口 D7 | 双H桥驱动板 I1 |
数字口 D9 | 双H桥驱动板 I3 |
数字口 D10 | 双H桥驱动板 I4 |
数字口 D11 | 双H桥驱动板 EB |
双H桥驱动板 VMS | 7.4V锂电池 + 极 |
双H桥驱动板 VMS | 传感器扩展板 VIN |
双H桥驱动板 5V | 传感器扩展板端子 + 极 |
双H桥驱动板 GND | 传感器扩展板端子 - 极 |
应用例程
#include <Servo.h> Servo myservo; int duration; //定义变量duration用来存储脉冲 int distance; //定义变量distance用来存储距离值 int srfPin = 15; //定义srfPin为数字口15 int z; //定义变量Z int val; int val;//定义变量val int val1; //定义变量val1 int val2; //定义变量val2 void setup() { myservo.attach(8); //8号引脚输出舵机控制信号 Serial.begin(9600); //仅能使用9、10号引脚 pinMode(9,OUTPUT); //定义I3接口 pinMode(10,OUTPUT); //定义I4接口 pinMode(11,OUTPUT); //定义EB(PWM调速)接口 pinMode(5,OUTPUT); //定义EA(PWM调速)接口 pinMode(6,OUTPUT); //定义I2接口 pinMode(7,OUTPUT); //定义I1接口 myservo.write(90); //使舵机转到90度 } void loop() { delay(20); //延时20毫秒 Goahead(); //调用前进子程序 val=Ultrasonic(z); //将超声波读取的距离值赋值给val if(val<25) //判断如果val小于25则继续执行 { Stop(); //调用停止子程序 myservo.write(0); //让舵机转0度 delay(1000); //延时1秒等待舵机到达指定位置 val1=Ultrasonic(z); //将超声波读取的距离值赋值给 delay(1000); //延时1秒等待舵机到达指定位置 myservo.write(179); //让舵机转180度 delay(1000); //延时1秒等待舵机到达指定位置 val2=Ultrasonic(z); //将超声波读取的距离值赋值给val2 delay(1000); //延时1秒等待舵机到达指定位置 myservo.write(83); //让舵机转90度 delay(1000); //延时1秒 if(val1<val2) { Turn_left(); //调用左转子程序 delay(200); //延时200毫秒 } else { Turn_right(); //调用右转子程序 delay(200); //延时200毫秒 } delay(500); //延时500毫秒 } } int Ultrasonic(int distance) { pinMode(srfPin,OUTPUT); //定义srfPin为输出接口 digitalWrite(srfPin, LOW); //高电平触发前发送2微秒的低电平 delayMicroseconds(2); digitalWrite(srfPin, HIGH); //发送10微秒的高电平开始检测 delayMicroseconds(10); digitalWrite(srfPin, LOW); //等待脉冲返回前发送一个低电平 pinMode(srfPin, INPUT); //定义srfPin为输入接口 duration = pulseIn(srfPin, HIGH); //从URF02读取脉冲 distance = duration/58; //除以58得到距离值 return distance; } void Goahead()//前进 { analogWrite(5,165); //输入模拟值进行设定速度 digitalWrite(7,LOW); //使直流电机(右)顺时针转 digitalWrite(6,HIGH); analogWrite(11,160); //输入模拟值进行设定速度 digitalWrite(9,HIGH); //使直流电机(左)逆时针转 digitalWrite(10,LOW); } void Stop()//停止 { digitalWrite(6,HIGH); //使直流电机(右)制动 digitalWrite(7,HIGH); digitalWrite(9,HIGH); //使直流电机(左)制动 digitalWrite(10,HIGH); } void Turn_right()//右转 { analogWrite(5,170); //输入模拟值进行设定速度 digitalWrite(6,LOW); //使直流电机(右)顺时针转 digitalWrite(7,HIGH); analogWrite(11,150); //输入模拟值进行设定速度 digitalWrite(9,HIGH); //使直流电机(左)逆时针转 digitalWrite(10,LOW); } void Turn_left()//左转 { analogWrite(5,150); //输入模拟值进行设定速度 digitalWrite(7,LOW); //使直流电机(右)顺时针转 digitalWrite(6,HIGH); analogWrite(11,170); //输入模拟值进行设定速度 digitalWrite(10,HIGH); //使直流电机(左)逆时针转 digitalWrite(9,LOW); }
视频演示
产品相关推荐
产品购买地址
周边产品推荐
Arduino 4WD铝合金移动平台车灯套件
Arduino 光电码盘 光电测速传感器
相关问题解答
AS-4WD 碰撞机器人如何安装
4wd 红外线巡线壁障车调试助手没有反应
相关学习资料
视频:机器人调试助手无线操控AS-4WD轮式机器人
视频:Arduino-4WD移动机器人寻线功能演示
视频:Arduino-4WD移动机器人碰撞功能演示
视频:Arduino-4WD移动机器人追光功能演示
视频:Arduino-4WD移动机器人寻线与避障功能演示
视频:Arduino-4WD移动机器人侦测避障功能演示
视频:直流减速电机驱动实例
奥松机器人技术论坛