一起玩转树莓派(12)——U型光电传感器
一起玩转树莓派(12)——U型光电传感器
本篇博客,我们将使用U型光电传感器实现一个简单的测速工具。本实使用的元件简单,实验的原理也非常简单。
一、关于U型光电传感器
U型光电传感器由于其有一个U型的凹槽而得名。其凹槽的一侧会发射红外光,凹槽的另一侧装有接收装置。通过对红外光的遮挡与导通,从而改变元件信号源引脚的电平高低。基于这种特性,我们很容易使用U型光电传感器来测量是否有物体遮挡光线。在测速领域,运用广泛。
(福利推荐:阿里云、腾讯云、华为云服务器最新限时优惠活动,云服务器1核2G仅88元/年、2核4G仅698元/3年,点击这里立即抢购>>>)
本实验使用的传感器模块如下图所示:
可以看到,此元件有3个引脚,GND引脚为接地引脚,VCC引脚为电源引脚,OUT引脚是输出引脚,当接收器能够接收到从发射源发出的光线时,输出引脚为低电平,当光线被阻断时,输出引脚为高电平。
二、计数器 OR 测速器
U型光电传感器有着非常广泛的应用,试想一下,如果一个车间流水线在不停的生产商品,如何方便的对生产的商品数量进行自动计数?这时我们就可以将一个U型光电传感器安装到商品的传送带上,只要有商品从传送带上通过,即会挡住传感器发射源发出的红外光,从而触发电平的跳变,实现计数功能。除此之外,U型光电传感器也可以方便的实现测速,我们只要知道了物体的长度和物体通过U型传感器的时间,就可以使用公式v = s / t从而计算出物体运动的速度。下面我们就来编写代码实现这两个功能。
首先,元件与树莓派连线如下:
U型光电传感器 | 树莓派 |
---|---|
VCC | 3.3V电源 |
GND | GND |
OUT | GPIO17(BCM编码) |
编写如下代码:
#coding:utf-8 import RPi.GPIO as GPIO import time # 采用物理编码 GPIO.setmode(GPIO.BOARD) # BCM GPIO17的物理编码是11 out_pin = 11 # 0 计数模式 1 测速模式 MODE = 0 count = 0 # 测速模式下,需要初始化长度S 单位为毫米 S = 10 t1 = 0 t2 = 0 # 进行引脚的初始化,不被遮挡时为低电平,使用低电平的下拉电阻 GPIO.setup(out_pin, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) # 定义回调函数 def switch_state(pin): global count,t1,t2 # 如果是高电平 if GPIO.input(pin): print("物体遮挡") if MODE == 0: count += 1 else: t1 = time.time() else: print("物体遮挡消失") if MODE == 0: print('计数器-数量:%d'%(count)) else: t2 = time.time() t = t2 - t1 v = S / t print('测速器-速度%fmm/s'%(v)) GPIO.add_event_detect(out_pin, GPIO.BOTH, callback=switch_state) while True: pass
如上代码所示,我们可以设置MODE变量来让元件工作在计数模式下或者测速模式下。在树莓派上运行此代码,尝试下计数和测速的功能吧。
专注技术,懂的热爱,愿意分享,做个朋友
你还在原价购买阿里云、腾讯云、华为云、天翼云产品?那就亏大啦!现在申请成为四大品牌云厂商VIP用户,可以3折优惠价购买云服务器等云产品,并且可享四大云服务商产品终身VIP优惠价,还等什么?赶紧点击下面对应链接免费申请VIP客户吧:
相关文章
- Jgit的使用笔记
- 利用Github Action实现Tornadofx/JavaFx打包
- 叹息!GitHub Trending 即将成为历史!
- 微软软了?开源社区讨论炸锅,GitHub CEO 亲自来答
- GitHub Trending 列表频现重复项,前后端都没去重?
- Photoshop Elements 2021版本软件安装教程(mac+windows全版本都有)
- (ps全版本)Photoshop 2020的安装与破解教程(mac+windows全版本都有)
- (ps全版本)Photoshop cc2018的安装与破解教程(mac+windows全版本,包括2023
- 环境搭建:Oracle GoldenGate 大数据迁移到 Redshift/Flat file/Flume/Kafka测试流程
- 每个开发人员都要掌握的:最小 Linux 基础课
- 来撸羊毛了!Windows 环境下 Hexo 博客搭建,并部署到 GitHub Pages
- 超实用!手把手入门 MongoDB:这些坑点请一定远离
- 【GitHub日报】22-10-09 zustand、neovim、webtorrent、express 等4款App今日上新
- 【GitHub日报】22-10-10 brew、minio、vite、seaweedfs、dbeaver 等8款App今日上新
- 【GitHub日报】22-10-11 cobra、grafana、vue、ToolJet、redwood 等13款App今日上新
- Photoshop 2018 下载及安装教程(mac+windows全版本都有,包括最新的2023)
- Photoshop 2017 下载及安装教程(mac+windows全版本都有,包括最新的2023)
- Photoshop 2020 下载及安装教程(mac+windows全版本都有,包括最新的2023)
- Photoshop 2023 资源免费下载(mac+windows全版本都有,包括最新的2023)
- 最新版本Photoshop CC2018软件安装教程(mac+windows全版本都有,包括2023