Blog Archives

用树莓派实现声光控开关

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

Posted in 测试

基于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文件

Posted in 测试

DS18B20 Temperature Sensor with Raspberry Pi

Overview DS18B20 is a 1-wire temperature sensor,Since the Raspberry Pi has no ADC (Analog to Digital Converter), it cannot directly use an analog temperature sensor like the TMP36, making the DS18B20 a good choice for temperature sensing. In this tutorial,

Posted in 测试

在Raspberry Pi用Python实现蜂鸣器的按键控制

Overview 本项目用Raspberry Pi连接按键和蜂鸣器,当按键按下,蜂鸣器响起;按键再按一下蜂鸣器停止响。在本项目中,将分别采用查询方式和中断方式检测按键信号。查询方式就是程序不停的检测按键是否别按下,这种做法很消耗CPU,如果在循环增加 sleep(1000) 这样的调用,又很容易错过按键变化。较好的做法则是通过 中断 来实现,中断方式是在没有按键按下器件,CPU可以运行其他程序。当有按键按下时候,给CPU发送一个中断信号,执行中断服务程序,本项目中会给出两种方式的代码供您选择。 Parts Pi3 x1 有源蜂鸣器 x1 按键 x1 10K电阻 x1 面包板 x1         跳线若干 Hardware Software (1)在开始编写程序前需要对我们的树莓派Python库文件进行安装设置,此处要用到GPIO库,先安装GPIO库,打开终端,更新apt-get软件安装包列表(注意必须要在网络连接正常情况下),然后执行安装命令来安装raspberry-gpio-python包(如果已经安装请跳过此步),具体指令如下: 1)更新源 sudo apt-get update 2)安装python sudo apt-get install python-dev 3)安装python-pip(python-pip是一个管理python软件包的工具) sudo apt-get install python-pip 4)利用pip安装rpi.gpio sudo pip

Posted in 测试

长夜漫漫,不再黑暗

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

Posted in 测试

基于ESP8266串口WiFi扩展板上传数据到服务器和反向控制

一 准备工作 1.1 硬件准备 1) Arduino UNO一块,或者mega2560 2) ESP12E Shield(或ESP13 shield)一块 1.2 上传账号以及API Key 在doit的云平台上申请一个账号。申请地址:http://iot.doit.am。记住自己的账号(Uid)和密码(Passoword) 登陆可以看到默认界面 按照下图获取API的Key,用于上传数据。 新添一个设备,名为arduino。 1.3 阅读上传协议 平台基于TCP通讯,服务器IP: iot.doit.am, 端口:8810;平台采用key,进行用户验证,key通过 http://iot.doit.am 获得。 1.数据上传: cmd=upload&device_name=arduino&data=126&uid=demo&key=c514c91e4ed341f263e458d44b3bb0a7\r\n 应答: cmd=upload&res=1 通过 http://iot.doit.am可以实时查看。 2.控制设备: a)先订阅自己的用户id: cmd=subscribe&topic=demo \r\n 应答:     cmd=subscribe&res=1 b)通过 http://iot.doit.am发送控制命令。

Posted in 测试

带测速装置的智能小车

1) 项目介绍 本项目是基于智能小车学习套件的,除了项目中用到的霍尔传感器模块外,其余部件均跟智能小车学习套件一样,因此,控制器采用的是arduino UNO。如果你没有智能小车学习套件可以购买,也可以根据自己实际情况参考本项目完成带测速装置的智能小车设计。 2) 测速原理 当有磁铁靠近霍尔测速传感器模块的时候,霍尔测速传感器模块就产生一个脉冲,即有磁场切割就有信号输出。可以利用这一原理测量小车的转速。在小车轮子上固定一个小磁铁,同时将霍尔测速传感器模块固定在小车底盘上,当小磁铁和霍尔测速传感器模块探头重合的时候,模块会输出一个高电平,利用Arduino的中断功能就可以记录模块产生高电平的次数,即小车的转数,再测量出旋转这些转数所用的时间,就可以计算出小车的转速了。 3) 器件清单 器件 qty 霍尔传感器模块 1 小磁铁片 1 跳线 若干 4) 接线 电机接线请参考智能小车学习套件 5) 代码 arduino_hall

Posted in 测试

带人体、火焰探测及震动探测的智能小车

1) Objective 本项目是基于智能小车学习套件的,除了项目中用到的人体探测传感器模块、火焰探测传感器模块和震动传感器模块外,其余部件均跟智能小车学习套件一样,因此,控制器采用的是arduino UNO。如果你没有智能小车学习套件可以购买,也可以根据自己实际情况参考本项目完成带人体、火焰探测及震动探测的智能小车设计。 2) Parts and devices 器件 qty 人体探测传感器模块 1 火焰探测传感器模块 1 震动传感器模块 1 跳线 若干 3) Circuit Graph   其他部分接线请参考智能小车学习套件项目 4) Sample code download link as following motion_flame_vibration APP:http://osoyoo.com/wp-content/uploads/2017/01/BTcar.apk 5) 调试 在手机上安装APP,手机链接上小车热点"Doit_xxx",打开APP点击APP上的前后左右按钮控制小车前后左右运动,同时获取小车的震动情况;点击中间的暂停按钮将获取人体检测传感器和火焰传感器的状态。 具体调试请参考:智能小车学习套件链接(还没拍照片、视频,没做完善!!)

Posted in 测试

带温度检测和光照探测的智能小车

1) Objective 本项目是基于智能小车学习套件的,除了项目中用到的DS18B20温度传感器模块和光敏电阻模块外,其余部件均跟智能小车学习套件一样,因此,控制器采用的是arduino UNO。如果你没有智能小车学习套件可以购买,也可以根据自己实际情况参考本项目完成带温度检测和光照探测的智能小车设计。 2) Parts and devices 器件 qty DS18B20温度传感器模块 1 光敏电阻模块 1 跳线 若干 3) Circuit Graph   其他部分接线请参考智能小车学习套件项目 4) Sample code download link as following ds18b20+photoresistor APP:http://osoyoo.com/wp-content/uploads/2017/01/BTcar.apk 5) 调试 在手机上安装APP,手机链接上小车热点"Doit_xxx",打开APP点击APP上的前后左右按钮控制小车前后左右运动;点击中间的暂停按钮将获取环境温度和光照度 具体调试请参考:智能小车学习套件链接(还没拍照片、视频,没做完善!!)

Posted in 测试

MPU6050模块

1 模块介绍 MPU6050模块包含3轴加速度计和3轴陀螺仪,广泛应用于智能小车、平衡车、航模等项目中。在本项目向大家说明如何用arduino将MPU6050模块中的数据读取出来。 2 所需器件 器件 qty Arduino UNO 1 跳线 若干 MPU6050 1 3 电路连线 MPU6050是IIC接口的,只需要将SDA、SCL接到arduino的A4、A5口就可以了。 MPU6050数据手册:PS-MPU-6000A、RM-MPU-6000A 4 代码 要读取MPU6050的数据其实很简单,使用第三方库就可以实现数据的读取。 MPU6050库:MPU6050 I2Cdev库:I2Cdev 将上面两个库文件拷贝到arduino IDE安装目录下的libraries目录下,在MPU6050文件夹里有一个叫Examples的文件夹,里面有读取MUP6050模块数据的示例代码,可以根据自己需要对代码进行修改。    

Posted in 测试

Meta