开源迎门汇报/zh

来自Microduino Wikipedia
Pppeng讨论 | 贡献2016年6月16日 (四) 02:08的版本 拼装过程
跳转至: 导航搜索

概述

  • 项目名称:Microduino开源迎门汇报
  • 目的:用Microduino模块搭建迎门人体检测系统
  • 难度:中
  • 耗时:2小时
  • 制作者:peng
  • 简介
    • 迎门人体检测系统通过热释传感器探测3米范围内是否有人靠近
    • 在有人靠近时,通过彩色LED灯变换色彩进行提示,并利用喇叭播报出欢迎语音。

材料清单

模块清单

模块 数量 功能
Microduino-Core/zh 1 核心板
Microduino-USBTTL/zh 1 下载程序
Microduino-Audio/zh 1 音频控制
Microduino-Amplifier/zh 1 功率放大
Microduino-Sensorhub/zh 1 与传感器相连
Microduino-Cube-S1/zh 1 扩展
Microduino-PIR/zh 2 热释红外传感器
Microduino-Color led/zh 1 彩色LED灯

其他材料

部件 数量 功能
Micro-USB线 1 下载程序,供电
喇叭 1 发声
尼龙螺丝 10 固定模块
尼龙螺母 5 固定模块
尼龙螺柱 5 固定模块
开源迎门汇报外壳套件 1 外壳
Welcomebom1.jpg

实验原理

  • 迎门人体检测系统主要分为检测控制部分
  • 检测部分
    • 采用红外热释传感器Microduino-PIR/zh,能探测附近人体的红外特征信号
    • 传感器Microduino-PIR/zh工作原理
      • 人体都有特定波长10um左右,可以被热释传感器被动式红外探头探测到的红外线
      • 人体红外线经过菲涅尔滤光片增强后聚集到红外探头上,探头上的热释电元件温度会发生变化从而向外释放电荷,经过后续电路处理就能产生可以处理的电信号
Doorwelcome1.jpg

程序下载

程序烧写

  • Microduino-Core/zhMicroduino-USBTTL/zh堆叠在一起。
    • 用数据线连接其中的Microduino-USBTTL/zh准备上传程序。
    • 注意:最好不要将所有模块堆叠在一起之后再上传程序
  • 打开Arduino IDE for Microduino,环境,(搭建参考:AVR核心:Getting started/zh
  • 点击【工具】,确认板卡(Microduino-Core),处理器(Atmega328P@16M,5V)选择无误,并选中对应端口号(COMX)
  • 点击【文件】->【打开】,浏览到项目程序地址,点击“WelcomeBodyDetector.ino”程序打开
  • 几项都无误后,点击"→"按钮下载程序到开发板上

拼装过程

Welcome11.jpg
  • Step2
    • 如下图结构B6插在底板上,把喇叭固定
    • 使用尼龙螺丝尼龙螺母将两个Microduino-PIR/zh传感器分别固定在两块结构B1
    • 结构B1插在底板
    • 喇叭连接到Microduino-Amplifier/zh模块的接口上(没有左右顺序区别)
Welcome21.jpg
Welcome6.jpg
  • Step3
    • 如下图,将3个结构B3插在底板(结构A2)上
    • 如下图,使用尼龙螺丝尼龙螺柱Microduino-Color led/zh固定在顶盖(结构A1)
Welcome331.jpg
  • Step4
    • 结构B5固定在如图所示的各个指示接口位置,迎门检测仪完成了
Welcome41.jpg

操作说明

代码说明

  • 进出门判断
{ 
    //先过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 
    } 
    //先过D6后过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 
    } 
}

疑难解答/FAQ

  • Q:喇叭要插Microduino-Amplifier/zh模块哪个接口?
    • A:喇叭是不用区分左右接口,任意插那个都可以
  • Q:为什么觉得Microduino-PIR/zh反应好慢?
    • A:因为Microduino-PIR/zh传感器有2.3秒的延迟,因此感应器在感应到人后的2.3秒内是不工作的
  • Q:为什么欢迎光临和再见说反了?