已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
智能小车前后左右综合实验智能小车前后左右综合实验 void left int time 左转 左轮不动 右轮前进 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 int time 左转 左轮后退 右轮前进 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 HIGH analogWrite Left motor go 0 analogWrite Left motor back 200 PWM 比例 0 255 调速 delay time 100 执行时间 可以调整 void right int time 右转 右轮不动 左轮前进 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 HIGH 左电机前进 digitalWrite Left motor back LOW analogWrite Left motor go 200 analogWrite Left motor back 0 PWM 比例 0 255 调速 delay time 100 执行时间 可以调整 void spin right int time 右转 右轮后退 左轮前进 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 HIGH 左电机前进 digitalWrite Left motor back LOW analogWrite Left motor go 200 analogWrite Left motor back 0 PWM 比例 0 255 调速 delay time 100 执行时间 可以调整 void back int time 后退 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 LOW 左轮后退 digitalWrite Left motor back HIGH analogWrite Left motor go 0 analogWrite Left motor back 150 PWM 比例 0 255 调速 delay time 100 执行时间 可以调整 增加了向左转和向右转 向左转主要是控制左轮不动 邮轮前进 而向右转则是右轮不动左轮前进 后退则是给两个轮子后退高电平 注意不能同时给前进和后退高电平 这样会烧坏电机 同样烧录例程时要断开 vcc 以免小车乱跑影响实验 按键启动蜂鸣报警按键启动蜂鸣报警 安装开关是为了在烧录过程中及时不断开 vcc 小车也不会乱跑 以后每次烧录都不必断开 vcc int key 7 定义按键 数字 12 接口 int beep 12 定义蜂鸣器 数字 7 接口 void keysacn int val val digitalRead key 读取数字 7 口电平值赋给 val while digitalRead key 当按键没被按下时 一直循环 val digitalRead key 此句可省略 可让循环跑空 while digitalRead key 当按键被按下时 delay 10 延时 10ms val digitalRead key 读取数字 7 口电平值赋给 val if val HIGH 第二次判断按键是否被按下 digitalWrite beep HIGH 蜂鸣器响 while digitalRead key 判断按键是否被松开 digitalWrite beep LOW 蜂鸣器停止 else digitalWrite beep LOW 蜂鸣器停止 I O 口的意思即为 INPUT 接口和 OUTPUT 接口 到目前为止我们设计的小灯实验都还只是应用到 Arduino 的 I O 口的输出功能 这个实验我们来尝试一下使用 Arduino 的 I O 口的输入功能即为读取外接设备 的输出值 智能小车寻黑线智能小车寻黑线 利用小车下端两个探头对光的不同反应来确定小车行驶路线 主要是当探测到白时小车行驶电机转动 当左侧压到黑线及探测到黑时小车向左行驶 当右侧探头探测到黑时则向行驶 只需在之前的程序上加一个判定的过程 十分简单 const int SensorRight 3 右循迹红外传感器 P3 2 OUT1 const int SensorLeft 4 左循迹红外传感器 P3 3 OUT2 SR digitalRead SensorRight 有信号表明在白色区域 车子底板上 L3 亮 没信号表明压在黑线 上 车子底板上 L3 灭 SL digitalRead SensorLeft 有信号表明在白色区域 车子底板上 L2 亮 没信号表明压在黑线 上 车子底板上 L2 灭 if SL LOW 调用前进函数 else if SL HIGH else if SR HIGH else 都是白色 停止 brake 这里使用了与的语句 当左边高电平右边低电频时想左 当左边低电平右边高电平时向右 若都是高电平 则停车 这里的 if else 语句也满足了小车在行驶时的各种情况 智能小车红外避障智能小车红外避障 与黑线实验类似 只是将判定写到了红外探头中 当红外探头探测到障碍时小车停止或者转向或者跟随障 碍物行驶指向哪里走到哪里 遇到障碍物后退遇到障碍物后退 else 都是有障碍物 后退 back 3 这里是与其他两个程序不同的一点 遇到了障碍则后退 SR 2 digitalRead SensorRight 2 SL 2 digitalRead SensorLeft 2 if SL 2 HIGH 调用前进函数 else if SL 2 HIGH else if SR 2 HIGH else 都是有障碍物 后退 back 3 遇到障碍物跟随遇到障碍物跟随 else if SL 2 HIGH 这里与上一个程序不同 是跟随障碍物 哪里有障碍物就向哪里走 这是与上一个程序不同的地方 若前方没有障碍物则停车 可以在这句话中体现 else 没有障碍物 停 brake SR 2 digitalRead SensorRight 2 SL 2 digitalRead SensorLeft 2 if SL 2 LOW 调用前进函数 else if SR 2 HIGH else 没有障碍物 停 brake 遇到障碍物转向遇到障碍物转向这里遇上两个程序不同的是增加了一个自动寻路功能 遇到障碍物后可以自己调节 方向 可以在下面这句话中体现 else 都是有障碍物 后退 back 4 5 后退 spin right 4 5 有旋转 调整方向 先停车 停车之后转向 使得小车十分灵活 规避障碍物 SR 2 digitalRead SensorRight 2 SL 2 digitalRead SensorLeft 2 if SL 2 HIGH 调用前进函数 else if SL 2 HIGH else if SR 2 HIGH else 都是有障碍物 后退 back 4 5 后退 spin right 4 5 有旋转 调整方向 智能小车超声波测距实验智能小车超声波测距实验 这里程序中大家可以看到 Fdistance Fdistance 58 这里选择除以 58 后再输出是因为为什么除以 58 等于厘米 Y 米 X 秒 344 2 X 秒 2 Y 米 344 X 秒 0 0058 Y 米 厘米 微秒 58 void Distance test 量出前方距离 digitalWrite Trig LOW 给触发脚低电平 2 s delayMicroseconds 2 digitalWrite Trig HIGH 给触发脚高电平 10 s 这里至少是 10 s delayMicroseconds 10 digitalWrite Trig LOW 持续给触发脚低电 float Fdistance pulseIn Echo HIGH 读取高电平时间 单位 微秒 Fdistance Fdistance 58 为什么除以 58 等于厘米 Y 米 X 秒 344 2 X 秒 2 Y 米 344 X 秒 0 0058 Y 米 厘米 微秒 58 Serial print Distance 输出距离 单位 厘米 Serial println Fdistance 显示距离 Distance Fdistance 智能小车超声波避障实验智能小车超声波避障实验 无舵机无舵机 这里只是比之前多了一个转向遇到障碍物可以转向躲避 并测出距离 这时的小车已经十分的灵活 可以根据距离选择行驶的模式 可以在下面这句话体现 while Distance 60 再次判断是否有障碍物 若有则转动方向后 继续判断 right 1 右转 brake 1 停车 Distance test 测量前方距离 Distance display 液晶屏显示距离 遇到障碍物先停车后向右转向 Distance test 测量前方距离 Distance display 液晶屏显示距离 if Distance 60 数值为碰到障碍物的距离 可以按实际情况设置 while Distance 60 再次判断是否有障碍物 若有则转动方向后 继续判断 right 1 右转 brake 1 停车 Distance test 测量前方距离 Distance display 液晶屏显示距离 else run 无障碍物 直行 智能小车超声波避障实验智能小车超声波避障实验 有舵机有舵机 while 1 front detection 测量前方距离 if Front Distance 32 当遇到障碍物时 back 2 后退减速 brake 2 停下来做测距 left detection 测量左边距障碍物距离 Distance display Left Distance 液晶屏显示距离 right detection 测量右边距障碍物距离 Distance display Right Distance 液晶屏显示距离 if Left Distance 35 左转 brake 1 刹车 稳定方向 else 右边比左边空旷 right 3 右转 brake 1 刹车 稳定方向 else run 无障碍物 直行 智能小车红外遥控实验智能小车红外遥控实验 NEC 协议的特点 1 8 位地址位 8 位命令位 2 为了可靠性地址位和命令位被传输两次 3 脉冲位置调制 4 载波频率 38khz 5 每一位的时间为 1 125ms 或 2 25ms VOUT 接到模拟口 GND 接到实验板上的 GND VCC 接到实验板上的 5v 将红外接收头按照上述方法接好 将 VOUT 接到数字 11 口引脚 将 LED 灯通过电阻接到数字引脚 2 3 4 5 6 7 unsigned long last millis 应用 millis 函数可获取机器运行的时间长度 单位 ms 系统最长的记录时间为 9 小时 22 分 如果超出时间将从 0 开始 函数返回值为 unsigned long 型 无 参数 注意 注意 复制 2 例程代码 例程 19 红外遥控里的库文件夹 IRremote 到 Arduino 的安装目录 Arduino libraries 目录下 缺失库文件可能编译出错 给小车安装红外探头 并给遥控器定义 即可完成控制过程 long run car 0 x00FF18E7 按键 2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 非织造布卷绕分切工冲突解决测试考核试卷含答案
- 平版制版员诚信品质考核试卷含答案
- 电光源电路部件制造工安全实操水平考核试卷含答案
- 2025年环卫清洁装备项目发展计划
- 2026年重生式消费项目评估报告
- 供水业务知识题库及答案
- 施工安全消防措施
- 导管滑脱应急预案演练脚本
- 2025年AI自然语言处理技术培训专项试题及答案
- 2025年单位驾驶员年度工作总结
- 2026年重庆市江津区社区专职人员招聘(642人)笔试备考试题及答案解析
- 2026年思明区公开招聘社区工作者考试备考题库及完整答案详解1套
- 【四年级】【数学】【秋季上】期末家长会:数海引航爱伴成长【课件】
- 小学音乐教师年度述职报告范本
- 2025年新版八年级上册历史期末考试模拟试卷试卷 3套(含答案)
- 2026福建厦门市校园招聘中小学幼儿园中职学校教师346人笔试参考题库及答案解析
- 2025年合肥经开投资促进有限公司公开招聘11人笔试参考题库及答案解析
- 储能电站电力销售协议2025
- 肿瘤科人文关怀护理
- GB/T 1048-2019管道元件公称压力的定义和选用
- 临床见习带教2课件
评论
0/150
提交评论