Avoidance by Infrared and Ultrasonic(一)
来源:互联网 发布:小猪微信cms源码下载 编辑:程序博客网 时间:2024/06/05 19:45
一、实现要求
- 使用红外避障模块实现低位置处的障碍物避障
- 使用超声波模块实现高位置处的避障
- 使用舵机模块实现超声波模块的多角度探测
二、使用材料
- 可驱动的小车模型
- 红外避障模块
- 超声波模块
- 舵机模块
- Arduino UNO开发板
三、舵机的使用
- 完成相应线路的连接
- 舵机引脚的定义和相关变量
#define servoPin 2 //servo signalint pulseWidth; //pulse width
- 初始化函数
//initialization of servopinMode(servoPin, OUTPUT);
- 舵机控制函数
void turnServo(int angle){ for(int i = 0; i <= 20; i++) servoPulse(angle);}void servoPulse(int angle){ pulseWidth = (angle * 11) + 500; //map the pulse width value to 500-2048 digitalWrite(servoPin, HIGH); delayMicroseconds(pulseWidth); digitalWrite(servoPin, LOW); delay(20-pulseWidth/1000); }
- 至此可实现舵机在(0, 180)内任意角度的转向
四、红外避障模块的使用
- 完成相应线路的连接
- 引脚定义和相关的变量
#define infraredRight 8 //left infrared signal#define infraredLeft 11 //right infrared signalint infraredLeftState; //left infrared stateint infraredRightState; //right infrared state
- 初始化函数
//initialization of infrared pinMode(infraredLeft, INPUT); pinMode(infraredRight, INPUT);
- 红外检测函数
void infraredJudge(){ infraredLeftState = digitalRead(infraredLeft); infraredRightState = digitalRead(infraredRight); if(infraredLeftState == LOW && infraredRightState == LOW) { //both left and right has obstacle } else if(infraredLeftState == HIGH && infraredRightState == LOW){ //right has obstacle } else if(infraredLeftState == LOW && infraredRightState == HIGH){ //left has obstacle }}
五、超声波模块的使用
- 完成线路的连接
- 引脚的定义和相关变量
#define ultrasonicEcho A1 //Echo signal #define ultrasonicTrig A0 //Trig signalint distanceFront; //front distanceint distanceLeft; //left distanceint distanceRight; //right distance
- 初始化函数
//initialization of ultrasonic pinMode(ultrasonicEcho, INPUT); pinMode(ultrasonicTrig, OUTPUT);
- 超声波检测函数
float distanceTest(){ digitalWrite(ultrasonicTrig, LOW); delayMicroseconds(2); digitalWrite(ultrasonicTrig, HIGH); delayMicroseconds(10); digitalWrite(ultrasonicTrig, LOW); float dis = pulseIn(ultrasonicEcho, HIGH); dis = dis / 58; return dis;}
阅读全文
0 0
- Avoidance by Infrared and Ultrasonic(一)
- Avoidance by Infrared and Ultrasonic(二)
- infrared
- (过拟合及其防治)Overfitting and Its Avoidance
- Manipulator Planning and Obstacle Avoidance Using Genetic Algorithm
- deadlock avoidance
- Infrared Radiation
- 一分钟了解“文章Infrared Small-Target Detection Using Multiscale Gray Difference Weighted Image Entropy”
- 一分钟了解“文章Small Infrared Target Detection Based on Weighted Local Difference Measure”
- Arduino: Ultrasonic Sensor & Motor Car
- Infrared and visible image fusion using total variation model(采用全变差模型的红外与可见光图像的融合)
- HDU 1458Tax Avoidance
- Locking with Deadlock Avoidance
- Group by and Order by
- and,or,order by
- ROS中使用arduino连接ultrasonic sensor
- 图像修复一:Region Filling and Object Removal by Exemplar-Based Inpainting
- Understanding Steering Behaviors: Collision Avoidance
- 基于JQuery的轮播图插件nivo-slider使用教程
- 通往大神之路
- 一个按钮点击隐藏下面内容,再点击显示,并且按钮自己里边的字也在变
- php中异常处理方法小结
- springboot 实现邮件发送功能
- Avoidance by Infrared and Ultrasonic(一)
- Unity入门操作_ 吊桥_022
- linux学习之路4 系统目录架构
- tensorflow笔记(三)之 tensorboard的使用
- 本地调试
- DB2 export 使用Modified by <file-mod> 方法随笔
- java实现TreeSet,迭代器使用二叉查找树,每个节点有前驱和后继
- 数据挖掘导论可视化部分总结
- 根据离散点用matlab拟合出其对应的函数