查看: 1279|回复: 0

[教程] 【转】用Robot:bit做电子生日蜡烛

[复制链接]

主题

好友

322

积分

秀才

该用户从未签到

发表于 2018-1-9 17:36:29 |显示全部楼层
本帖最后由 lili821 于 2018-1-9 17:38 编辑

奶爸的爱好就是逗娃,今天带来一个有趣的小玩意,电子生日蜡烛。

电子生日蜡烛,第一个要会唱歌,第二要有彩灯,第三还能吹灭,WTF?能吹灭?楼主可不是在开玩笑!

上今日道具:Robot:bit一台,灯环一个,Micro:bit一块,杜邦线若干条,另外,最重要的是秘密道具:声音传感器,俗称咪头。
224542dkzkkli5gz1l1kct.jpg


楼主没有小喵家的灯环,随便找了个支持数字输入的灯串,咪头也是儿子玩具上拆下来的。除了咪头,其他道具都可以在小喵家找到哦!

其实Robot:bit上也有4个LED灯,结构和原理跟我的灯环是一样的,主要的原因是4个LED实在不够霸气,另外,今天还会讲到怎么使用Make Code的Neopixel库的使用,不选个有难度的体现不了楼主的专业水平

其实原理说白了很简单,就是让咪头探测周围声音的高低,当你吹蜡烛的时候,气流摩擦口腔和牙齿,一定会有“呼”的声音,咪头探测到声音变化后输出模拟电压告知Micro:bit做进一步处理。

首先我们来看下吹气和不吹气声音有什么样的改变。由于Micro:bit不能在线调试,LED显示数字又太慢,我这里用小喵家基于Arduino的Rosbot板子

将咪头的VCC,GND和Signal分别接到Rosbot的5V,GND和A0。打开Kittenbot,按照下面搭好积木,点绿旗运行,我们就可以看到测试到的值了:

这个是不吹气的值,150左右。
224236f6yove4g8s11lgzs.png


这个是吹气时候的值,500多。
224236i3j80dbtq75ma56m.png


这样我们心里就有数了,按照每个人的个体差异,选个500~700的阈值就可以了。

这里要说下数字灯环的原理,数字灯环跟模拟RGB的区别是,每颗LED都经过一个信号处理的芯片连接起来,排成一串,RGB的值按照一串LED的个数打成一个包裹,灯环第一个LED拿到自己的RGB命令快递后把剩下的包裹送给第二个LED,接着第二个LED取出自己的快递再送给第三个,以此类推,直到快递送达每个LED手上。上张有魔性的图

231208yqmx5qym5h5qjqqj.png


我们把灯环的VCC,GND和Signal分别接到Robot:bit的3V,GND和A1;咪头的VCC,GND和Signal接到Robit:bit的5V,GND和A2上,注意咪头只能工作在5V下,插到3V不能工作,5V在Robot:bit开关边上。

打开Make Code,开始编程,记得先添加库,搜索Neopixel,然后加载。

首先初始化,定义变量Pixel为接到P1(A1)数量为12的灯环,你有几个就填几个。设置灯环的亮度为50,这个值可以是0~255,0最暗,255最亮,一般超过100眼睛就受不了。。。第三条积木show rainbow最酷,能让你的灯环呈现彩虹的效果。另外,Robot:bit还有板载蜂鸣器,放一首Make Code自带的生日快乐歌哈!
231429evgsi6rqcis6sssg.png


接下来是炫技时刻了,重点请看下图标注!
232740kknnsnnar356ww1n.png



最后记得把咪头藏起来,别让小屁孩找到哈,我是把咪头塞在小车底下。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

关闭

站长推荐上一条 /4 下一条

手机版|爱板网

GMT+8, 2018-10-21 08:12 , Processed in 0.192326 second(s), 17 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-5   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001056号

Powered by Discuz!

返回顶部