提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
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 超声波避障循迹小车,四轮智能小车相关推荐

  1. 51单片机智能小车(舵机云台超声波避障+循迹+蓝牙+红外跟随)

    **51单片机智能小车(舵机云台超声波避障+循迹+蓝牙+红外跟随+遥控+TFT液晶显示屏) 本人由于使用的液晶显示屏,程序大于8K,所以更换为STC12C5A60S2芯片,与51芯片兼容. 功能比较多 ...

  2. 智能循迹避障小车C语言程序编写思路,基于单片机的智能小车红外避障循迹系统设计与制作...

    余秀玲 余秀娟 摘 要:随着科技的高速发展,人们对生活质量的要求越来越高,无人驾驶汽车已经被广为研发和试用,由此智能小车的快速发展也是在情理之中.通过对基于单片机的智能小车的硬件及软件设计分析,实现红 ...

  3. 简单易上手 51蓝牙 PWM调速 避障 循迹小车(最强小车)

    目录 一.前言 二.硬件 三.软件 四.手机端设置 五.总结 一.前言 基于前面的51小车模块,我增加了循迹模块,先给大家看看效果吧: 二.硬件 循迹模块 1.循迹模块三个IO,硬件原理,亮灯返回1, ...

  4. 智行小车(基于51单片机)——避障+循迹+停

    讲道理,这辆小车是我们参加校赛所制作的,在这次的小车制作过程之中存在的很多的不足和时间的浪费情况. 队员的选择和分工也都存在着一定的问题(这应该是我最头疼的问题) 但是总得来说还算是取得了一个不错的结 ...

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

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

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

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

  7. Arduino智能小车——超声波避障

    Arduino智能小车--超声波避障 Arduino智能小车系列教程时空门: Arduino智能小车--拼装篇 点击跳转 Arduino智能小车--测试篇 点击跳转 Arduino智能小车--调速篇 ...

  8. matlab智能小车避障,Arduino智能小车系列教程4——超声波避障

    Arduino智能小车系列教程4--超声波避障 Arduino智能小车系列教程 准备材料 超声波模块HC-SR04 舵机固定架 舵机安装 超声波接线 代码测试 代码详解 int getDistance ...

  9. distance在函数 int_Arduino智能小车——超声波避障

    Arduino智能小车--超声波避障 Arduino智能小车系列教程时空门: Arduino智能小车--拼装篇 点击跳转 Arduino智能小车--测试篇 点击跳转 Arduino智能小车--调速篇 ...

  10. 基于arduino的5路循迹小车(4)与舵机控制板的通信控制

    基于arduino的5路循迹小车(4) arduino与舵机控制板的通信控制 以及语音播报模块 接第一篇链接 https://blog.csdn.net/weixin_45984029/article ...

最新文章

  1. 3.8 采购协议管理
  2. word公式编辑器快捷键_科研利器|编辑公式,就用这款免费软件,一键搞定!
  3. LeetCode移掉k位数字(贪心算法)python
  4. POS机刷卡机招商加盟企业网站源码
  5. 团队第一阶段冲刺——第九天
  6. 编写一个成绩分类程序
  7. 安装 Nginx 并配置负载均衡
  8. python:whl包离线下载,pip离线安装whl文件
  9. Vue中 实现 Echarts 图表宽高自适应
  10. 微信APP支付申请配置过程详解
  11. 模型预测控制的缺点_开发者说丨Apollo代码学习—模型预测控制(MPC)
  12. 谷歌Google搜索及谷歌Google学术搜索镜像网站汇总
  13. 计算机应用if函数题目,if函数练习题.doc
  14. 根据客户的PDF模板,写入签名图和文本,生成新的PDF图片和JPG图片。
  15. 刷脸支付便利更好推动普惠金融的落地
  16. vue关闭eslint语法检查
  17. 正确认识智能视频分析技术
  18. 批量添加联系人的方法
  19. Android 手机灭屏流程分析详解
  20. obj.name 与 obj[name]语法的区别

热门文章

  1. 遍历Map集合的4种常用方法
  2. 0基础可以考CPDA数据分析师证书吗
  3. NI控制原型平台配置(硬件+软件)
  4. JavaWbe学习总结之jQuery
  5. 录屏并制作动图gif的方法
  6. 电工学(上)-电工技术 秦曾煌(7版)
  7. BAT 安装/卸载 .net 服务
  8. 彻底弄懂TIME_WAIT 及 tcp_tw_reuse选项
  9. Panabit应用层流量管理系统
  10. 2021-05-11