转:http://bbs.xiaomi.cn/thread-7797152-1-1.html

  在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

常用Raspberry Pi周边传感器的使用教程(转)的更多相关文章

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

    在Raspberry Pi 的使用和开发过程中,你可能时常需要一些硬件和传感器等来支持你的开发工作,例如,加入一个超声波测距的模块来让你的Raspberry Pi具备测距功能,加入一个测温模块以实现测 ...

  2. 2016 最新的 树莓派3 Raspberry Pi 3 上手评测 图解教程 新手必看!(VNC 安装,启动,关闭)

    1.png . 官方教程: INSTALLING OPERATING SYSTEM IMAGES: https://www.raspberrypi.org/documentation/installa ...

  3. 用Raspberry Pi搭建Azure IOT解决方案

    Raspberry Pi是一款基于Linux的单板机电脑.它由英国的树莓派基金会所开发,目的是以低价硬件及自由软件刺激在学校的基本计算机科学教育.树莓派配备一枚博通(Broadcom)出产的ARM架构 ...

  4. Raspberry Pi 4B 使用OpenCV访问摄像头picamera模块

    目录 1.OpenCV安装 (1)安装依赖 (2)下载OpenCV源码 (3)安装pip (4)安装Python虚拟机 (5)编译OpenCV (6)验证安装 2.使用OpenCV和Python控制摄 ...

  5. NMAP 使用教程!,nmap [Scan Type(s)] [Options] {target specification} , nmap -sn 192.168.2.0/24 , raspberry pi 3

    NMAP 使用教程 https://nmap.org/man/zh/man-briefoptions.html 当Nmap不带选项运行时,该选项概要会被输出,最新的版本在这里 http://www.i ...

  6. 树莓派Raspberry Pi OS(原Raspbian)系统常用配置

    首次开机自动连接WIFI 在资源浏览器中打开刚写好Raspberry Pi OS(之前叫Raspbian)系统的SD卡,如果有boot目录则在boot目录中新建一个名为wpa_supplicant.c ...

  7. 三大主流开源硬件对比:Arduino vs BeagleBone vs Raspberry Pi

    个人总结: Arduino就是个AVR单片机,个人觉得更适合玩电子的,社区也很活跃. BeagleBone是ARM Cortex-A8,属于嵌入式,价格高于Pi,但是许多方面拥有超越 Pi 的优 势, ...

  8. 树莓派(Raspberry Pi)上手小记

    引言 本日志中有不少软广告,博主并没有收他们任何好处,完全是给想入手的小伙伴们指条路而已.不喜勿看,不喜勿闻,不喜勿喷. 介绍 之前两三个月突然听说了这么个东西,也没有留意,某天突然在一个微信公众号上 ...

  9. Raspberry Pi Finder

    这是 meelo 原创的 玩转树莓派 系列文章 作为一名新手,你可能苦恼与如何寻找树莓派的IP地址.要想寻找IP地址,在不同的连接状况下,的方法是不一样的,这在其它教程里有作详细介绍(使用路由器连接树 ...

随机推荐

  1. 在TensorFlow中基于lstm构建分词系统笔记

    在TensorFlow中基于lstm构建分词系统笔记(一) https://www.jianshu.com/p/ccb805b9f014 前言 我打算基于lstm构建一个分词系统,通过这个例子来学习下 ...

  2. 如何基于TensorFlow使用LSTM和CNN实现时序分类任务

    https://www.jiqizhixin.com/articles/2017-09-12-5 By 蒋思源2017年9月12日 09:54 时序数据经常出现在很多领域中,如金融.信号处理.语音识别 ...

  3. 转: H264码流分析 --264分析两大利器:264VISA和Elecard StreamEye Tools

    转码: http://www.360doc.com/content/13/0225/19/21412_267854467.shtml ESEYE视频工具全称是什么: Elecard StreamEye ...

  4. Giraph源代码分析(九)—— Aggregators 原理解析

    HamaWhite 原创.转载请注明出处!欢迎大家增加Giraph 技术交流群: 228591158 Giraph中Aggregator的基本使用方法请參考官方文档:http://giraph.apa ...

  5. java.security.NoSuchAlgorithmException: Cannot find any provider supporting DESede/CBC/PKCS5Padding

    最近在做3DES加密,在本地window下面运行ok的程序,放到linux环境上竟然报错: Java.security.NoSuchAlgorithmException: Cannot find an ...

  6. 互联网公司linux运维生产场景常用软件工具一览

    linux的世界真的很精彩,还没入门的朋友赶紧进来吧! 操作系统:Centos※,Freebsd,Ubuntu,Redhat linux,suse linux网站服务:apache※,nginx※,l ...

  7. 多模块Maven项目如何使用javadoc插件生成文档

    版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+]   需求 最近要对一个项目结构如下的Maven项目生成JavaDoc文档. Project                  ...

  8. 公共Maven库

    <repository><id>codelds</id><url>https://code.lds.org/nexus/content/groups/m ...

  9. springmvc-servlet.xml中use-default-filters的作用

    1.<!-- 启用注解扫描,并定义组件查找规则 ,mvc层只负责扫描@Controller --> [java] view plain copy <context:component ...

  10. 1066: 单词游戏(game)

    var i,j,k,n,ans,p,len,chk,zh:longint; ch:char; s:string; a:array[..] of longint; begin readln(ch); c ...