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

来自Microduino Wikipedia
跳转至: 导航搜索
(Created page with "{{Language|招财猫}} {| style="width: 800px;" |- | ==目的== 可以感应人体活动,当有人经过时招财猫的眼睛会亮起和摆手并发出声音,可以用...")
 
视频
 
(未显示3个用户的10个中间版本)
第4行: 第4行:
 
|
 
|
 
==目的==
 
==目的==
 
+
当有人经过的时候,招财猫会两眼放光的向你挥手,还会发出叫声哦。
可以感应人体活动,当有人经过时招财猫的眼睛会亮起和摆手并发出声音,可以用按键控制声音。
+
[[File: MicroduinoFortuneCat-stater.jpg|600px|center]]
  
 
==原理==
 
==原理==
 +
人体会向外发送热释红外线,传感器可以检测到变化的热释红外线从而判断是否有人,当传感器检测到,就控制彩灯变色,并且Audio模块输出音频。同时控制舵机摇摆,实现招手。
 +
[[File: MicroduinoFortuneCat-sch.jpg|600px|center]]
  
 
==设备==
 
==设备==
第14行: 第16行:
 
|模块||数量||功能
 
|模块||数量||功能
 
|-
 
|-
|[[Microduino-CoreUSB/zh]]||1||核心板
+
|[[mCookie-CoreUSB/zh]]||1||核心板
 
|-
 
|-
|[[Microduino-Sensorhub/zh]]||1||传感器转接板
+
|[[mCookie-Hub/zh]]||1||传感器转接板
 
|-
 
|-
 
|[[Microduino-TOUCH/zh]]||1||触摸传感器
 
|[[Microduino-TOUCH/zh]]||1||触摸传感器
 
|-
 
|-
|[[Microduino-IR/zh]]||1||人体传感器
+
|[[Microduino-PIR/zh]]||1||人体传感器
 
|-
 
|-
|[[Microduino-Audio/zh]]||1||音频模块
+
|[[mCookie-Audio/zh]]||1||音频模块
 
|-
 
|-
|[[Microduino-Amplifier/zh]]||1||音频功率放大模块
+
|[[mCookie-Amplifier/zh]]||1||音频功率放大模块
 
|-
 
|-
|[[Microduino-LED/zh]]||2||led灯
+
|[[Microduino-Color led/zh]]||2||led灯
 
|-
 
|-
| [[Microduino-BM/zh]]||1||电池管理
+
| [[mCookie-BM/zh]]||1||电池管理
 
|-
 
|-
 
| 舵机||1||舵机
 
| 舵机||1||舵机
  
 
|}
 
|}
 +
[[File: MicroduinoFortuneCat-module.jpg|600px|center]]
 +
[[File: MicroduinoFortuneCat-module1.jpg|600px|center]]
  
[[File: MicroduinoFortuneCat.jpg|600px|center|thumb]]
+
==准备==
 
+
*Setup 1:用USB线将CoreUSB模块与PC/Mac相连,并打开Arduino IDE。
==搭建硬件==
+
[[File:CoreUSB_Ble_pc.jpg|600px|center]]
*Setup 1:将CoreUSB接到电脑。打开示例程序,选择好板卡和串口下载程序。
+
*Setup 2:点击Files > Examples > mCookie > _303_FortuneCat, 加载程序。
 
+
[[File: l _303_FortuneCat -ino.jpg|600px|center]]
[[File:MicroduinoFortuneCat1.jpg|600px|center|thumb]]
+
* Setup 3:加载代码,将程序代买拷贝到IDE中。程序编译通过后选择好板卡和COM端口下载程序。出现上传成功(Done Uploading)提示,表示程序已经写进CoreUSB模块中了。
*Setup2:将触摸传感器接到Sensorhub的D12,人体红外传感器接到D4引脚,led灯接到D6引脚,舵机接到D8引脚。
+
[[File: _303_FortuneCat -com.jpg|600px|center]]
[[file:Microduino-sensorhub_rule.JPG|thumb|800px|center]]
 
[[file: MicroduinoFortuneCat2.JPG|thumb|800px|center]]
 
*Setup6:将电池接到BM上
 
[[file: MicroduinoFortuneCat3.JPG|thumb|800px|center]]
 
 
 
 
==软件调试==
 
==软件调试==
 
代码说明
 
代码说明
第51行: 第50行:
 
<source lang="cpp">
 
<source lang="cpp">
  
#define humanHotSensor 4
+
#define humanHotSensor 4//人体传感器
#define buttonPin 12
+
#define PIN 6//彩灯
#define PIN 6
+
#define SERVOPIN SDA//舵机
#define SERVOPIN 8
 
  
 
Adafruit_NeoPixel strip = Adafruit_NeoPixel(1, PIN, NEO_GRB + NEO_KHZ800);
 
Adafruit_NeoPixel strip = Adafruit_NeoPixel(1, PIN, NEO_GRB + NEO_KHZ800);
第62行: 第60行:
 
*检测人体红外并播放音频,控制舵机
 
*检测人体红外并播放音频,控制舵机
 
<source lang="cpp">
 
<source lang="cpp">
 +
if (humanHotState) {
 +
    colorWipe(strip.Color(125, 125, 125));
 +
    updateServo();
  
void pirDetector() {
+
    if (!playing) {
  // 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.....");
 
       Serial.println("play sound.....");
      audio_choose(soundNum);
+
    // audio_play();
      audio_play();
+
    audio_choose(1);
  }else {
+
       playing = true;
    colorWipe(strip.Color(0, 0, 0));
 
  }
 
}
 
 
 
</source>
 
 
 
*判断是否有人触碰开关
 
<source lang="cpp">
 
 
 
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();
 
 
     }
 
     }
 
   }
 
   }
}
 
 
 
</source>
 
</source>
 +
==搭建硬件==
 +
*Setup 1:将触摸传感器接到Sensorhub的D12,人体红外传感器接到D4引脚,led灯接到D6引脚。
 +
[[file: MicroduinoFortuneCat2-hub.JPG|600px|center]]
 +
LED灯的连接方法如图,请注意连接顺序,从LED的IN接口接入,从OUT接口接出本应用最多可控制2个LED灯。
 +
[[File:CoreUSB_Ble_steup11.jpg|600px|center]]
 +
*Setup2:将舵机接口接在转接件相应的位置上,转接件可以同时连接两个舵机。再将转接件另一端连接在Hub的IIC接口上。
 +
[[file: MicroduinoFortuneCat2-hub-servo.JPG|600px|center]]
 +
*Setup 3:将TF卡装在AudioShield模块的卡槽中。
 +
[[File: _MusicBox_Joystick _TF.jpg|600px|center]]
 +
*Setup 4:将AudioSheild和Audio模块堆叠可作为TF读卡器使用,通过Audio模块连接电脑,就可以往TF卡根目录下存储歌曲,本应用只能储存一首欢迎曲,歌曲时间不宜过。
 +
[[File: _MusicBox_Joystick _song.jpg|600px|center]]
 +
*Setup 5:将两个喇叭接到Amplifier上
 +
[[file: MusicBox_Joystick _song_speak.JPG|600px|center]]
 +
*Setup 6:将Audio,Audio shield,Amplifier三个叠堆到一块。
 +
[[file: MusicBox_Joystick _3_speak.JPG|600px|center]]
 +
*Setup 7:将激活后的电池盒与BM模块相连
 +
[[File:CoreUSB_Ble_steup2.jpg|600px|center]]
 +
*Setup 8:将所有模块堆叠在一起,顺序随意(除了Audio,AudioShield和Amplifier三个要挨在一起),电路部分搭建完成了!
 +
[[File: MicroduinoFortuneCat_steup-ok.jpg|600px|center]]
  
 
==结果==
 
==结果==
 +
如果有人经过招财猫就会向你招手,眼睛会亮起并发出响声。
 +
[[File: MicroduinoFortuneCat_steup-legao.jpg|600px|center]]
  
如果有人经过招财猫就会向你招手,眼睛会亮起并发出响声。
 
  
==视频==
 
  
 
|}
 
|}

2017年4月12日 (三) 03:27的最新版本

Language English

目的

当有人经过的时候,招财猫会两眼放光的向你挥手,还会发出叫声哦。

原理

人体会向外发送热释红外线,传感器可以检测到变化的热释红外线从而判断是否有人,当传感器检测到,就控制彩灯变色,并且Audio模块输出音频。同时控制舵机摇摆,实现招手。

设备

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

准备

  • Setup 1:用USB线将CoreUSB模块与PC/Mac相连,并打开Arduino IDE。
  • Setup 2:点击Files > Examples > mCookie > _303_FortuneCat, 加载程序。
  • Setup 3:加载代码,将程序代买拷贝到IDE中。程序编译通过后选择好板卡和COM端口下载程序。出现上传成功(Done Uploading)提示,表示程序已经写进CoreUSB模块中了。

软件调试

代码说明

  • 控制引脚定义
#define humanHotSensor 4//人体传感器
#define PIN 6//彩灯
#define SERVOPIN SDA//舵机

Adafruit_NeoPixel strip = Adafruit_NeoPixel(1, PIN, NEO_GRB + NEO_KHZ800);
  • 检测人体红外并播放音频,控制舵机
if (humanHotState) {
    colorWipe(strip.Color(125, 125, 125));
    updateServo();

    if (!playing) {
      Serial.println("play sound.....");
     // audio_play();
     audio_choose(1);
      playing = true;
    }
  }

搭建硬件

  • Setup 1:将触摸传感器接到Sensorhub的D12,人体红外传感器接到D4引脚,led灯接到D6引脚。

LED灯的连接方法如图,请注意连接顺序,从LED的IN接口接入,从OUT接口接出本应用最多可控制2个LED灯。

CoreUSB Ble steup11.jpg
  • Setup2:将舵机接口接在转接件相应的位置上,转接件可以同时连接两个舵机。再将转接件另一端连接在Hub的IIC接口上。
  • Setup 3:将TF卡装在AudioShield模块的卡槽中。
MusicBox Joystick TF.jpg
  • Setup 4:将AudioSheild和Audio模块堆叠可作为TF读卡器使用,通过Audio模块连接电脑,就可以往TF卡根目录下存储歌曲,本应用只能储存一首欢迎曲,歌曲时间不宜过。
MusicBox Joystick song.jpg
  • Setup 5:将两个喇叭接到Amplifier上
MusicBox Joystick song speak.JPG
  • Setup 6:将Audio,Audio shield,Amplifier三个叠堆到一块。
MusicBox Joystick 3 speak.JPG
  • Setup 7:将激活后的电池盒与BM模块相连
CoreUSB Ble steup2.jpg
  • Setup 8:将所有模块堆叠在一起,顺序随意(除了Audio,AudioShield和Amplifier三个要挨在一起),电路部分搭建完成了!

结果

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