尖叫拍照

来自Microduino Wikipedia
Yanglibin@microduino.cc讨论 | 贡献2015年9月16日 (三) 13:53的版本 (Created page with "{{Language| 尖叫拍照}} {| style="width: 800px;" |- | ==目的== 对着MIC大声说“Cheese!”会发射红外信号,相机就会拍摄一张照片。 File: take_pho...")
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索
Language English

目的

对着MIC大声说“Cheese!”会发射红外信号,相机就会拍摄一张照片。

原理

设备

模块 数量 功能
mCookie-CoreUSB/zh 1 核心板
mCookie-Hub/zh 1 传感器转接板
mCookie-BM/zh 1 电池管理
icroduino-Sound/zh 1 声音检测传感器
Microduino-IR transmitter/zh 1 红外发送传感器

下载程序

  • Setup 1:用USB线将CoreUSB模块与PC/Mac相连,并打开Arduino IDE。
  • Setup 2:点击 文件 > 示例 > mCookie > _204_JoyfulGreeter
  • Setup 3:选择好对应的板卡和COM端口,下载程序。

软件调试

  • 定义sony相机红外发送代码
#define PHOTO 0xB4B8F
  • 控制引脚定义
#define mic_pin A0
#define IR_pin 6
  • 声音触发值
#define voice 400#define voice 400
  • 当声音大于触发之,延时计数一段时间后触发拍照,延时通过num和delay函数里面的值来确定,用户可以更改相关参数试试效果。通过“take”来控制只发送拍照指令一次。
  if (voice_data > voice && take == false)
  {
    time = millis();
    num++;
    delay(10);
    Serial.println(num);
    if (num > 20)
    {
      take = true;
      takePhoto();
      Serial.println("takePhoto...");
    }
  }
  • 定时1S之后检测无声音之后才可以触发下次再次拍摄。
  else if (millis() - time > 1000 )//1s之后才可以再次拍摄
  {
    voice_data = analogRead(mic_pin);
    if (voice_data < voice)
    {
      num = 0;
      take = false;
    }
    time = millis();
  }
  • 发送拍照指令函数
 void takePhoto()
{
  for (int i = 0; i < 3; i++)
  {
    irsend.sendSony(PHOTO, 20); // Sony code
    delay(10);
  }
}

搭建硬件

  • Setup1:将人MIC感器接到接到Sensorhub的A0引脚上,红外发射传感器接到D6引脚上。
  • Setup2:将激活后的电池盒与BM模块相连
CoreUSB Ble steup2.jpg
  • Setup3:将所有模块堆叠在一起,顺序随意,电路部分搭建完成!

结果

冲着MIC传感器大喊,可以触发相机拍照。

视频