吼叫闹钟

来自Microduino Wikipedia
1304410487@qq.com讨论 | 贡献2015年10月30日 (五) 07:30的版本 设备
跳转至: 导航搜索
Language English

目的

平时就是一个闹钟,每天早上七点开始响声叫你起床,让他停止响声的方法就是冲着闹钟大喊。

原理

设备

模块 数量 功能
Microduino-CoreUSB/zh 1 核心板
Microduino-Sensorhub/zh 1 传感器转接板
Microduino-Sound/zh 1 声音检测传感器
Microduino-BUZZER/zh 1 蜂鸣器传感器
Microduino-RTC/zh 1 时钟模块
Microduino-OLED/zh 1 显示模块
Microduino-BM/zh 1 电池管理

搭建硬件

  • Setup 1:将CoreUSB接到电脑。打开示例程序,选择好板卡和串口下载程序。
  • Setup2:将Mic接到Sensorhub的A2,蜂鸣器接到D6,OLED接到IIC引脚上。
Microduino-sensorhub rule.JPG
  • Setup3:将电池接到BM上

软件调试

代码说明

  • 控制引脚定义
#define buzzer_pin 6

int micPin = A2; 
int micValue=0;

U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);//定义OLED连接方式
  • 时钟初始设定值
void initTime() {
  rtc.initClock();
  //set a time to start with.
  //day, weekday, month, century(1=1900, 0=2000), year(0-99)
  rtc.setDate(11, 4, 6, 0, 15);
  //hr, min, sec
  rtc.setTime(13, 5, 0);
}
  • 设置闹钟时间和闹钟声音大小,此例中设置7点开始闹钟,五分钟后自动结束,如果在这期间有吼声就停止闹钟。
void updateAlarm() {
  if(timeHH==7&&timeMM<5) {
      if(micValue>500) {
      isRoar=true;
    }
    if(isRoar) {
      noTone(buzzer_pin);
    } else {
      tone(buzzer_pin,500); //在端口输出频率
    }
  } else {
    isRoar=false;
    noTone(buzzer_pin);
  }
}

程序

[MicroduinoRoarAlarmClock]

结果

每天七点钟闹钟响起,持续5分钟,如果期间有吼声就会停止闹钟。

视频