尖叫怪

来自Microduino Wikipedia
Zhangfengfeng讨论 | 贡献2017年5月31日 (三) 09:21的版本 设备
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索
Language English

目的

可以感应人体活动,当有人经过时会发出怪兽吼叫的声音。身上藏着一个开关,可通过开关关闭声音。


原理

人体会向外发送热释红外线,传感器可以检测到变化的热释红外线从而判断是否有人,当传感器检测到,就控制Audio模块输出音频。同时检测按键是否按下,按下则关闭音频,否则循环播放。

设备

模块 数量 功能
mCookie-CoreUSB/zh 1 核心板
mCookie-Hub/zh 1 传感器转接板
Microduino-Crash/zh 1 碰触开关
Sensor-PIR/zh 1 人体传感器
mCookie-Audio/zh 1 音频模块
mCookie-Amplifier/zh 1 音频功率放大模块
mCookie-BM/zh 1 电池管理

搭建硬件

  • Setup 1:将CoreUSB接到电脑。打开示例程序,选择好板卡和串口下载程序。
  • Setup2:将触摸传感器接到Sensorhub的D6,人体红外传感器接到D10引脚。
Microduino-sensorhub rule.JPG
  • Setup3:将电池接到BM上

软件调试

代码说明

  • 控制引脚定义
#define humanHotSensor 10
#define buttonPin 6
  • 检测人体红外并播放音频
void pirDetector() {
  // read the input pin:
  humanHotState = digitalRead(humanHotSensor);
  // print out the state of the button:
  //Serial.println(humanHotState);
  delay(1);        // delay in between reads for stability
  if(humanHotState) {
      Serial.println("play sound.....");
      audio_choose(1);// 2:health,1:noHealth
      audio_play();
  }
}
  • 判断是否有人触碰开关
void updateButton() {
  if(key_get(buttonPin,0)) {
    delay(200);
    on_off=!on_off;
  }
  if(statusChange!=on_off) {
    statusChange=on_off;
    if(on_off) {
      Serial.println("pause");
      audio_pause();
    } 
    else {
      Serial.println("pause");
      audio_pause();
    }
  }
}

程序

[MicroduinoSkreech]

结果

如果有人经过怪兽就会吼叫,触碰一下开关就会停止吼叫。

视频