想必每位有志于在机器人领域发展,为人类未来创造更加美好生活的有志之士(废话也是必不可少的)入门必不可少接触的一个练手之物便是智能小车,但是,一套现成的智能小车全套下来要上千大洋,所以我觉得我自己可以动手DIY一台这样神车出来,一来满足一下我练手的需要,二来将本人用万能板制作Arduino扩展板的经验介绍给大家。爱DIY,爱机器人,就一起来动手证明一下你自己吧。不当之处望大家指正。 整车尺寸:135*138*85mm 1 材料和工具
材料:
2 结构制作部分
3 电路制作部分
注:扩展板上加一个复位开关是非常方便调试的。
#p#分页标题#e#
插上调试,我的两个用万能板焊的板子没有任何问题,在佩服自己的同时也再次自信一下吧!
将电路装到小车上,开始调试…… 4 程序部分(时间仓促,未精调,只是实现功能)供大家参考: 先定义各接口
int lled = 7;
int rled = 4;
int lmotor = 19;
int rmotor = 18;
int rdate = 0;
int ldate = 0;
int ledpin = 14;
int l = 0;
int r = 0;
int a = 0;
int b = 0;
int c = 0;
int e = 0;
void setup()
{
pinMode(lled,INPUT);
pinMode(rled,INPUT);
pinMode(lmotor,OUTPUT);
pinMode(rmotor,OUTPUT);
pinMode(ledpin,OUTPUT);
}
void run()
{
for(int i = 0;i < a;i ++)
{
digitalWrite(lmotor,HIGH);
delayMicroseconds(ldate);
digitalWrite(lmotor,LOW);
digitalWrite(rmotor,HIGH);
delayMicroseconds(rdate);
digitalWrite(rmotor,LOW);
delay(18);
}
}
void loop()
{
l = digitalRead(lled);
r = digitalRead(rled);
if ((l == HIGH) || (r == HIGH))
digitalWrite(ledpin,HIGH);
else
digitalWrite(ledpin,LOW);
if((l == HIGH)&&(r == HIGH))
{
while((l == HIGH)&&(r == HIGH))
{
l = digitalRead(lled);
r = digitalRead(rled);
}
}
else if(l == HIGH) //左边儿检测到黑线,左转
{
ldate = 1480;
rdate = 1630;
a = 10;
}
else if(r == HIGH) //右边儿检测到黑线,右转
{
ldate = 1350;
rdate = 1500;
a = 10;
}
else
{
ldate = 1300;
rdate = 1730;
a = 1;
}
run();
}
上图若干:
![]()
(责任编辑:admin) |


#p#分页标题#e#














