“招财猫”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
(Created page with "{{Language|招财猫}} {| style="width: 800px;" |- | ==目的== 可以感应人体活动,当有人经过时招财猫的眼睛会亮起和摆手并发出声音,可以用...")
 
第107行: 第107行:
  
 
</source>
 
</source>
 +
 +
==程序==
 +
[[https://github.com/Microduino/Microduino_Tutorials/tree/master/MCookie_Tutorial/MicroduinoFortuneCat MicroduinoFortuneCat]]
  
 
==结果==
 
==结果==

2015年6月21日 (日) 06:45的版本

Language English

目的

可以感应人体活动,当有人经过时招财猫的眼睛会亮起和摆手并发出声音,可以用按键控制声音。

原理

设备

模块 数量 功能
Microduino-CoreUSB/zh 1 核心板
Microduino-Sensorhub/zh 1 传感器转接板
Microduino-TOUCH/zh 1 触摸传感器
Microduino-IR/zh 1 人体传感器
Microduino-Audio/zh 1 音频模块
Microduino-Amplifier/zh 1 音频功率放大模块
Microduino-LED/zh 2 led灯
Microduino-BM/zh 1 电池管理
舵机 1 舵机

搭建硬件

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

软件调试

代码说明

  • 控制引脚定义
#define humanHotSensor 4
#define buttonPin 12
#define PIN 6
#define SERVOPIN 8

Adafruit_NeoPixel strip = Adafruit_NeoPixel(1, PIN, NEO_GRB + NEO_KHZ800);
  • 检测人体红外并播放音频,控制舵机
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) {
      colorWipe(strip.Color(125, 125, 125));
      updateServo();

      Serial.println("play sound.....");
      audio_choose(soundNum);
      audio_play();
  }else {
    colorWipe(strip.Color(0, 0, 0));
  }
}
  • 判断是否有人触碰开关
void updateButton() {
  if(key_get(buttonPin,0)) {
    delay(200);
    on_off=!on_off;
  }
  if(statusChange!=on_off) {
    statusChange=on_off;
    if(on_off) {
      updateSoundNum();
      Serial.println("choose");
      //audio_pause();
    } else {
      updateSoundNum();
      Serial.println("choose");
      //audio_pause();
    }
  }
}

程序

[MicroduinoFortuneCat]

结果

如果有人经过招财猫就会向你招手,眼睛会亮起并发出响声。

视频