arduino蓝牙小车代码_arduino小车_arduino寻迹小车黑白线(2)

电脑杂谈  发布时间:2017-02-05 22:06:25  来源:网络整理

Arduino避障程序任务:接受GP2Y0A21红外测距传感器的采集数据,并把此数据转换为距离值。如果小车距离前方障碍物小于20cm,则机器人停止、后退、转弯,再前进,直到它又遇到障碍物,再重复执行避障动作。

#include <Servo.h> //申明舵机库文件
float distance_float;//存储由传感器读取值,通过算式处理后的浮点型距离值
int GP2D12 = 0;//把夏普GP2D12红外测距传感器连接在模拟量端口0
int val;   //存储从GP2D12红外测距传感器读到的采样值
Servo myservo1; //定义左舵机对象
Servo myservo2; //定义右舵机对象 
int power1 =93;   //定义变量,用于存储360度舵机功率值
int power2 =93; //360度舵机功率值范围为0~180,零速功率值为93
int randNumber;  //定义随机数变量
void setup() 
{ 
  myservo1.attach(7);  // 连接左舵机到Arduino数字端口7
  myservo2.attach(9); //连接右舵机到Arduino数字端口9
} 
void advance()//小车前进
{
    power1=180; 
    power2=0;
    myservo1.write(power1);             
    myservo2.write(power2);
}
void back()//小车后退
{
    power1=0;  
    power2=180;     
    myservo1.write(power1);            
    myservo2.write(power2); 
}
void left()//小车左转
{
    power1=93;  
    power2=0;     
    myservo1.write(power1);            
    myservo2.write(power2); 
}
void right()//小车右转
{
    power1=180;  
    power2=93;     
    myservo1.write(power1);            
    myservo2.write(power2); 
}
void Stop()//小车停止
{
    power1=93;  
    power2=93;     
    myservo1.write(power1);            
    myservo2.write(power2); 
}
void loop() {
  //GP2Y0A21红为10cm~80cm
  //读取GP2D12红外测距传感器模拟量数据
  val = ogRead(GP2D12); 
  //通过以下算式,把传感器读取值处理成浮点型距离值
   distance_float=2547.8/((float)val*0.49-10.41)-0.42;   
   //如果小车距离障碍物大于20cm,则小车前进,直到小于20cm
   //如果小车距离障碍物小于20cm,则小车后退,然后右转或者左转。
   //当小车距离障碍物大于80cm,或者更远处,红外传感器会计算得到“负”值。
   if (distance_float<=20 && distance_float>0)
     {
       Stop();  //小车停止0.2s
       delay(200);
       back();  //小车后退0.8s
       delay(800);
       randNumber = random(10);
       //小车随机向左或者向右转动,2s
       if(randNumber<5)
       {
         right(); //向右转动,2s
         delay(2000);
       }
       else
       {
         left(); //向左转动,2s
         delay(2000);
       }       
     } 
    else //否则
       advance();//小车前进
 }


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-30758-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 蒂菈歌妲
      蒂菈歌妲

      霉菌给了中国加大岛礁建设的绝佳良机

    热点图片
    拼命载入中...