树莓派:传感器安装与测试

本文介绍了如何在树莓派上安装和测试传感器,包括树莓派摄像头的安装、四位数码管的连接与显示原理,以及温湿度传感器的数据传输和解码过程。通过Python代码实现数码管和温湿度传感器的交互,提供了详细的连接和编程示例。
摘要由CSDN通过智能技术生成

树莓派:传感器安装与测试


准备

烧录完系统的 raspberryPi 3
python 2.7

传感器:

  1. 树莓派专用摄像头 v2.1
  2. 四位数码管
  3. 温湿度传感器

摄像头

官方文档 1(简略版)
官方文档2 (完整版)

安装picamera

微信图片_20170830223731.jpg-63.1kB

sudo apt-get install python3-picamera

使用示例,in python3.4:

camera = picamera.PiCamera()
camera.capture('image.jpg',resize=(320,240)) # 在 在当前文件夹下将截取图像存为image.jpg, 320*240大小
camera.close() # 使用完后一定要关闭, 否则因为端口被占用,下次调用会出错

没有关闭camera对象在下次调用会出现以下错误

mmal: mmal_vc_port_enable: failed to enable port vc.null_sink:in:0(OPQV): ENOSPC
mmal: mmal_port_enable: failed to enable connected port (vc.null_sink:in:0(OPQV))0x1324250 (ENOSPC)
mmal: mmal_connection_enable: output port couldn't be enabled
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3/dist-packages/picamera/camera.py", line 433, in __init__
    self._init_preview()
  File "/usr/lib/python3/dist-packages/picamera/camera.py", line 513, in _init_preview
    self, self._camera.outputs[self.CAMERA_PREVIEW_PORT])
  File "/usr/lib/python3/dist-packages/picamera/renderers.py", line 558, in __init__
    self.renderer.inputs[0].connect(source).enable()
  File "/usr/lib/python3/dist-packages/picamera/mmalobj.py", line 2212, in enable
    prefix="Failed to enable connection")
  File "/usr/lib/python3/dist-packages/picamera/exc.py", line 184, in mmal_check
    raise PiCameraMMALError(status, prefix
picamera.exc.PiCameraMMALError: Camera component couldn't be enabled: Out of resources (other than memory)

四位数码管

image_1bopjc74nqq14tc16b91r7k1ubp9.png-44kB

常见的输出显示,四个数字+四个数点,总共 4*7+4=32个led灯管。如果采用一一对应的输入方式,至少需要32个针脚,但是实际上只有12个针脚。

所以我们采用动态方法:每一时刻只亮四个数字中的一个,并以足够快的速度在四个数字中循环,看起来就像一起亮着。

树莓派的针脚分布编号如下图:

image_1bopk8ru813ce7ib1b9bu9s1tepm.png-267.7kB

我们这里采用BCM编码。

四位数码管的针脚与树莓派针脚的连接:

image_1bopkdv5mr3tgoi1mskajp14j613.png-10.2kB

其中PORT表示数码管的编码(下图上半部分):

image_1bopkj5nbneua0j10vs1rtr13om1g.png-169.8kB

下方的table中写出了各个要显示的数字所需要的A-G各个针脚的电平。由于这款3461BS四位数码管是共阳极的,所以当A-G针脚对应的输入电平为负的时候,对应的led灯管亮起。

结合GPIO模块,用python实现按照输入的参数数字字符串输出数字到数码管上:
3461BS.py(python2.7)

import RPi.GPIO as GPIO
import time
import sys

mode0=[0,0,0,0,0,0,1]
mode1=[1,0,0,1,1,1,1]
mode2=[0,0,1,0,0,1,0]
mode3=[0,0,0,0,1,1,0]
mode4=[
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值