想必每位有志于在机器人领域发展,为人类未来创造更加美好生活的有志之士(废话也是必不可少的)入门必不可少接触的一个练手之物便是智能小车,但是,一套现成的智能小车全套下来要上千大洋,所以我觉得我自己可以动手DIY一台这样神车出来,一来满足一下我练手的需要,二来将本人用万能板制作Arduino扩展板的经验介绍给大家。爱DIY,爱机器人,就一起来动手证明一下你自己吧。不当之处望大家指正。 整车尺寸:135*138*85mm 1 材料和工具![]()
材料:
![]()
2 结构制作部分![]()
![]()
![]() ![]()
![]()
![]()
3 电路制作部分![]()
![]()
![]() ![]()
![]()
![]()
![]()
![]()
注:扩展板上加一个复位开关是非常方便调试的。 ![]() ![]()
![]() ![]() ![]()
![]() 插上调试,我的两个用万能板焊的板子没有任何问题,在佩服自己的同时也再次自信一下吧! ![]() 将电路装到小车上,开始调试…… 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) |