在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 工做效果图以下:
|
|