文章归档

Hand-On Tutorial for Raspberry Pi DIY project

用树莓派实现声光控开关

Overview 本文介绍如何用树莓派实现声光控开关设计,声光控开关是通过声音和光照度控制的开关,当环境的亮度达到某个设定值以下,同时环境的噪音超过某个值,这种开关就会开启。在本文中通过树莓派采集声音检测模块和光敏电阻模块输出的声音和光照度信号,通过采集到的声光信号控制开关通断,这里的开关是软件开关(用软件实现),当开关闭合时候,蜂蜜器响起。 Experimental Parts 为了完成设计需要用到一下器件 Pi3 x1 有源蜂鸣器模块 x1 声音检测模块 x1 光敏电阻模块 x1 面包板 x1 模数转换器 x1 公对公跳线 x若干 公对母跳线 x若干 Hardware Raspberry Pi是一个出色的微型计算机,你可以使用它来控制数字输入和输出。但是当你想用它来处理模拟信号,例如像热敏电阻、电位器等模拟传感器输出时候,Raspberry Pi就有些力不从心了,就需要借助模数转换芯片将模拟信号转换成数字信号。本项目中利用MCP3008把光敏电阻模块输出的电压信号转换成数字信号,Pi根据转换后的数值大小以及声音检测传感器输出的信号控制蜂鸣器鸣叫。MCP3008是一款8通道10位精度的模数转换芯片。 声音检测模块可以检测周围环境的声音强度 , 此传感器只能识别声音的有无 , 能识别声音的大小或者特定频率的声音; 灵敏度可通过模块上的蓝色电位器调节;工作在3.3V-5V,因为树莓派GPIO口一般工作在3.3V电压,所以采用3.3V供电;模块输出数字'0'和数字'1'信号,模 块在环境声音强度达不到设定阈值时, DO 口输出高电平,当外界环境声音强度超过设定阈值时,模块D0输出低电平 ,阈值通过调节电位器设定。器原理图如图所示。 有源蜂鸣器模块采用2TY三极管(8550)驱动,工作在3.3V-5V之间,本文将其接到3.3V电压上,模块低电平触发。 各模块之间与树莓派具体连接请参考下图 在接线的时候请认清模块正负极,不要接反了,否则会烧坏你的Pi和模块。模块的上的GND接Pi上的0V;模块上的VCC接3.3V。对于如何识别Pi的IO口请参考这篇文章: How to

文章分类 Raspberry Pi Project, 测试

基于Raspberry Pi的简易安防系统

Overview 本文主要介绍如何用树莓派实现简易防人体入侵安防系统,树莓派周期性检测人体红外检测模块输出的高低电平,当有人入侵时候蜂鸣器报警. Experimental Parts Pi3 x1 人体红外感性模块 x1 有源蜂鸣器 x1 杜邦线 x3 Circuit Graph 硬件连线很简单,如图。 在连接电路的时候特别注意不要把电源正负极接反,否则会烧毁Pi和传感器模块,上图中蜂鸣器模块引脚顺序可能跟实物引脚顺序不一样,在接线的时候需要对照实物连线。 其中蜂鸣器是低电平有效的。 下面给出人体红外检测模块、继电器模块的原理图。 Motion sensor Schematic Motion sensor Interface Layout The two potentiometer can adjust delay time and sensitivity, as the follow picture: Software 1)在/home/pi路径下用nano新建一个motionsensor-test.py文件

文章分类 Raspberry Pi Project, 测试

树莓派读取DHT11

Overview 在本文中将介绍如何用树莓派读取温湿度传感器DHT11 温湿度数据。温度湿度模块看起来简单,只有三个引脚(实际4个接口,有一个脚悬空),但仔细一想,3个引脚分别作为VCC、GND、DATA用,因为传给树莓派GPIO的只有高电平、低电平,那么怎么来读取温度数字和湿度数字呢?这么一想,并不简单!因为引脚少,它需要高低变化的时序信号来表达数值,还有一些其它信号如开始信号等等。所以得先深入了解一下DHT11模块了。 DHT11时序介绍 1)数据帧格式 DHT11会向主机发送40位(5子节)数据,第一二个子节数据表示温度值;第三四个子节数据代表湿度值;最后一个子节是校验码。如果数据无误的情况下,前4个子节的和等于校验码。 2)握手阶段 默认状态下DATA脚为高电平,主机端GPIO发送开始信号,首先拉低DATA脚至少18ms,然后拉高DATA脚20-40us等待DHT11的响应信号 一旦DHT11收到开始信号,DHT11将向主机发送响应信号,同时将DATA脚拉低80us作为响应,然后DHT11拉高DATA脚80us,握手完毕。 3)数据发送阶段 一次的湿度和温度数据,DHT11需要发送40bits数据,每一位数据之前都以50us低电平开始,随后的高电平时序信号,持续26us-28us的表示这一位是0,持续70us表示这一位是1,然后继续50us低电平,紧接着下一位的高电平开始。 数据 '0': 数据 '1': Parts 为了完成本项目需要用到如下器件 Pi3 x1 DHT11 x1 杜邦线 x3 Hardware 硬件连接很简单,将DHT11的VCC接到Pi的3.3V;DHT11的GND接到Pi的GND;DHT11的DATA接到Pi的GPIO14(BCM编码方式),关于GPIO的识别请参考: How to read Raspberry Pi i/o pin diagram (GPIO pin graph) Software 本文将介绍2中方式读取DHT11数据,一种是Python方式读取,一种是C语言方式读取。 1)Python方式 在任一路径下(如/home/pi)用nano新建一个dht11-test.py文件

文章分类 Raspberry Pi Project

长夜漫漫,不再黑暗

Overview 光敏电阻是是利用光电导效应的一种特殊的电阻,它的电阻和光线的强弱有直接关系,光强度增加,则电阻减小;光强度减小,则电阻增大。利用这一特性可以做很多东西,比如照相机、草坪灯、声光控开关、路灯自动开关等。本项目我们在树莓派上用光敏电阻、继电器等器件完成路灯自动开关制作。当光照比较暗的时候继电器闭合点亮LED灯;光照变亮的时候,继电器断开,LED熄灭。 Parts 光敏电阻 x1 Pi3 x1 LED x1 继电器 x1 10K电阻 x1 1K电阻 x1 跳线若干 面包板 x1 MCP2008 x1 (MCP3204 x1) Hardware Raspberry Pi是一个出色的微型计算机,你可以使用它来控制数字输入和输出。但是当你想用它来处理模拟信号,例如像热敏电阻、电位器等模拟传感器输出时候,Raspberry Pi就有些力不从心了,就需要借助模数转换芯片将模拟信号转换成数字信号。本项目中利用MCP3008(or MCP3204)把光敏电阻输出的电压信号转换成数字信号,Pi根据转换后的数值大小控制继电器通断,从而控制灯亮灭。MCP3008是一款8通道10位精度的模数转换芯片;MCP3204是一款4通道12位精度的模数装换芯片。一路继电器模块是高电平有效,即控制器(Pi)给继电器一个高电平,继电器导通,继电器模块上的LED指示灯亮起;低电平断开,继电器模块上的LED指示灯灯熄灭。 MCP3008接线图: MCP3204接线图: Software (1)在开始编写程序前需要对我们的树莓派Python库文件进行安装设置,此处要用到GPIO库,先安装GPIO库,打开终端,更新apt-get软件安装包列表(注意必须要在网络连接正常情况下),然后执行安装命令来安装raspberry-gpio-python包(如果已经安装请跳过此步),具体指令如下: 1)更新源 pi@raspberrypi ~ $ sudo apt-get update 2)安装python pi@raspberrypi

文章分类 Raspberry Pi Project, 测试

Use Raspberry Pi to get light strength data with photoresistor

Objective In this project, we will use Raspberry Pi to get light strength data with photoresistor . As raspberry pi can not handle analog input, we need an A/D adapter to convert analog voltage into digital signal. You can  select either

文章分类 Raspberry Pi Project, Tutorial & eBook

Use raspberry pi to get IR remote code

Objective In this project, we will connect an Infrared remote control receiver to Raspberry Pi. After an IR remote controller key is pushed, Raspberry Pi will decode the signal and display the key code on the terminal. Parts: 1 pc

文章分类 Raspberry Pi Project, Tutorial & eBook

Use NodeMCU to display MQTT IOT message on I2C1602 LCD

About NodeMCU NodeMCU is a very popular Micro controller with wifi access. It is based on ESP8266 - a cheap but powerful chip  and fully support Arduino IDE. If you familiar with Arduino IDE, you can program NodeMCU in no time.

文章分类 Arduino Parts & Projects, Raspberry Pi Project

Use Raspberry Pi display temperature/humidity to i2c LCD screen

Objective: In this project, we will get temperature and humid data from DHT11 and send it to Raspberry Pi, then display the temperature and humid on 16x2 LCD screen. If you don’t know what is GPIO layout, check our tutorial

文章分类 Raspberry Pi Project, Tutorial & eBook

Raspberry Pi 3.5" HDMI touch screen installation guide

Note:  The Installation guide is about customized image which is combinated 3.5" LCD driver and a fresh OS (Raspbian, Kali, or Ubuntu). It's simple to install both 3.5" LCD driver and a fresh OS at once. You can choose different

文章分类 Raspberry Pi Project, Tutorial & eBook

Use rapsberry Pi to drive U-BLOX NEO-6M GPS module

Objective: In this project, we will use raspberry Pi2  to drive U-BLOX NEO-6M GPS module to get latitude, longitude, altitude,speed etc. U-BLOX NEO-6M GPS module does not support Pi3 , for more info about  U-BLOX NEO-6M , read http://osoyoo.com/2016/10/25/use-mega2560-to-drive-gps/ Connection Raspberry Pi GPS Module 3.3V

文章分类 Raspberry Pi Project