“尖叫怪”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
程序
设备
 
(未显示2个用户的2个中间版本)
第5行: 第5行:
 
==目的==
 
==目的==
  
可以感应人体活动,当有人经过时会发出怪兽吼叫的声音
+
可以感应人体活动,当有人经过时会发出怪兽吼叫的声音。身上藏着一个开关,可通过开关关闭声音。
 +
 
  
 
==原理==
 
==原理==
 +
人体会向外发送热释红外线,传感器可以检测到变化的热释红外线从而判断是否有人,当传感器检测到,就控制Audio模块输出音频。同时检测按键是否按下,按下则关闭音频,否则循环播放。
  
 
==设备==
 
==设备==
第14行: 第16行:
 
|模块||数量||功能
 
|模块||数量||功能
 
|-
 
|-
|[[Microduino-CoreUSB/zh]]||1||核心板
+
|[[mCookie-CoreUSB/zh]]||1||核心板
 
|-
 
|-
|[[Microduino-Sensorhub/zh]]||1||传感器转接板
+
|[[mCookie-Hub/zh]]||1||传感器转接板
 
|-
 
|-
|[[Microduino-TOUCH/zh]]||1||触摸传感器
+
|[[Microduino-Crash/zh]]||1||碰触开关
 
|-
 
|-
|[[Microduino-PIR/zh]]||1||人体传感器
+
|[[Sensor-PIR/zh]]||1||人体传感器
 
|-
 
|-
|[[Microduino-Audio/zh]]||1||音频模块
+
|[[mCookie-Audio/zh]]||1||音频模块
 
|-
 
|-
|[[Microduino-Amplifier/zh]]||1||音频功率放大模块
+
|[[mCookie-Amplifier/zh]]||1||音频功率放大模块
 
|-
 
|-
| [[Microduino-BM/zh]]||1||电池管理
+
|[[mCookie-BM/zh]]||1||电池管理
 
|}
 
|}
 
+
[[File: MicroduinoSkreech.jpg|600px|center|thumb]]
[[File: MicroduinoSkreech.jpg|600px|center|thumb]]
 
  
 
==搭建硬件==
 
==搭建硬件==
第91行: 第92行:
  
 
==程序==
 
==程序==
[[https://github.com/Microduino/Microduino_Tutorials/tree/master/MCookie_Tutorial/MicroduinoRoarAlarmClock MicroduinoRoarAlarmClock]]
+
[[https://github.com/Microduino/Microduino_Tutorials/tree/master/MCookie_Tutorial/MicroduinoSkreech MicroduinoSkreech]]
  
 
==结果==
 
==结果==

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]

结果

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

视频