吼叫闹钟

来自Microduino Wikipedia
Zhangfengfeng讨论 | 贡献2017年6月30日 (五) 08:54的版本 搭建硬件
跳转至: 导航搜索
Language English

目的

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

设备

模块 数量 功能
mCookie-Core/zh 1 核心板
mCookie-Hub/zh 1 传感器转接板
Sensor-MIC/zh 1 声音检测传感器
Sensor-Buzzer/zh 1 蜂鸣器传感器
mCookie-RTC/zh 1 时钟模块
mCookie-OLED/zh 1 显示模块
mCookie-BM/zh 1 电池

搭建硬件

  • Setup 1:将Core堆叠到mBattery上,再接到电脑。打开示例程序,选择好板卡和串口下载程序。
  • Setup2:将Mic接到Hub的A2,蜂鸣器接到D6,OLED接到IIC引脚上。

软件调试

代码说明

  • 控制引脚定义
#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分钟,如果期间有吼声就会停止闹钟。

视频