一起玩转树莓派(12)——U型光电传感器

简介: 一起玩转树莓派(12)——U型光电传感器

一、关于U型光电传感器


   U型光电传感器由于其有一个U型的凹槽而得名。其凹槽的一侧会发射红外光,凹槽的另一侧装有接收装置。通过对红外光的遮挡与导通,从而改变元件信号源引脚的电平高低。基于这种特性,我们很容易使用U型光电传感器来测量是否有物体遮挡光线。在测速领域,运用广泛。


   本实验使用的传感器模块如下图所示:


image.png


可以看到,此元件有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变量来让元件工作在计数模式下或者测速模式下。在树莓派上运行此代码,尝试下计数和测速的功能吧。

image.png

目录
相关文章
|
2月前
|
传感器 安全
一款高温型霍尔效应传感器
一、产品概述 HAL443A单极性霍尔位置传感器是由内部电压稳压器、霍尔电压发生器、差分 放大器、温度补偿单 元、施密特触发器和集 电极开路输出级组成的磁敏传感电路,其输入为磁感应强度,输出是一个数字电压 信号。它是一种单磁极工作的磁敏电路,适合于矩形或者柱形磁体下工作。工作温度范围为-40 ℃ ~150 ℃,电源电压工作范围为 3.8V~30V ,负载电流能力最高可达到 50mA,封装形式为 SIP3L(TO-92UA)。 二、产品特点 电源电压范围宽,输出电流大。 开关速度快,无瞬间抖动。 工作频率宽(0~100KHz)。 寿命长、体积小、安装方便。 能直接和逻辑电路接
17 0
|
1月前
|
传感器 编解码 机器人
Sony BRC-300P 三个1/4英寸7型高级CCD传感器一体式标清机器人紧凑型摄像机
Sony BRC-300P 三个1/4英寸7型高级CCD传感器一体式标清机器人紧凑型摄像机
|
传感器 数据采集
河北稳控科技便携式钻孔测斜仪的组成与测量原理
便携式钻孔测斜仪由测斜探头、多功能数据采集仪组成。 测斜探头组成:探头包括吊环、传感段、导向段、加长段、尾段五部分组成
河北稳控科技便携式钻孔测斜仪的组成与测量原理
|
物联网 数据挖掘
传感与检测技术,光电二极管和光敏电阻的特性研究实验报告,江南大学物联网工程学院自动化
传感与检测技术,光电二极管和光敏电阻的特性研究实验报告,江南大学物联网工程学院自动化
187 2
传感与检测技术,光电二极管和光敏电阻的特性研究实验报告,江南大学物联网工程学院自动化
河北稳控科技MLX90640 红外热成像仪测温模块开发笔记(四)
如前“开发笔记(一)”所说,MLX90640 可能存在不超过 4 个像素的损坏或者不良像素,在温度计算过程完成后,这些不良像素点会得到错误的温度数据,对于处理这些不良数据 MLX 也给出了推荐方法和具体的函数。(其实就是找相邻的正常的温度数据取平均来代替不良数据)
河北稳控科技MLX90640 红外热成像仪测温模块开发笔记(四)
|
传感器 存储 编解码
河北稳控科技MLX90640 红外热成像仪测温模块开发笔记(三)
虽然数据手册上写的感觉好像可修改的参数挺多,这么一分析,其实只有 1 个测量速率是有用处的,其它都是浮云(鸡肋)。
河北稳控科技MLX90640 红外热成像仪测温模块开发笔记(三)
|
传感器 安全
光学传感器在电子应用中的作用
光学传感器是设计用于检测入射光线并将其转换为电信号的电子元件。这些组件可用于测量入射光的强度并将其转换为集成测量设备可读的形式,具体取决于传感器类型。
277 0
|
传感器
一起玩转树莓派(15)——干簧管传感器
一起玩转树莓派(15)——干簧管传感器
240 0
一起玩转树莓派(15)——干簧管传感器
|
传感器
一起玩转树莓派(6)——倾斜传感器与震动传感器实践
一起玩转树莓派(6)——倾斜传感器与震动传感器实践
394 0
一起玩转树莓派(6)——倾斜传感器与震动传感器实践
|
传感器 C++
一起玩转树莓派(12)——U型光电传感器
本篇博客,我们将使用U型光电传感器实现一个简单的测速工具。本实使用的元件简单,实验的原理也非常简单。
495 0