Arduino 超声波避障循迹小车,四轮智能小车
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
Arduino 超声波避障循迹小车,智能小车文章目录
- 前言
- 一、仿真原理图
- 二、使用步骤
- 1.引入库
- 2.程序
- 总结
前言
所用到的元器件有:arduino uno1块,L298直流电机驱动板2块,lcd1602带iic1块,HC-05超声波模1块,led灯,直流电机2个,循迹模块4个,有源蜂鸣器1个
一、仿真原理图
二、使用步骤
当智能小车离障碍物只有20cm时,小车左转,然后前进,当第2和第3个循迹模块遇到黑线时小车前进,第1个和第2个循迹模块遇到黑线时小车左转,第3个和第4个循迹模块遇到黑线时小车右转。
1.引入库
代码如下(示例):
#include <Wire.h>
#include <LiquidCrystal_I2C.h> lcd.print("如有不懂的地方加作者Q:2188263281");
2.程序
代码如下(示例):
#include <Wire.h>
#include <LiquidCrystal_I2C.h> //引用lcd1602I2C库 //设置LCD1602设备地址,这里的地址是0x3F,一般是0x20,或者0x27,具体看模块手册
LiquidCrystal_I2C lcd(0x27,20,4);
const int Pin1 = 2;
const int Pin2 = 3;
const int Pin3 = 4;
const int Pin4 = 5;
const int Pin5 = 6;
const int Pin6 = 7;
const int Pin7 = 8;
const int Pin8 = 9;
const int TrigPin = 10;
const int EchoPin = 11;
const int fmq = 12;
const int gd1= A0;
const int gd2= A1;
const int gd3= A2;
const int gd4= A3;
int cm;
int sensor[5];
void setup() {lcd.init(); // 初始化LCD
lcd.backlight(); //设置LCD背景等亮
for(int a = 2; a < 11;a++)
{pinMode(a, OUTPUT);
}pinMode(A0, INPUT);pinMode(A1, INPUT);pinMode(A2, INPUT);pinMode(A3, INPUT);Serial.begin(9600);pinMode(EchoPin, INPUT);pinMode(fmq, OUTPUT);
}
void loop() {// put your main code here, to run repeatedly:digitalWrite(TrigPin, LOW);delayMicroseconds(2);digitalWrite(TrigPin, HIGH);delayMicroseconds(10);digitalWrite(TrigPin, LOW); cm = pulseIn(EchoPin, HIGH) / 58.0;//算成厘米 cm = (int(cm * 100.0)) / 100.0;//保留两位小数 lcd.setCursor(0,0); lcd.print(cm + 1); lcd.setCursor(3,0); lcd.print("cm"); sensor[0]=digitalRead(A0);sensor[1]=digitalRead(A1);sensor[2]=digitalRead(A2);sensor[3]=digitalRead(A3);if(sensor[0] == 0&& sensor[1] == 0&& sensor[2] == 1&&sensor[3] == 0) //0010{moto_run4(); //右转}else if(sensor[0] == 0&& sensor[1] == 0&& sensor[2] == 0&&sensor[3] == 1) //0001{moto_run4() ;//右转}else if(sensor[0] == 0&& sensor[1] == 1&& sensor[2] == 0&&sensor[3] == 0) //0100{moto_run3(); //左转}else if(sensor[0] == 1&& sensor[1] == 0&& sensor[2] == 0&&sensor[3] == 0) //1000{moto_run3(); //左转}else if(sensor[0] == 0&& sensor[1] == 1&& sensor[2] == 1&&sensor[3] == 0) //0110{moto_run1(); //直行}else if(cm < 20){digitalWrite(fmq, 1);moto_run3(); //左转delay(3000);}else if(sensor[0] == 0&& sensor[1] == 0&& sensor[2] == 0&&sensor[3] == 0){moto_run1(); //向前digitalWrite(fmq, 0);}
}void moto_run1()//向前
{digitalWrite(Pin1, 1);digitalWrite(Pin2, 0);digitalWrite(Pin3, 1);digitalWrite(Pin4, 0);digitalWrite(Pin5, 1);digitalWrite(Pin6, 0);digitalWrite(Pin7, 1);digitalWrite(Pin8, 0);
}void moto_run2()//向后{digitalWrite(Pin1, 0);digitalWrite(Pin2, 1);digitalWrite(Pin3, 0);digitalWrite(Pin4, 1);digitalWrite(Pin5, 0);digitalWrite(Pin6, 1);digitalWrite(Pin7, 0);digitalWrite(Pin8, 1);
}void moto_run3()//向左{ digitalWrite(Pin1, 0);digitalWrite(Pin2, 1);digitalWrite(Pin3, 0);digitalWrite(Pin4, 1);digitalWrite(Pin5, 1);digitalWrite(Pin6, 0);digitalWrite(Pin7, 1);digitalWrite(Pin8, 0);}
void moto_run4()//向右{digitalWrite(Pin1,1);digitalWrite(Pin2, 0);digitalWrite(Pin3, 1);digitalWrite(Pin4, 0);digitalWrite(Pin5, 0);digitalWrite(Pin6, 1);digitalWrite(Pin7, 0);digitalWrite(Pin8, 1);}
void moto_run5()//停止{digitalWrite(Pin1,0);digitalWrite(Pin2, 0);digitalWrite(Pin3, 0);digitalWrite(Pin4, 0);digitalWrite(Pin5, 0);digitalWrite(Pin6, 0);digitalWrite(Pin7, 0);digitalWrite(Pin8, 0);}
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了智能小车的使用。
Arduino 超声波避障循迹小车,四轮智能小车相关推荐
- 51单片机智能小车(舵机云台超声波避障+循迹+蓝牙+红外跟随)
**51单片机智能小车(舵机云台超声波避障+循迹+蓝牙+红外跟随+遥控+TFT液晶显示屏) 本人由于使用的液晶显示屏,程序大于8K,所以更换为STC12C5A60S2芯片,与51芯片兼容. 功能比较多 ...
- 智能循迹避障小车C语言程序编写思路,基于单片机的智能小车红外避障循迹系统设计与制作...
余秀玲 余秀娟 摘 要:随着科技的高速发展,人们对生活质量的要求越来越高,无人驾驶汽车已经被广为研发和试用,由此智能小车的快速发展也是在情理之中.通过对基于单片机的智能小车的硬件及软件设计分析,实现红 ...
- 简单易上手 51蓝牙 PWM调速 避障 循迹小车(最强小车)
目录 一.前言 二.硬件 三.软件 四.手机端设置 五.总结 一.前言 基于前面的51小车模块,我增加了循迹模块,先给大家看看效果吧: 二.硬件 循迹模块 1.循迹模块三个IO,硬件原理,亮灯返回1, ...
- 智行小车(基于51单片机)——避障+循迹+停
讲道理,这辆小车是我们参加校赛所制作的,在这次的小车制作过程之中存在的很多的不足和时间的浪费情况. 队员的选择和分工也都存在着一定的问题(这应该是我最头疼的问题) 但是总得来说还算是取得了一个不错的结 ...
- ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车超声波避障实验(有舵机)
在下载到开发板之前要选择好板和端口,具体参见: ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 -- Arduino相关设置 代码 // 智能小车超声波避障实验(有舵机) // 程序中电脑打印 ...
- ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车超声波避障实验(无舵机)
在下载到开发板之前要选择好板和端口,具体参见: ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 -- Arduino相关设置 代码 // 智能小车超声波避障实验(无舵机) //======== ...
- Arduino智能小车——超声波避障
Arduino智能小车--超声波避障 Arduino智能小车系列教程时空门: Arduino智能小车--拼装篇 点击跳转 Arduino智能小车--测试篇 点击跳转 Arduino智能小车--调速篇 ...
- matlab智能小车避障,Arduino智能小车系列教程4——超声波避障
Arduino智能小车系列教程4--超声波避障 Arduino智能小车系列教程 准备材料 超声波模块HC-SR04 舵机固定架 舵机安装 超声波接线 代码测试 代码详解 int getDistance ...
- distance在函数 int_Arduino智能小车——超声波避障
Arduino智能小车--超声波避障 Arduino智能小车系列教程时空门: Arduino智能小车--拼装篇 点击跳转 Arduino智能小车--测试篇 点击跳转 Arduino智能小车--调速篇 ...
- 基于arduino的5路循迹小车(4)与舵机控制板的通信控制
基于arduino的5路循迹小车(4) arduino与舵机控制板的通信控制 以及语音播报模块 接第一篇链接 https://blog.csdn.net/weixin_45984029/article ...
最新文章
- 3.8	采购协议管理
- word公式编辑器快捷键_科研利器|编辑公式,就用这款免费软件,一键搞定!
- LeetCode移掉k位数字(贪心算法)python
- POS机刷卡机招商加盟企业网站源码
- 团队第一阶段冲刺——第九天
- 编写一个成绩分类程序
- 安装 Nginx 并配置负载均衡
- python:whl包离线下载,pip离线安装whl文件
- Vue中 实现 Echarts 图表宽高自适应
- 微信APP支付申请配置过程详解
- 模型预测控制的缺点_开发者说丨Apollo代码学习—模型预测控制(MPC)
- 谷歌Google搜索及谷歌Google学术搜索镜像网站汇总
- 计算机应用if函数题目,if函数练习题.doc
- 根据客户的PDF模板,写入签名图和文本,生成新的PDF图片和JPG图片。
- 刷脸支付便利更好推动普惠金融的落地
- vue关闭eslint语法检查
- 正确认识智能视频分析技术
- 批量添加联系人的方法
- Android 手机灭屏流程分析详解
- obj.name 与 obj[name]语法的区别