ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车红外避障实验(带后退掉头避障)
在下载到开发板之前要选择好板和端口,具体参见:
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寻迹避障机器人 —— 小车红外避障实验(带后退掉头避障)相关推荐
- ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 程序目录
ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 -- 小车前进实验调试 ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 -- 小车前后左右综合实验 ZYAR20A 亚克力2驱 蓝牙 2 ...
- ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车黑线循迹、避障、遥控实验综合程序
在下载到开发板之前要选择好板和端口,具体参见: ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 -- Arduino相关设置 注意 红外遥控程序注意将IRremote 复制到ARDuino安装 ...
- ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车黑线循迹红外避障综合实验
在下载到开发板之前要选择好板和端口,具体参见: ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 -- Arduino相关设置 注意 红外遥控程序注意将IRremote 复制到ARDuino安装 ...
- ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车红外遥控实验
在下载到开发板之前要选择好板和端口,具体参见: ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 -- Arduino相关设置 注意 红外遥控程序注意将IRremote 复制到ARDuino安装 ...
- ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车超声波避障实验(有舵机)
在下载到开发板之前要选择好板和端口,具体参见: ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 -- Arduino相关设置 代码 // 智能小车超声波避障实验(有舵机) // 程序中电脑打印 ...
- ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车超声波避障实验(无舵机)
在下载到开发板之前要选择好板和端口,具体参见: ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 -- Arduino相关设置 代码 // 智能小车超声波避障实验(无舵机) //======== ...
- ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车黑线循迹实验 四驱
在下载到开发板之前要选择好板和端口,具体参见: ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 -- Arduino相关设置 代码 // 智能小车黑线循迹实验 //============== ...
- ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车按键启动和蜂鸣器报警
在下载到开发板之前要选择好板和端口,具体参见: ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 -- Arduino相关设置 代码 // 智能小车按键启动和蜂鸣器报警 //========== ...
- ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车指定花式动作
在下载到开发板之前要选择好板和端口,具体参见: ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 -- Arduino相关设置 代码 // 智能小车指定花式动作 //============== ...
最新文章
- 2、安装Lync Server 2013
- 数据蒋堂 | JOIN提速 - 外键指针化
- 【有上下界网络流】【ZOJ】2314 Reactor Cooling
- 超级计算机排名表格,全球超级计算机500强_科技时代首页_新浪网
- powershell 备份文件脚本
- ajax图片上传(asp.net +jquery+ashx)
- mipi 调试经验【转】
- 海天味业打造高端调味品领衔食品美味
- sqldeveloper 工具的使用——连接数据库的介绍
- 大数据Hadoop(五):Hadoop架构
- 番茄助手 VS2015
- 大学生简单个人静态HTML网页设计作品 DIV布局个人介绍网页模板代码 DW学生个人网站制作成品下载
- windows/system32/winload.exe系统无法登录报错428的快速解决方法
- 20220505模拟赛总结(ABC237)
- 深圳现货原装正品JST提供各种专为汽车市场而设的线束连接器PAP-12V-S PAP-13V-S PAP-10V-S PHR-9 PHR-10
- 项目管理中软件项目文档的分类管理
- java 识别doc、docx
- debugview下无法显示kdprint log 的问题
- RS422-485接口电路设计要点
- Flash动画学习指南二:帧频(Frame rates)
热门文章
- python之itemgetter函数:对字典列表进行多键排序
- Native与H5交互的一些解决方法
- [蓝桥杯] 连号区间数
- 机器人铁锈斑斑好吗_工业机器人系统运维员是什么职业?这个职业好吗?去哪里学?...
- html5纪念日期代码,HTML5适合的情人节礼物有纪念日期功能
- 上下定高 中间自适应_ADAS|驾驶辅助系统之自适应灯光照明系统
- 永恒python怎么强化_永恒python加6_pythontip 挑战python (6-10)
- r语言中mpg数据_R语言常用的数据处理的包(1)
- php 当前路径函数,PHP解析目录路径的3个函数总结
- 2013豆瓣校园招聘研发类笔试题