花了相当多的时间探讨了GPIO口的使用方法,接下来将重点探讨如何进行实际的应用。现有的一个简单的光电传感器为例,讲述如何实现外界障碍物的检测系统的设计。

所需的器件:

  • 树莓派(B版本)

  • TPLINK无线网卡(笔者用pc机做了一个远程终端)

  • 1A或者2A输出的电源适配器及USB充电线

  • 面包板

  • 10k电阻、4.74K电阻、220欧电阻

  • LED灯

  • 光电传感器

  • 公母头杜邦线、双母头杜邦线

整体设计思路:

使用传感器检测障碍物,以LED指示检测的结果。当传感器前检测到障碍物时,led点亮,同时在屏幕上面输出提示信息“Object be detected…”在树莓派上面运行编写好的程序,暂拟定使用python语句编写。

设计过程:

  • GPIO口分配

上图所示为树莓派上使用的GPIO口分配,其中1、2、3、4分别为5V power、GND、led灯驱动口、传感器输入口。

  • 传感器检测输入电路设计

树莓派外围接口的设计,在设计时,可以根据自己的需求进行修改。传感器提供三个端口,分别是Pow、GND、Out,使用树莓派的端口提供5V电源,信号输出为5V,当然不能直接连接到树莓派的哦,因为可能会烧毁树莓派芯片的。这里使用简单的一个分压电路,控制输入电压不超过3.3V。这里R1的大小大概为R2的一半,根据电路常识可知加在GPIO口与GND间的电压约为5V*2/3=3.3V,能够满足树莓派电压输入的要求。

  • led灯驱动电路

Led灯的驱动非常简单,普通的led灯通过一个220欧的电阻连接到树莓派的GPIO口。当传感器检测到障碍物的存在时,输出为高电平点亮led灯。

控制程序设计

我们使用nano编辑器建立一个python语句的程序文件,所以保证你的树莓派安装python的编译环境。

完整的程序展示,(定义了输入输出口,和检测程序的响应动作)

使用实用的电路设计小软件fritzing.0.8.7b.pc(下载地址http://fritzing.org/download/),画了整体的接线图如下所示。

通过实验过程来显示我们的成果。

实物接线

这是传感器的接线图,总共有三个引脚,分别是pow、gnd和信号输出端

树莓派的GPIO引脚图接线,共有四只引脚接线,具体的引脚分配详细内容请看基于树莓派GPIO口和光电传感器的障碍物检测(一)

这是总体的接线图,包括树莓派、面包板和传感器三大部分。

程序执行

启动树莓派,用户名:pi,密码:raspberry(输入时不显示),由于我们不打算使用桌面环境,那么第一步肯定是要知道我们在在哪里,这是面对乌黑的命令行界面首先应该想到的事情,不用着急,一个简单pwd命令,既可以告诉你的位置。通过ls,可以查看所有该目录下的文件。

我们上次编写的程序button.py,放到了桌面环境下。可以看到我们目录下的Desktop文件夹,输入[ cd Desktop / ]即可进入(在输入文件目录名字时可以使用tap键自动补全的哦)

进入桌面后,通过ls命令查看到我们已经写的button.py文件,下一步就是通过[sudo python button.py]来执行啦

转载于:https://my.oschina.net/u/2296951/blog/362533

基于树莓派GPIO口和光电传感器的障碍物检测相关推荐

  1. java gpio_Java控制树莓派GPIO口-Pi4J

    Pi4J(http://pi4j.com/)是专门用来控制树莓派GPIO口以及通信的Java库.它有如下功能: Export & unexport GPIO pins Configure GP ...

  2. 传感器怎么获取障碍物的宽度信息_基于多传感器信息融合的机器人障碍物检测...

    基于多传感器信息融合的机器人障碍物检测 王中立,牛颖(太原理工大学信息工程学院,山西太原030024) 摘要:针对单一传感器在机器人避障过程中不能全面且准确定位障碍物的缺点,提出基于多传感器信息融合的 ...

  3. 树莓派GPIO口的使用(外设相关开发WringPi库的使用,超声波、继电器)

    树莓派的接口: 大而简单的类别:IO口,input和output是相对于主控芯片来说的,是根据MCU和外设之间的关系将IO口的功能分为output和input.当IO作为input使用时外设有:人体传 ...

  4. 二十一. 智能驾驶之基于视觉识别和点云聚类的障碍物检测

    一. 背景介绍 在智能驾驶领域, 根据使用的传感器的不同,对障碍物的检测和识别通常有三种做法: 1.一种是基于相机图像和点云鸟瞰图的纯图像障碍物检测, 比如YOLO三维; 2.一种是将相机和雷达进行联 ...

  5. 树莓派GPIO口的常用配置代码

    import RPi.GPIO as GPIO #导入GPIO模块 GPIO.setmode(GPIO.BCM) #设定编号模式 GPIO.setwarnings(False) #关闭警告说明 GPI ...

  6. 品味树莓派:GPIO口定义、电气特性、启动状态等基础说明

    文章目录 目录 GPIO口定义 电气特性 启动状态 总结 目录 树莓派相比成品化的电脑来说有很多独立的GPIO口可供开发使用,可以方便的实现很多实物相关的功能.本文将对树莓派开放给用户的GPIO口的针 ...

  7. 基于树莓派的Azure物联网实践(一)

    借鉴了MSP 李桑郁关于Win10 IoT 的设置和在Azure上通信的实例,设计了在Win10 IoT 下局域网内与Win 10 PC的互联,并基于此设计了室内外温度的监控程序. 首先是在树莓派3B ...

  8. 树莓派 gpio / 串口通信

    使用树莓派 3B+/4B 测试 gpio,配置硬件串口,测试串口通信. 文章目录 1.GPIO扩展口定义.DB9接口定义 2.串口设置 2.1 开启GPIO串口功能,并使用硬件串口 2.2 禁用串口的 ...

  9. 基于树莓派的电机倒立摆控制系统开发

    目录(注:完整论文和代码私聊QQ2522170001) 第1章绪论 1.1背景和意义 1.1.1 背景 1.1.2 意义 1.2 国内外研究现状 第二章 倒立摆设计方案 2.1 倒立摆系统建模 2.2 ...

最新文章

  1. C语言交换两个数(不创建临时变量)
  2. oracle 11g ORA-12541: TNS: 无监听程序 (DBD ERROR: OCIServerAttach)
  3. 简单的方式优化mysql
  4. 搬寝室(HDU 1421 DP)
  5. 云小课 | DSC之数据水印,防止数据被盗用
  6. 袁亚湘 《如何做好一名研究生》 讲座笔记
  7. 深透研究病毒3—威金病毒
  8. 什么是前端模块化?前端模块化开发到底有无必要
  9. 我的感慨——渴望爱与安定 喜欢云淡风轻!
  10. 【Unreal Engine探索实践】第一个ARPG游戏的探索实践——ACT类第三人称3D动作游戏的简单实现
  11. 7.5 SNN《脉冲神经网络研究进展综述》笔记
  12. 数据科学太难?这些陷阱请避开,正能量很重要!
  13. av_buffersrc_add_frame分析
  14. Spring Boot Actuator 使用介绍
  15. Android手游外挂入侵----寓攻于守,方能破敌
  16. ffmpeg 收集 (刚开始,有待完善)
  17. javaee期末复习选择题
  18. 游戏静态HTML网页作业作品 大学生游戏介绍网页设计制作成品 简单DIV CSS布局网站
  19. C# winForm 定时拷贝覆盖文件小工具
  20. matlab里open命令,告诉你Ununtu下在Matlab中读写OpenEXR格式的图片的方法及命令

热门文章

  1. ScrollView滚动到底部3种方案(巧解现实产品一个需求)
  2. python中日期的数据类型_强制日期时间转换,强制日期时间数据类型,在pandas中使用read_表...
  3. .net remoting http://www.cnblogs.com/wayfarer/archive/2004/07/30/28723.html
  4. one-stage-anchor-free CornerNet: Detecting Objects as Paired Keypoints
  5. systemctl enable与systemctl start的区别
  6. 设计模式——观察者模式详解
  7. Windows 微秒级 延时
  8. invalid non-printable character U+200D
  9. 网络营销分析七大法宝介绍
  10. 计算机丢失wswool.dll什么意思,如何修复Windows 10中丢失的DLL文件