开源迎门汇报/zh

来自Microduino Wikipedia
Hustshenyang@126.com讨论 | 贡献2016年1月5日 (二) 09:17的版本 (Created page with "{| style="width: 800px;" |- | ==概述== *项目名称:Microduino开源迎门汇报 *目的:当有人靠近时,彩灯变色并播报欢迎语音 *难度:中 *耗时:...")
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

概述

  • 项目名称:Microduino开源迎门汇报
  • 目的:当有人靠近时,彩灯变色并播报欢迎语音
  • 难度:中
  • 耗时:2小时
  • 制作者:
  • 简介:

本次教程我们将使用Microduino产品模块快速搭建一个迎门人体检测体统, 该系统通过热释传感器探测3米范围内是否有人靠近,在有人靠近时,可以通过彩色LED灯变换色彩进行提示,并播报出欢迎语音。

材料清单

  • Microduino设备
模块 数量 功能
Microduino-Core/zh 1 核心板
Microduino-USBTTL/zh 1 下载程序
Microduino-Audio/zh 1 音频控制
Microduino-Amplifier/zh 1 功率放大
Microduino-Sensorhub/zh 1 与传感器和舵机相连
Microduino-PIR/zh 1 热释红外传感器
Microduino-Lantern/zh 1 彩色LED灯
  • 其他设备
模块 数量 功能
Micro-USB线 1 下载程序,供电
喇叭 2 发声
螺丝 5 固定模块
外壳 1

实验原理

迎门人体检测系统主要分为检测与控制两个部分。检测部分采用红外热释传感器Microduino-PIR,能探测附近人体的红外特征信号。控制部分为声光控制,发光部件采用Microduino-Lantern模块,能让LED呈现美轮美奂的颜色;音频部分通过Microduino-Aduio模块管理音频文件,Microduino-Amplifier功率放大模块驱动2个喇叭发出洪亮的声音。

Doorwelcome1.jpg

整体系统的控制原理即接入以上两个部分,Microduino-Core核心通过PIR传感器探测到附近有人靠近后,控制Lantern模块变换颜色,Auido模块播报“欢迎光临”语音,从而达到迎宾欢迎的效果。

  • 主要传感器

Microduino-PIR/zh 人体都有恒定的体温,一般在37摄氏度,所以会发出特定波长10um左右的红外线,热释传感器就是通过被动式红外探头探测10um左右红外线而进行工作的。人体发射的10um左右的红外线经过菲涅尔滤光片增强后聚集到红外探头上。 红外探头通常采用热释电元件,这种元件在接受到人体红外辐射温度发生变化时就会失去电荷平衡,向外释放电荷,后续电路经过处理就能产生可以处理的电信号。 菲涅尔透镜利用透镜的特殊光学原理,在探测器前方产生一个交替变化的“盲区”和“高灵敏区”,以提高他的探测接收灵敏度。当有人从透镜前走过时,人体发出的红外线就不断地交替从“盲区”进入“高灵敏区”,这样就使接收到的红外信号以忽强忽弱的脉冲形式输入,从而增强其能量幅度。热释红外传感器只有配合菲涅尔透镜使用才能发挥最大作用。

文档

调试过程

  • 下载程序

将Microduino-Core与Microduino-USBTTL叠加(无上下顺序),通过USB数据与电脑连接起来。

Download1.jpg

打开Arduino IDE编程软件,点击【文件】->【打开】

Dl1.jpg

浏览到项目程序地址,点击“body_welcome.ino”程序打开。

点击【工具】,在板选项里面选择板卡(Microduino-Core),在处理器选项里面选择处理器(Atmega328p@16M,5V),再在端口选项里面选择正确的端口号,然后直接烧录程序。

Dl3.jpg

使用USB数据线将Microduino-Audio模块与电脑连接。 连接成功能显示出一个名为Microduino Audio的CD驱动器,然后执行以下步骤:

Dl5.jpg

打开CD驱动器后会出现音乐更新软件Music Update tool,选择“音频加载”选项;

Dl6.jpg

点击“浏览”,选择“music”文件夹中的"bye.wav,欢迎.wav"音频文件,将音频文件添加到软件中

欢迎与再见音频下载地址:http://pan.baidu.com/s/1pJpJK5X 提取码:hkks

在”更新下载”选项中选择“更新”,更新完成后,音频文件就已写入flash中。

Dl8.jpg
  • 搭建

拼装时首先将Microduino-Duo-S1板用尼龙螺柱固定在A2底板上面。

之后将Core(在最下),Audio,Amplifier,Sensorhub(在最上)按顺序叠加起来,之后加在Microduino-Duo-S1底板上

将喇叭连接到Amplifier的接口上(没有左右顺序区别)

首先使用螺丝和螺柱将两个红外热释传感器固定在两块侧板上,之后在拼接边框时先确定两个热释传感器的位置,按如图所示位置,相邻的放置在UPIN27开口方向的旁边。

将Microduino-ColorLED使用螺柱和螺母固定在顶板上

将传感器和Sensorhub用传感器线连接起来,两个红外热释传感器连接到D4/D5与D6/D7接口(图中蓝色标注),将Microduino-ColorLED连接到A0/A1接口(图中红色标注)

将顶盖盖上,注意图中黄色框中的插槽要与底部的插槽放在对应位置,此位置是固定喇叭的木片使用的。之后使用插销固定住每个插孔,顶部与底部共6*2总共12个固定口。

之后使用USB线连接底板上的USB接口给其供电。此时热释传感器检测到附近有人后,LED灯会变换颜色,喇叭播放出欢迎语音。并且会根据人来往的方向判断是进门还是出门。

程序说明

百度盘地址:http://pan.baidu.com/s/1o6nJT70 提取码:q54r

  • 进出门判断
void judge() 
{ 
    //先过D4后过D6为进入 
    if((digitalRead(body_pin) == 1) && (digitalRead(body_pin2) == 0)) 
    { 
        FLAG_1 = 1; 
        delay(200); 
    } 
    if((digitalRead(body_pin) == 1) && (digitalRead(body_pin2) == 1) && (FLAG_1 == 1)) 
    { 
 
        colorWipe(color[random(1, 10)]); 
        audio_choose(1); 
        Serial.println("COMING IN"); 
        FLAG_1 = 0; 
        delay(1300);    //1300 
    } 
    //先过D46过D4为出门 
    if((digitalRead(body_pin) == 0) && (digitalRead(body_pin2) == 1)) 
    { 
        FLAG_2 = 1; 
        delay(200);    //2000 
    } 
    if((digitalRead(body_pin) == 1) && (digitalRead(body_pin2) == 1) && (FLAG_2 == 1)) 
    { 
        colorWipe(color[random(1, 10)]); 
        audio_choose(2); 
        Serial.println("GOING OUT"); 
        FLAG_2 = 0; 
        delay(1300);   //2000 
    } 
}

视频