生日灯
Language | English |
---|
概述按下开关,蜂鸣器会播放预设的生日歌,同时灯光会闪烁,再次按下开关就会停止。 原理系统实时检测碰撞开关是否发生碰撞,当发生碰撞时,碰撞真假状态改变一次。当为真时,开始播放生日歌同时灯光变幻颜色,否则就停止音乐,关闭灯光。 设备
准备
程序说明
#define PIXEL_PIN A0 //彩灯
int key_Pin = 2; //按键
int speakerPin = 6; //蜂鸣器
void blink()
{
if (key_get(key_Pin, 0)) //开关按下
{
delay(200); //防抖
play_pause = !play_pause; //状态翻转一次
}
}
add++;
if (add == 5)
add = 1;
if (add == 1)
colorSet(strip.Color(i * 10, 0, 0));
else if (add == 2)
colorSet(strip.Color(0, i * 10, 0));
else if (add == 3)
colorSet(strip.Color(0, 0, i * 10));
else if (add == 4)
colorSet(strip.Color(i * 10, i * 10, 0));
int notes[] = {
NOTE_C4, NOTE_C4, NOTE_D4, NOTE_C4, NOTE_F4, NOTE_E4,
NOTE_C4, NOTE_C4, NOTE_D4, NOTE_C4, NOTE_G4, NOTE_F4,
NOTE_C4, NOTE_C4, NOTE_C5, NOTE_A4, NOTE_F4, NOTE_E4, NOTE_D4,
NOTE_AS4, NOTE_AS4, NOTE_A4, NOTE_F4, NOTE_G4, NOTE_F4
};
搭建硬件
如果模块不能正常工作,请尝试断开并重新连接电源。 结果按下触碰开关,开始播放生日歌并且灯在闪烁变幻,越来越亮。再次按下触碰开关,关闭音乐和灯光。 视频 |