安卓机器人 发表于 2016-4-16 12:34:45

由Turtle 3PA三轮小车机器人改装成循迹小车

去年的今天我终于收到等了几个月的 ROB0118 Turtle 3PA三轮小车机器人套件。儿子一个小时搞定了安装,我两三天调试成功ARDUINO避障代码,着实兴奋了好长时间,让我的机器人的梦越来美!忍不住想发个“小乌龟机器人”美照:

15秒避障视频:
https://v.youku.com/v_show/id_XMTUzNjcxMjA5Ng==.html
15秒循迹视频:
https://v.youku.com/v_show/id_XMTUzNjcxNjU0OA==.html
3分钟循迹观察中:
https://v.youku.com/v_show/id_XMTUzNjcyNDIyMA==.html
分享ARDUINO循迹代码://20160319 ir循迹智能小车
//我淘的模块是这样子:走黑线,反馈0或1;偏离黑线则一般反馈1000---1015
int speedPin_M1 = 5;   //M1 Speed Control
int speedPin_M2 = 6;   //M2 Speed Control
int directionPin_M1 = 4;   //M1 Direction Control
int directionPin_M2 = 7;   //M2 Direction Control
int irPin_Left = A2;
int irPin_MidLeft = A3;
int irPin_MidRight = A4;
int irPin_Right = A5;
intirValue_Left = 0;
intirValue_MidLeft = 0;
intirValue_MidRight = 0;
intirValue_Right = 0;
int TestedPin_LED = 12;
////////////////////////////////////////////////////
void setup() {
pinMode(irPin_Left,INPUT);
pinMode(irPin_MidLeft,INPUT);
pinMode(irPin_MidRight,INPUT);
pinMode(irPin_Right,INPUT);

pinMode(TestedPin_LED,OUTPUT);
for(int i=0;i<3;i++)
{
    digitalWrite(TestedPin_LED,HIGH);
    delay(200);
    digitalWrite(TestedPin_LED,LOW);
    delay(200);
}
//Serial.begin(9600);
}
/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
void loop(){
irValue_Left = analogRead(irPin_Left );
irValue_MidLeft = analogRead(irPin_MidLeft );
irValue_MidRight = analogRead(irPin_MidRight );
irValue_Right = analogRead(irPin_Right );
//   carAdvance(100,100); //Start

if(irValue_Left>=800 && irValue_Right>=800 && (irValue_MidLeft<=100||irValue_MidRight<=100))
{//
    carAdvance(100,100); //on line
    delay(5);
}
if((irValue_Left<=10||irValue_MidLeft<=10) && irValue_Right>=800 )
{
    carTurnLeft(0,100); //veering off right
    delay(5);
}

if(irValue_Left>=800 && (irValue_Right<=10||irValue_MidRight<=10))
{
    carTurnRight(100,0); //veering off left
    delay(5);
}

if(irValue_Left>=800 && irValue_MidLeft>=800 && irValue_MidRight>=800 && irValue_Right>=800)
{
    carTurnLeft(70,70);// If line is lost try to reacquire
    delay(10);
}

if(irValue_Left<=100 && irValue_MidLeft<=100 && irValue_MidRight<=100 && irValue_Right<=100)
{
    carTurnRight(70,70);//如果走到T形路或急转弯处,四个传感器同时全部检测到黑线,则右转
    delay(10);
}
}
/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
void carStop(){               //Motor Stop
digitalWrite(speedPin_M2,0);
digitalWrite(directionPin_M1,LOW);   
digitalWrite(speedPin_M1,0);   
digitalWrite(directionPin_M2,LOW);   
}   
void carAdvance(int leftSpeed,int rightSpeed){         //Move forward
analogWrite (speedPin_M2,leftSpeed);            //PWM Speed Control
digitalWrite(directionPin_M1,HIGH);   
analogWrite (speedPin_M1,rightSpeed);   
digitalWrite(directionPin_M2,HIGH);
}
void carBack(int leftSpeed,int rightSpeed){       //Move backward
analogWrite (speedPin_M2,leftSpeed);
digitalWrite(directionPin_M1,LOW);   
analogWrite (speedPin_M1,rightSpeed);   
digitalWrite(directionPin_M2,LOW);
}
void carTurnRight(int leftSpeed,int rightSpeed){         //Turn Right   
analogWrite (speedPin_M2,leftSpeed);
digitalWrite(directionPin_M1,LOW);   
analogWrite (speedPin_M1,rightSpeed);   
digitalWrite(directionPin_M2,HIGH);
}
void carTurnLeft(int leftSpeed,int rightSpeed){          //Turn Left
analogWrite (speedPin_M2,leftSpeed);
digitalWrite(directionPin_M1,HIGH);   
analogWrite (speedPin_M1,rightSpeed);   
digitalWrite(directionPin_M2,LOW);
}

//////////////////////////////////////////////////////////////////

hnyzcj 发表于 2016-4-16 15:40:53

shafa

hnyzcj 发表于 2016-4-16 15:41:42

好多六个核桃

dsweiliang 发表于 2016-4-17 17:56:25

赞一个

Ash 发表于 2016-4-19 10:40:46

赞一个 小乌龟萌萌哒

dsweiliang 发表于 2016-4-20 08:26:39

凌风清羽 发表于 2016-4-20 11:10:08

我也有一个,刚好可以玩起来,哈哈‘

大连林海 发表于 2016-4-20 20:34:36

好多六个核桃萌萌哒

爱吃柠檬的兔子 发表于 2016-4-21 17:17:20

有没有详细的制作过程啊,好可爱的机器人,也想做一个

安卓机器人 发表于 2016-4-21 18:56:12

爱吃柠檬的兔子 发表于 2016-4-21 17:17
有没有详细的制作过程啊,好可爱的机器人,也想做一个

DF商城有详细说明

wht 发表于 2016-6-8 18:39:00

好赞\(≧▽≦)/

面包板 发表于 2017-3-29 22:53:02

拓展性还是有的

安卓机器人 发表于 2017-3-31 08:04:10

面包板 发表于 2017-3-29 22:53
拓展性还是有的

嗯嗯,添加传感器,可玩性高高的~
页: [1]
查看完整版本: 由Turtle 3PA三轮小车机器人改装成循迹小车