常用Raspberry Pi周边传感器的使用教程

在Raspberry Pi 的使用和开发过程中,你可能时常需要一些硬件和传感器等来支持你的开发工作,例如,加入一个超声波测距的模块来让你的Raspberry Pi具备测距功能,加入一个测温模块以实现测温功能。今天我们为你准备了10款最常用的传感器与Raspberry Pi 结合使用的例程,你可以在你的开发工作中直接使用这些例程,也可以稍做更改以接入更多的传感器至你的Raspberry Pi项目当中。

  本文以SeeedStudio公司开发的Grove电子模块系列为例,当然,你也可以在更多的硬件公司如Sparkfun、dfrobot购买到类似的模块。

1.距离监测

  超声波测距是一种常用的测距方法,其原理是将超声波脉冲发射到空气中,当遇到测量后反射至接收端,处理器通过测量返回时间计算出障碍物距离。Grove-Ultrasonic Ranger具有四个引脚,分别是电源、地、信号引脚,还有一个管脚悬空。

  将Raspberry Pi和模块按下列方式进行连接:

  从github上签出代码后,在Raspberry Pi终端LXTerminal里输入:
  cd “Grove – Ultrasonic Ranger”
  sudo python ultrasonic.py
  Raspberry Pi 即可驱动Ultrasonic Ranger模块进行工作:

2. 红外人体检测

  红外人体传感器用以检测某个范围内是否有人体的运动,常用于楼道灯控制、防盗装置、自动门等设施中。本例中将该传感器和Raspberry Pi进行连接,当传感器检测到人体运动信号时,其输出信号至Raspberry Pi中。

  将Raspberry Pi与该模块按下列方式进行连接:

  进入到签出的代码目录中,执行:
  cd “Grove – PIR Motion Sensor”
  sudo python PIR_sensor.py
  当传感器监测到人体活动后,Raspberry Pi 输出结果:

3. 温、湿度测量

  环境监测中最常用的是温、湿度的自动检测。常用的温湿度传感器使用单总线协议同处理器通信,将温湿度测量值输出至Raspberry Pi端。在本例程中,使用Grove - Temperature and Humidity Sensor Pro模块(DHT22) 进行温湿度的测量。

  连接示意图:

  Temperature and Humidity Sensor示例代码使用C语言开发,下载代码后需要进行编译,进入源码目录后,在终端输入:
  cd “Grove - Temperature and Humidity Sensor Pro”
  make
  进行编译,然后输入下面命令执行示例:
  sudo ./Seeed_DHT22
  Raspberry Pi工作效果:

4.实时时钟

  Raspberry Pi 自身是没有RTC的,某些场景下,使用外部的RTC模块为Raspberry Pi提供实时时钟就显得非常有必要。本例中使用Grove-RTC为Raspberry Pi提供实时时钟,该模块使用I2C同Raspberry Pi进行通信。

  连接示意图:

  Grove RTC模块可以直接连接Raspberry Pi的5V引脚,不过在使用RTC之前需要先配置I2C。

  1.首先安装Linux I2C 驱动模块:
  sudo aptitude install i2c-tools libi2c-dev

  2. 装载i2c-bcm2708和rtc-ds1307:
  sudo modprode i2c-bcm2708
  sudo modprobe rtc-ds1307
  I2C 配置完成之后,如果是Raspberry Pi的Model B,这时在终端输入:
  sudo i2cdetect –y 1
  当然,如果是 Raspberry Pi的Model A,则输入:
  sudo i2cdetect –y 0
  这时候就可以看到下图的输出信息:

  接下来,将获的RTC硬件地址信息添加到I2C设备中,在终端输入:
  sudo -i
  echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-1/new_device
  hwclock -r

  上述命令在系统中添加一个新的I2C设备,并读取RTC数据:

  当然,在首次使用RTC模块的时候你需要为你的RTC设置一个初始时间。我们使用Raspberry Pi系统的时间作为RTC模块的初始值,如下设置即可:
  date
  hwclock –w
  hwclock -r

5.OLED 显示

  Grove - OLED Display是一个128x64的OLED显示屏,使用I2C协议,特别适合作为Raspberry Pi的第二显示屏。

  进入源码目录后,在终端输入:
  cd "Grove – OLED Display 128x64"
  sudo ./OLED
  Grove - OLED Display工作效果:

6.气压检测

  Grove - Barometer Sensor是一款集成气压、温度检测的电子模块,使用I2C接口同Raspberry Pi进行通信。

  进入源码目录后,在终端输入:
  cd "Grove – Barometer_Sensor"
  sudo ./barometerDemo
  其工作效果图:

7.光照检测

  如果你使用Rasbperry Pi做一个在强光强烈的时候自动为你关闭窗帘的设备,你就需要使用一个光照传感器用以监测光照情况。Grove - Digital Light Sensor来完成任务,其使用I2C协议,获取到当前光照的照度值。

  连接示意图:

  进入源码目录后,在终端输入:
  cd "Grove – Digital_light_Sensor"
  sudo ./DLS
  Grove – Digital Light Sensor 工作效果图:

8.继电器控制

  继电器使用的范围广泛,你甚至可以直接使用继电器构建一个简单的智能家居系统,比如控制花园洒水装置和电饭煲等。因此,Raspberry Pi加上继电器可以充分的扩展它对外部设备的控制能力。

  Dry-Reed Relay 是指干簧继电器,相较与一般继电器,其切换速度和寿命都有很大提高。该继电器的使用非常简单,只需对其管脚进行电平控制即可完成对继电器的控制。

  进入源码目录后,在终端输入:
  cd "Grove - Relay"
  sudo python relay.py
  Rasbperry Pi将会控制继电器每0.5秒进行一次开、断切换。

9.模数转换

  Raspberry Pi让人觉得比较遗憾的事情就是没有ADC,面对一大堆的模拟信号的外部设备却无能为力。不过,现在我们有Grove-ADC模块可以解决这个问题。

  ADC 的代码非常简单,使用readADC()的函数即可以得到外部电压值。接下来以一款模拟电平输出模块:Grove- Alcohol Sensor为例,说明如何使用该模块配合酒精传感器以测量酒精值。

  将Raspberry Pi、ADC模块和Alcohol Sensor按如下图连接:

  工作效果如下图所示, 试试将Alcohol sensor靠近酒精等液体,当其检测到空气中酒精浓度增加时,输出值将会发生明显变化。
  进入源码目录后,在终端输入:
  cd “Grove – ADC”
  sudo ./ ADC121_DEMO
  工作效果图如下:

  本文所有的源码都托管在 Github: https://github.com/yexiaobo-seeedstudio/Grove-RaspberryPi

时间: 2024-08-23 05:44:05

常用Raspberry Pi周边传感器的使用教程的相关文章

常用Raspberry Pi周边传感器的使用教程(转)

转:http://bbs.xiaomi.cn/thread-7797152-1-1.html 在Raspberry Pi 的使用和开发过程中,你可能时常需要一些硬件和传感器等来支持你的开发工作,例如,加入一个超声波测距的模块来让你的Raspberry Pi具备测距功能,加入一个测温模块以实现测温功能.今天我们为你准备了10款最常用的传感器与Raspberry Pi 结合使用的例程,你可以在你的开发工作中直接使用这些例程,也可以稍做更改以接入更多的传感器至你的Raspberry Pi项目当中. 本

用Raspberry Pi搭建Azure IOT解决方案

Raspberry Pi是一款基于Linux的单板机电脑.它由英国的树莓派基金会所开发,目的是以低价硬件及自由软件刺激在学校的基本计算机科学教育.树莓派配备一枚博通(Broadcom)出产的ARM架构700MHz BCM2835处理器,256MB內存(B型已升级到512MB内存),使用SD卡当作存储媒体,且拥有一个Ethernet.两个USB接口.以及HDMI(支持声音输出)和RCA端子输出支持.树莓派只有一张信用卡大小,体积大概是一个火柴盒大小,可以运行像<雷神之锤III竞技场>的游戏和进行

使用 Raspberry Pi 上的传感器在 Node.js 中创建一个 IoT Bluemix 应用程序

先决条件 一个IBM Bluemix 帐号,一个 Raspberry Pi 2 或 3,一个 PIR 运动传感器 适用于本文的 Github 存储库 如果您是一位精明的 Bluemix 开发人员,您可能只想看看如何在 node.js 中与 IoT 建立连接,或者只想了解如何从此 github 存储库中拉取我的代码. git clone https://github.com/nicolefinnie/iot-nodejs-tutorial 以下是实现与 IBM IoT 平台连接在一起的 4 个 R

raspberry pi 上使用 MQ-7一氧化碳传感器模块

MQ-7一氧化碳传感器模块介绍 简要说明: 一. 尺寸:32mm X22mm X27mm   长X宽X高 二. 主要芯片:LM393.MQ-7气体传感器 三. 工作电压:直流5伏 四. 特点: 1.具有信号输出指示. 2.双路信号输出(模拟量输出及TTL电平输出) 3.TTL输出有效信号为低电平.(当输出低电平时信号灯亮,可直接接单片机) 4.模拟量输出0~5V电压,浓度越高电压越高. 5.对一氧化碳具有很高的灵敏度和良好的选择性. 6.具有长期的使用寿命和可靠的稳定性 五.应用: 用于家庭.环

树莓派(Raspberry Pi)上手小记

引言 本日志中有不少软广告,博主并没有收他们任何好处,完全是给想入手的小伙伴们指条路而已.不喜勿看,不喜勿闻,不喜勿喷. 介绍 之前两三个月突然听说了这么个东西,也没有留意,某天突然在一个微信公众号上看到说有个“5美元的树莓派”,于是好奇的百度了一下,之后便震惊了:这货特么居然是个计算机! 以下介绍来自百度百科: “树莓派由注册于英国的慈善组织“Raspberry Pi 基金会”开发,Eben·Upton/埃·厄普顿为项目带头人.2012年3月,英国剑桥大学埃本·阿普顿(Eben Epton)正

从零开始搭建Raspberry Pi机器视觉编程环境

从零开始搭建Raspberry Pi机器视觉编程环境 本文主要包括如下内容: 安装Raspbian系统 连接和设置网络 安装中文支持 用电脑控制树莓派 通过SSH远程登录树莓派命令行界面 安装VNC远程登录树莓派图形桌面 通过串口连接树莓派 安装OpenCV及相关开发包 一键备份树莓派SD卡 1 安装Raspbian系统 拿到树莓派后第一件事当然是装系统.安装树莓派系统所需配置: 1个输出5V,>700mA(通常选择1A或2A)的USB电源适配器 1根micro USB线(安卓线) 1张拷贝好系

在树莓派2代B型/3代 上安装Fedora23 - Installing Fedora 23 on Raspberry Pi 2 model B or Raspberry Pi 3

本文主要用于记录安装过程,以便日后查阅回顾. 之前在自己的树莓派上运行的一直是通过NOOB安装的Raspbian,但是本人平时更喜欢用Fedora作为开发和使用环境,而且Raspbian上的软件包通常更新比较缓慢.因为树莓派2代B型上市前,树莓派的芯片都是armv6或者更早的架构,只能运行ARM架构的Raspbian或者Fedora 18及更早版本.树莓派2代B型搭载的芯片架构是armv7,树莓派3代搭载的芯片架构是armv8,这两种芯片都能够运行ARM架构的Fedora 23,而仅运行Rasp

让Mono 4在Raspberry Pi上飞

最近公司有项目想要在树莓派上做,代替原来的工控机(我们是把工控主机当作小的主机用,一台小的工控主机最少也要600左右,而树莓派只要200多).于是,公司买了一个Raspberry Pi B+和一个Raspberry Pi 2 B,并要求能在B+上做就尽量用B+,原因很简单,B+比Raspberry Pi 2要便宜70左右.拿到闻名已久的树莓派之后很是兴奋,试着从官网下载了官方推荐的镜像raspbian,用Win32DiskImager烧录到SD卡上,然后上电,起初屏幕上什么都没显示,不管重新烧写

raspberry pi 机器人

从小对机器人非常感兴趣,正好身边有一个raspberry pi,平时就当Linux的服务器练练命令行,写写脚本.这次打算把raspberry pi的强大的GPIO都利用起来,做个小机器人. 首先从网上买了机器人相关的配件,主要是驱动机器人移动的电机.L298N电机驱动板.HC-SR04超声波距离探测传感器.机器人车身等配件.用来制作机器人的是raspberry pi B+.此型号一共有40个GPIO口,足以满足入门型机器人的制作要求. 以下是我连接L298N电机驱动板和HC-SR04距离传感器的