树莓派4B ubuntu20.04 python驱动光电传感器实现计数 教程

12 篇文章 2 订阅
4 篇文章 1 订阅

驱动光电传感器实现计数

光电传感器是将光信号转换为电信号的一种器件。其工作原理基于光电效应。光电效应是指光照射在某些物质上时,物质的电子吸收光子的能量而发生了相应的电效应现象。根据光电效应现象的不同将光电效应分为三类:外光电效应、内光电效应及光生伏特效应。光电器件有光电管、光电倍增管、光敏电阻、光敏二极管、光敏三极管、光电池等。分析了光电器件的性能、特性曲线。

 

工作方式

这里用的这款是通过射出的激光,照射到目标物体,通过反射回来的光来判断物体是否有无。这种传感器可以调整激光到物体起作用的距离。

 

光电传感器图示

 

接线方式

一般这种光电传感器是工业用的,电源电压一般都是24V。而树莓派的GPIO是3.3V,不能直接接上去。我们再两者之间接个光耦,隔离这两个电源。光电传感器一共3条线(棕色+、蓝色-、黑色信号线)。通过5v电源输出后同个2个500欧姆电阻分压后给到GPIO17。

 

通过上面这种接线,当有物体遮挡光电传感器,gpio17就会接受到高电平,否者接受到低电平。我们就能根据这个信号来计数了。

 

代码编写:

import RPi.GPIO as GPIO
import time

#设置警告信息为不输出
GPIO.setwarnings(False)
#设置gpio模式为bcm模式
GPIO.setmode(GPIO.BCM)

#设置GPIO17引脚为输入模式
GPIO.setup(17,GPIO.IN)
 
#定义检测有东西挡住后判断其是否离开了的函数
def triggerup():
	#获取gpio17引脚当前检测到的电平
	input_value = GPIO.input(17)
	#如果当前的电平为低
	if input_value == False:
		#防止电平抖动造成误判,延时10ms后再次检测
        time.sleep(0.01)
		#获取gpio17引脚当前检测到的电平
		input_value = GPIO.input(17)
		#如果当前的电平任然为低,此信号可以信任
        if input_value == False:
			#返回真,物体离开了传感器
			return True
		else :
			#否者返回假,为电平抖动,信号不可信
			return False
	else:
		#返回假,当前并无物体
		return False

#定义检测有物体挡住的函数
def triggerdown():
	#获取gpio17引脚当前检测到的电平
	input_value = GPIO.input(17)
	#如果电平为高
	if input_value == True:
		#防止电平抖动造成误判,延时10ms后再次检测
		time.sleep(0.01)
		#获取gpio17引脚当前检测到的电平
		input_value = GPIO.input(17)
		#如果电平任然为高,可以信任此信号
		if input_value == True:
			#返回真,有物体挡住了传感器
			return True
		else :
			#返回假,为电平抖动,信号不可信
			return False
	else:
		#返回假
		return False

#计数变量
count = 0

#循环
while True:
	#获取时候有物体挡住传感器
	input_value = triggerdown()
	#如果input_value是true,有物体挡住了传感器
	if input_value == True:
		#计数加一
		count+=1
		#打印输入当前计数值
		print("count:%d" % count)
		#循环等待物体离开
		while True:
			#获取物体是否离开传感器
			input_value = triggerup()
			#如果input_value是true,物体离开了传感器
			if input_value == True:
				#跳出此循环
				break


GPIO.cleanup();

 

  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 树莓派4B是一款功能强大的微型电脑,能够运行广泛的操作系统。其中,ubuntu 20.04镜像是一种适用于树莓派4B的操作系统镜像。它支持完整的Ubuntu桌面环境和基于命令行的终端环境,能够满足不同用户的需求。 树莓派4B ubuntu 20.04镜像采用64位ARM架构,性能更加优异,支持更多的应用程序和工具。其中,包括了许多常用的软件包,如文本编辑器、网络浏览器、多媒体播放器等等。此外,用户还可以通过Ubuntu软件中心安装更多的应用程序和工具,扩展系统的功能和应用范围。 使用树莓派4B ubuntu 20.04镜像,用户可以进行丰富的实验和开发工作。通过安装相关软件包和工具,用户可以构建智能家居、物联网应用、机器学习系统、网络服务器等等。此外,Ubuntu系统具有稳定性和安全性,能够保证系统的安全运行和数据的保护。 总之,树莓派4B ubuntu 20.04镜像是一种强大、灵活和安全的操作系统镜像,能够满足不同用户的需求,适用于各种实验和开发工作。 ### 回答2: 树莓派4b是由Raspberry Pi基金会推出的一款小型计算机,其性价比高、易用性强、体积小巧等特点受到了广大DIY爱好者和科技爱好者的青睐。而Ubuntu 20.04则是一款十分优秀的Linux操作系统,与树莓派上的Raspbian系统相比,Ubuntu更加高效、开放、简洁。 在树莓派4b上安装Ubuntu 20.04镜像,需要下载相应镜像文件,并通过SD卡等介质进行启动和安装。Ubuntu 20.04树莓派4b用户提供了全面的支持和优化,具有良好的稳定性和可靠性,同时还提供了多种开发工具和软件包,能够满足用户的各种需求。 另外,在Ubuntu 20.04上还可以安装许多第三方软件和工具,如Python、ROS、Web服务、数据库等,可扩展性极高。同时,该操作系统还提供了图形化界面和命令行界面,方便用户进行操作和开发。 总之,树莓派4b配合Ubuntu 20.04镜像,为用户提供了极高的性能和简便的开发环境,满足了科技爱好者对嵌入式计算机的各种需求。 ### 回答3: 树莓派4B是一款非常实用的单板计算机,它能够运行多个操作系统,并支持各种应用程序。而Ubuntu 20.04镜像,则是其中一种为树莓派4B开发的操作系统版本。这种镜像是基于Ubuntu的LTS版本,提供了更加稳定和高效的运行环境。 使用树莓派4B ubuntu 20.04镜像,用户可以通过命令行或者桌面界面进行操作,也可以安装各种应用程序,如Python、Java、Node.js等。此外,镜像还提供了完整的Linux操作系统环境,包括通用磁盘文件系统,各种系统工具和命令等功能。 值得一提的是,在使用树莓派4B ubuntu 20.04镜像时,用户还需要预置SD卡,并将镜像烧录到SD卡中进行启动。接下里,用户可以通过Wi-Fi、有线网络或USB外接存储等方式进行连接。 总的来说,树莓派4B ubuntu 20.04镜像可以让用户充分利用树莓派4B的性能,实现各种自己所需的运算或项目。因此,它大受开发人员或计算机爱好者的欢迎,同时也为树莓派4B的应用提供了更多的选择空间。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值