戴文翔 孙智勇

摘要:基于树莓派的小车实验很多,如通过网页控制小车;利用超声波进行避障....文章主要介绍利用红外进行避障的小车。为实现小车避障功能,需要设计基于树莓派的智能避障小车。把树莓派作为核心程序驱动器,通过L298n电机驱动实现对直流电机的控制以达到控制小车的目的;利用红外避障传感器模块实时监测小车距离障碍物的距离,设计基于红外线反射测距的避障算法以达到避障目的。

关键词:避障小车;红外避障;树莓派;L298n;程序实例

中图分类号:TP391 文献标识码:A 文章编号:1007-9416(2018)01-0089-02

1 硬件设计

(1)避障小车硬件组成包括:小车底盘、3个车轮(两个前轮一个后轮)、两个直流电机、红外模块、红外避障传感器(2个)、电源盒、移动电源(小型)、无线网卡、树莓派。PS:3个车轮中,两个前轮由直流电机直接驱动,后轮选择万向轮。

(2)电源部分:包括四节1.5V (5号)电池,5000毫安移动电源。四节1.5V (5号)电池为L298n提供6V电压,5000毫安移动电源为树莓派提供稳定的5V电压。

(3)驱动部分:包括小车底盘、L298n电机驱动、直流电机(2个)、三个车轮(两个前轮和一个万向轮)。L298n驱动前轮,配合万向轮实现前进、后退以及左右转向。

(4)主控制部分:树莓派。树莓派通过L298n控制直流电机转动,全方向达到移动的目的。树莓连接红外传感器模块,通过红外线接发器,以达到实时测量与障碍物的距离。从而可以做到小车再碰到障碍物之前能按预设避让方式进行避让。最终实现智能避让。

(5)传感器部分:红外避障模块。红外传感器模块连与树莓派,正常工作时,红外避障模块的工作电压为5V左右,但红外避障模块上的红外接发器接受到遇障碍物而折回的红外时,电压会下降0.1V左右。进而产生信号,是树莓派执行避让语句。

2 软件设计

(1)通道搭建,以及通道位置:L298n電机驱动可以驱动两路直流电电机。控制直流电机需要用到L298n的四个端口:方向端IN1、IN2、IN3、IN4(PS:如果不需要使用使能,切勿将ENA、ENB以及板载5V使能端帽拔掉,让其一直保持在高点平状态)。通过改变IN1、IN2等四个端口的高低电频状态,使直流电机正转或反转。树莓派通过引脚连接IN1、IN2等端口,来控制电机转向。避障小车代码如图1:

(2)初始化GPIO端口:不要忘记的在设置完信息交流通道(channel)后,还要定义GPIO端口为输入端还是输出端,代码如下:

(3)定义基础方向:避障行为是由基础方向+树莓派选择调用构成,所以需要在此处先定义最基本的基础移动方式。代码如下:

(4)红外避障:

总的来说红外避障就是,树莓派利用红外避障模块收集来的信息(离障碍物的远近),在靠近过障碍物时,调用基础方向进行躲避。代码如图2:

3 结语

树莓的实验远不止智能小车这一类,但要熟练进行实验操作需要对树莓派所使用Linux的指令,以及需要对基于Linux的nano和vim编译器进行性学习。同样语言基础必不可少,大多数情况下Python是Linux默认的编译语言(部分树莓派安装的是Windows系统,这时就需要C语言),所以也要加深对Python的学习。适当了解些像WinSCP这一类辅助程序,会减少我们在实验中的麻烦。

树莓派c语言小车红外,基于树莓派的红外避障小车相关推荐

  1. 51单片机小车的立项书_毕业论文:基于51单片机智能避障小车的设计报告(范文1)...

    <毕业论文:基于51单片机智能避障小车的设计报告.doc>由会员分享,可免费在线阅读全文,更多与<毕业论文:基于51单片机智能避障小车的设计报告>相关文档资源请在帮帮文库(ww ...

  2. 基于arduino单片机智能避障小车

    基于arduino单片机智能避障小车 思路简介 本文简要介绍了基于arduino单片机智能小车可以通过手机端蓝牙助手对其进行遥控操作'可以切换手动操作和自动避障两个模式,避障基于蝙蝠超声波测距的原理, ...

  3. 基于STM32三路超声波避障小车

    基于STM32的避障小车 最近几天的学习了STM32输入捕获输入捕获的相关知识,为了巩固自己学习的知识特意制作一辆有三个超声波组成的4轮避障小车来加深对输入捕获的理解. 1.输入捕获简介 输入捕获模式 ...

  4. 项目:基于wemos的WiFi避障小车

    一.项目介绍:通过wemos D1控制小车的行进轨迹及避障功能. 二.项目原理:该模块主要实现避障的功能,超声波发出波遇到前面的障碍物后会返回,通过这段时间来判断距离前面障碍物的距离,距离通过串口传给 ...

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

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

  6. 基于51单片机的红外自动避障小车(lunwen+任务书+开题+文献综述+翻译及原文+避障程序)

    目 录 1 绪论 1 1.1 课题研究背景及意义 1 1.2 国内外研究现状 1 1.2.1国外智能车辆研究现状 2 1.2.2发展前景 3 1.3 课题主要研究内容 4 2 工作原理及总体设计 5 ...

  7. 智能循迹避障小车的红外模块

    智能循迹避障小车的红外模块 - 智能循迹避障小车的红外模块用于3个功能-----------循迹,避障,测速. 红外循迹与红外避障 红外循迹TCRT5000L 红外避障 .观察原理图我们可以发现,它们 ...

  8. 基于STC12C5616AD芯片智能循迹避障小车完整制作过程(详细教程)

    前言:本篇文章适合小白阅读,其中有很基础的Keil 5的使用教程等.大多网友知道如何使用,因此大家可以看目录,对于自己而言比较基础的可以不用阅读,重点关注一些迷茫的部分. 智能循迹避障小车教程目录 智 ...

  9. FPGA-超声波避障小车(ego1)

    基于FPGA的超声波避障小车,利用ego1的100HZ时钟,我们可以自己定义不同占空比的PWM来控制电机的转速和舵机的角度,我们可以通过自己写计时器获得超声波来回所需的时间来测量距离,根据距离的远近返 ...

  10. 树莓派练手小项目---基于树莓派构建天气查询系统,实现内容的网页自动化检索功能

    目录 一.写在前面 二.基于树莓派构建天气查询系统 三.基于树莓派实现网页内容的自动化检索 四.有关于树莓派的其他小提醒,小技巧 Author:qyan.li Date:2022.6.19 Topic ...

最新文章

  1. 关键词排名下降怎么办-优八学院给你支招
  2. 【怎样写代码】对象克隆 -- 原型模式(一):问题案例
  3. SpringMVC小结
  4. ue4导入倾斜摄影_干货 | 6款倾斜摄影裸眼3D采集软件推荐给大家
  5. [ mongoDB ] - mongoDB的基本操作
  6. 【kafka】kafka 执行 多个脚本 kafka-run-class.sh 导致 server 节点 时不时挂掉
  7. 设计导航网,全心全意为设计师服务的导航网站!
  8. 微赞dataconfig.php,PHP标准化之路(一):使用 EditorConfig 实现语法统一
  9. predict函数 R_R包randomForest的随机森林回归模型以及对重要变量的选择
  10. 获取json格式的内容数据时,使用的方法避免空指针
  11. 双调欧几里得旅行商问题_遗传模拟退火算法求解旅行商(TSP)问题MATLAB代码讲解...
  12. 很全很强大的官方API集合
  13. 学习哪一款EDA软件画PCB电路板比较好?AD、PADS与Allegro的比较
  14. 【文化课每周学习记录】2019.3.10——2019.3.16
  15. Oracle或关闭中国研发中心,裁员1600 人
  16. x64dbg 自带脚本系统
  17. 地图比例尺学习、超图最小可见比例尺和最大可见比例尺
  18. hp微型计算机装打印机,hp打印机如何安装 hp打印机安装步骤及注意事项【详解】...
  19. Python Flask教程学习01
  20. 我的数字IC学习路线

热门文章

  1. ubuntu16.04安装iNode客户端简易教程
  2. 如何按行政区划下载谷歌地图并裁剪
  3. 阅读《经济学人》,学会这样查词典,从此英语学习不求人
  4. 压测工具ab的安装(mac环境)
  5. 如何在Firefox中播放MID文件?
  6. PMP扫盲篇2 | PMP报名、缴费、考试那些事儿~~
  7. 小米笔记本 镜像_入手几个月小米笔记本Air13.3 i56200附几个镜像下载
  8. 王道训练营作业 C++
  9. 误差的基本性质与处理matlab实验,误差理论与数据处理实验报告
  10. Remote Desktop Connection Manager (RDCMan) 介绍