查看“生日灯”的源代码
←
生日灯
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{Language| 生日灯}} {| style="width: 800px;" |- | ==概述== 按下开关,蜂鸣器会播放预设的生日歌,同时灯光会闪烁,再次按下开关就会停止。 [[File:birthday-light.jpg|600px|center]] ==原理== 系统实时检测碰撞开关是否发生碰撞,当发生碰撞时,碰撞真假状态改变一次。当为真时,开始播放生日歌同时灯光变幻颜色,否则就停止音乐,关闭灯光。 [[File:birthday-light-sch.jpg|600px|center]] ==设备== {|class="wikitable" |- |模块||数量||功能 |- |[[Microduino-CoreUSB/zh]]||1||核心板 |- |[[Microduino-Sensorhub/zh]]||1||传感器转接板 |- |[[Microduino-BM/zh]]||1||电池 |- |[[Microduino-BUZZER/zh]]||1|| 蜂鸣器 |- | [[Microduino-Color led/zh]]||1||彩灯 |} [[File:music_birth.jpg|600px|center]] ==准备== *Setup 1:用USB线将CoreUSB模块与PC/Mac相连,并打开Arduino IDE。 [[File:CoreUSB_Ble_pc.jpg|600px|center]] *Setup 2:点击Files > Examples > mCookie > _101_BirthdayLight, 加载程序。或者下载: [[File: _101_BirthdayLight.jpg|600px|center]] ==程序说明== *函数 **“playNote()”控制播放声音 **“colorSet()”控制彩灯颜色 **“blink()”判断按键是否被按下。 *引脚定义 <source lang="cpp"> #define PIXEL_PIN A0 //彩灯 int key_Pin = 2; //按键 int speakerPin = 6; //蜂鸣器 </source> *需要对开关进行检测,判断是否按下,从而控制音乐和灯的开启与关闭。 **调用了key.h文件,“key_get(key_Pin, 0)”检测按键是否按下,“key_Pin”是按键接到核心板的引脚,用户可自定义更改,“0”表示刚按下就触发,可以换成“1”,则表示按下松开后才触发。 **每检测到开关按下一次,” play_pause “真假值翻转一次,这样就可以根据play_pause的值来控制控制音乐和灯。 <source lang="cpp"> void blink() { if (key_get(key_Pin, 0)) //开关按下 { delay(200); //防抖 play_pause = !play_pause; //状态翻转一次 } } </source> *灯光变化(红、绿、蓝、黄渐变) **“colorSet(strip.Color(R, G,B));”,R,G,B是三基色,用户可以更改自己喜欢的颜色及方式。 <source lang="cpp"> 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)); </source> *播放音乐 **存放指定音符,可以从程序定义中更改音调 <source lang="cpp"> 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 }; </source> ==搭建硬件== *Setup 1:将BUZZER蜂鸣器接到Sensorhub的D6引脚上,将Colorled led彩灯接到A0,将触碰开关接到D4引脚。 [[File:CoreUSB_Sensorhub_BirthdayLight.jpg|600px|center|thumb]] *Setup 2:将激活后的电池盒与BM模块相连. [[File:CoreUSB_Ble_steup2.jpg|600px|center]] *Setup 3:将所有模块堆叠在一起,顺序随意,电路部分搭建完成。 [[File: music_birth_all.jpg|600px|center|thumb]] * Setup 4:制作你的乐高生日灯 [[File: music_birth_over.jpg|600px|center|thumb]] 如果模块不能正常工作,请尝试断开并重新连接电源。 [[File: music_birth_over1.jpg|600px|center|thumb]] ==结果== 按下触碰开关,开始播放生日歌并且灯在闪烁变幻,越来越亮。再次按下触碰开关,关闭音乐和灯光。 ==视频== |}
该页面使用的模板:
模板:Language
(
查看源代码
)
模板:Nmbox
(
查看源代码
)
返回至
生日灯
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
Welcome
首页
创客大赛
大赛详情
3D打印
安装月球车
图形化编程
操控月球车
升级月球车
编程工具下载
软件下载
Arduino
Processing
Mixly
Scratch
模块套件
Microduino 102
mCookie 102
mCookie 202
mCookie 302
IBC
其他
应用套件
四轴飞行器
平衡车
小车CUBE
音乐播放器
刷卡音乐播放器
wifi气象站
彩虹音乐触摸灯
分贝检测仪
迎门汇报
LED点阵时钟
LED点阵屏幕
硬件
mCookie
Sensor
Microduino
MicroWrt
MicroNux
MicroRobot-Core
MicroRobot-CoreESP
ideaBoard
ideaBox
MicroMV
MicroAI
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息