在下载到开发板之前要选择好板和端口,具体参见:

ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— Arduino相关设置

代码

//  智能小车红外避障实验1(基础避障)
//===============================================================
//#include <Servo.h>
int Left_motor_go=8;     //左电机前进(IN1)
int Left_motor_back=9;     //左电机后退(IN2)int Right_motor_go=10;    // 右电机前进(IN3)
int Right_motor_back=11;    // 右电机后退(IN4)int key=A2;//定义按键 数字A2 接口
int beep=A3;//定义蜂鸣器 数字A3 接口int LED=7;//定义LED 数字7 接口const int SensorRight_2 = 5;      //左边红外避障传感器()
const int SensorLeft_2 = 6;    //右边红外避障传感器()int SR_2;    //右边红外避障传感器状态
int SL_2;    //左边红外避障传感器状态void setup()
{//初始化电机驱动IO为输出方式pinMode(Left_motor_go,OUTPUT); // PIN 8 ( 无 PWM)pinMode(Left_motor_back,OUTPUT); // PIN 9 (PWM)pinMode(Right_motor_go,OUTPUT);// PIN 10 (PWM) pinMode(Right_motor_back,OUTPUT);// PIN 11 (PWM)pinMode(key,INPUT);//定义按键接口为输入接口pinMode(beep,OUTPUT);//定义蜂鸣器为输出接口pinMode(LED,OUTPUT);//定义LED为输出接口pinMode(SensorRight_2, INPUT); //定义中间避障传感器为输入}
//=======================智能小车的基本动作=========================
//void run(int time)     // 前进
void run()     // 前进
{digitalWrite(Right_motor_go,HIGH);  // 右电机前进digitalWrite(Right_motor_back,LOW);     analogWrite(Right_motor_go,160);//PWM比例0~255调速,左右轮差异略增减analogWrite(Right_motor_back,0);digitalWrite(Left_motor_go,LOW);  // 左电机前进digitalWrite(Left_motor_back,HIGH);analogWrite(Left_motor_go,0);//PWM比例0~255调速,左右轮差异略增减analogWrite(Left_motor_back,160);//delay(time * 100);   //执行时间,可以调整
}void brake()  //刹车,停车
{digitalWrite(Right_motor_go,LOW);digitalWrite(Right_motor_back,LOW);digitalWrite(Left_motor_go,LOW);digitalWrite(Left_motor_back,LOW);//delay(time * 100);//执行时间,可以调整
}//void left(int time)         //左转(左轮不动,右轮前进)
void left()         //左转(左轮不动,右轮前进)
{digitalWrite(Right_motor_go,HIGH); // 右电机前进digitalWrite(Right_motor_back,LOW);analogWrite(Right_motor_go,200); analogWrite(Right_motor_back,0);//PWM比例0~255调速digitalWrite(Left_motor_go,LOW);   //左轮后退digitalWrite(Left_motor_back,LOW);analogWrite(Left_motor_go,0); analogWrite(Left_motor_back,0);//PWM比例0~255调速//delay(time * 100);    //执行时间,可以调整
}void spin_left( )         //左转(左轮后退,右轮前进)
{digitalWrite(Right_motor_go,HIGH); // 右电机前进digitalWrite(Right_motor_back,LOW);analogWrite(Right_motor_go,200); analogWrite(Right_motor_back,0);//PWM比例0~255调速digitalWrite(Left_motor_go,HIGH);   //左轮后退digitalWrite(Left_motor_back,LOW);analogWrite(Left_motor_go,200); analogWrite(Left_motor_back,0);//PWM比例0~255调速//delay(time * 100); //执行时间,可以调整
}//void right(int time)
void right()        //右转(右轮不动,左轮前进)
{digitalWrite(Right_motor_go,LOW);   //右电机后退digitalWrite(Right_motor_back,LOW);analogWrite(Right_motor_go,0); analogWrite(Right_motor_back,0);//PWM比例0~255调速digitalWrite(Left_motor_go,LOW);//左电机前进digitalWrite(Left_motor_back,HIGH);analogWrite(Left_motor_go,0); analogWrite(Left_motor_back,200);//PWM比例0~255调速//delay(time * 100); //执行时间,可以调整
}void spin_right()        //右转(右轮后退,左轮前进)
{digitalWrite(Right_motor_go,LOW);   //右电机后退digitalWrite(Right_motor_back,HIGH);analogWrite(Right_motor_go,0); analogWrite(Right_motor_back,200);//PWM比例0~255调速digitalWrite(Left_motor_go,LOW);//左电机前进digitalWrite(Left_motor_back,HIGH);analogWrite(Left_motor_go,0); analogWrite(Left_motor_back,200);//PWM比例0~255调速//delay(time * 100);  //执行时间,可以调整
}void back()          //后退
{digitalWrite(Right_motor_go,LOW);  //右轮后退digitalWrite(Right_motor_back,HIGH);analogWrite(Right_motor_go,0);analogWrite(Right_motor_back,150);//PWM比例0~255调速digitalWrite(Left_motor_go,HIGH);  //左轮后退digitalWrite(Left_motor_back,LOW);analogWrite(Left_motor_go,150);analogWrite(Left_motor_back,0);//PWM比例0~255调速//delay(time * 100);     //执行时间,可以调整
}
//==========================================================void keysacn()//按键扫描
{int val;val=digitalRead(key);//读取数字7 口电平值赋给valwhile(!digitalRead(key))//当按键没被按下时,一直循环{val=digitalRead(key);//此句可省略,可让循环跑空}while(digitalRead(key))//当按键被按下时{delay(10);  //延时10msval=digitalRead(key);//读取数字7 口电平值赋给valif(val==HIGH)  //第二次判断按键是否被按下{digitalWrite(beep,HIGH);     //蜂鸣器响while(!digitalRead(key))  //判断按键是否被松开digitalWrite(beep,LOW);      //蜂鸣器停止}elsedigitalWrite(beep,LOW);//蜂鸣器停止}
}void loop()
{keysacn();    //调用按键扫描函数while(1){//有信号为LOW  没有信号为HIGHSR_2 = digitalRead(SensorRight_2);SL_2 = digitalRead(SensorLeft_2);if (SL_2 == HIGH&&SR_2==HIGH){run();   //调用前进函数digitalWrite(beep,LOW);}else if (SL_2 == HIGH & SR_2 == LOW)// 右边探测到有障碍物,有信号返回,向左转 left();else if (SR_2 == HIGH & SL_2 == LOW) //左边探测到有障碍物,有信号返回,向右转  spin_right();else // 都是有障碍物, 后退{digitalWrite(beep,HIGH);        //蜂鸣器响//digitalWrite(LED,HIGH);     //LED亮brake();//停止200MSdelay(300);back();//后退500MSdelay(400);left();//调用左转函数  延时500ms delay(500); }}
}

ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车红外避障实验(带后退掉头避障)相关推荐

  1. ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 程序目录

    ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 -- 小车前进实验调试 ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 -- 小车前后左右综合实验 ZYAR20A 亚克力2驱 蓝牙 2 ...

  2. ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车黑线循迹、避障、遥控实验综合程序

    在下载到开发板之前要选择好板和端口,具体参见: ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 -- Arduino相关设置 注意 红外遥控程序注意将IRremote 复制到ARDuino安装 ...

  3. ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车黑线循迹红外避障综合实验

    在下载到开发板之前要选择好板和端口,具体参见: ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 -- Arduino相关设置 注意 红外遥控程序注意将IRremote 复制到ARDuino安装 ...

  4. ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车红外遥控实验

    在下载到开发板之前要选择好板和端口,具体参见: ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 -- Arduino相关设置 注意 红外遥控程序注意将IRremote 复制到ARDuino安装 ...

  5. ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车超声波避障实验(有舵机)

    在下载到开发板之前要选择好板和端口,具体参见: ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 -- Arduino相关设置 代码 // 智能小车超声波避障实验(有舵机) // 程序中电脑打印 ...

  6. ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车超声波避障实验(无舵机)

    在下载到开发板之前要选择好板和端口,具体参见: ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 -- Arduino相关设置 代码 // 智能小车超声波避障实验(无舵机) //======== ...

  7. ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车黑线循迹实验 四驱

    在下载到开发板之前要选择好板和端口,具体参见: ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 -- Arduino相关设置 代码 // 智能小车黑线循迹实验 //============== ...

  8. ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车按键启动和蜂鸣器报警

    在下载到开发板之前要选择好板和端口,具体参见: ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 -- Arduino相关设置 代码 // 智能小车按键启动和蜂鸣器报警 //========== ...

  9. ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车指定花式动作

    在下载到开发板之前要选择好板和端口,具体参见: ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 -- Arduino相关设置 代码 // 智能小车指定花式动作 //============== ...

最新文章

  1. 2、安装Lync Server 2013
  2. 数据蒋堂 | JOIN提速 - 外键指针化
  3. 【有上下界网络流】【ZOJ】2314 Reactor Cooling
  4. 超级计算机排名表格,全球超级计算机500强_科技时代首页_新浪网
  5. powershell 备份文件脚本
  6. ajax图片上传(asp.net +jquery+ashx)
  7. mipi 调试经验【转】
  8. 海天味业打造高端调味品领衔食品美味
  9. sqldeveloper 工具的使用——连接数据库的介绍
  10. 大数据Hadoop(五):Hadoop架构
  11. 番茄助手 VS2015
  12. 大学生简单个人静态HTML网页设计作品 DIV布局个人介绍网页模板代码 DW学生个人网站制作成品下载
  13. windows/system32/winload.exe系统无法登录报错428的快速解决方法
  14. 20220505模拟赛总结(ABC237)
  15. 深圳现货原装正品JST提供各种专为汽车市场而设的线束连接器PAP-12V-S PAP-13V-S PAP-10V-S PHR-9 PHR-10
  16. 项目管理中软件项目文档的分类管理
  17. java 识别doc、docx
  18. debugview下无法显示kdprint log 的问题
  19. RS422-485接口电路设计要点
  20. Flash动画学习指南二:帧频(Frame rates)

热门文章

  1. python之itemgetter函数:对字典列表进行多键排序
  2. Native与H5交互的一些解决方法
  3. [蓝桥杯] 连号区间数
  4. 机器人铁锈斑斑好吗_工业机器人系统运维员是什么职业?这个职业好吗?去哪里学?...
  5. html5纪念日期代码,HTML5适合的情人节礼物有纪念日期功能
  6. 上下定高 中间自适应_ADAS|驾驶辅助系统之自适应灯光照明系统
  7. 永恒python怎么强化_永恒python加6_pythontip 挑战python (6-10)
  8. r语言中mpg数据_R语言常用的数据处理的包(1)
  9. php 当前路径函数,PHP解析目录路径的3个函数总结
  10. 2013豆瓣校园招聘研发类笔试题