用Robot:bit做電子生日蠟燭

2017-12-31 19:55

[Robot:bit] 用Robot:bit做電子生日蠟燭

sharpcat 發表於 昨天 18:33 | 只看該作者 [複製連結] 打印  

267

 

 

奶爸的愛好就是逗娃,今天帶來一個有趣的小玩意,電子生日蠟燭。

電子生日蠟燭,第一個要會唱歌,第二要有彩燈,第三還能吹滅,WTF?能吹滅?樓主可不是在開玩笑!

上今日道具:Robot:bit一台,燈環一個,Micro:bit一塊,杜邦線若干條,另外,最重要的是秘密道具:聲音感測器,俗稱咪頭。



樓主沒有小喵家的燈環,隨便找了個支援數字輸入的燈串,咪頭也是兒子玩具上拆下來的。除了咪頭,其他道具都可以在小喵家找到哦!

其實Robot:bit上也有4個LED燈,結構和原理跟我的燈環是一樣的,主要的原因是4個LED實在不夠霸氣,另外,今天還會講到怎麼使用Make Code的Neopixel庫的使用,不選個有難度的體現不了樓主的專業水準

其實原理說白了很簡單,就是讓咪頭探測周圍聲音的高低,當你吹蠟燭的時候,氣流摩擦口腔和牙齒,一定會有“呼”的聲音,咪頭探測到聲音變化後輸出類比電壓告知Micro:bit做進一步處理。

首先我們來看下吹氣和不吹氣聲音有什麼樣的改變。由於Micro:bit不能線上調試,LED顯示數位又太慢,我這裡用小喵家基於Arduino的Rosbot板子
來做個測試。淘寶傳送門:https://item.taobao.com/item.htm ... J0E&id=551011963085

將咪頭的VCC,GND和Signal分別接到Rosbot的5V,GND和A0。打開Kittenbot,按照下面搭好積木,點綠旗運行,我們就可以看到測試到的值了:

這個是不吹氣的值,150左右。



這個是吹氣時候的值,500多。



這樣我們心裡就有數了,按照每個人的個體差異,選個500~700的閾值就可以了。

這裡要說下數位燈環的原理,數位燈環跟類比RGB的區別是,每顆LED都經過一個信號處理的晶片連接起來,排成一串,RGB的值按照一串LED的個數打成一個包裹,燈環第一個LED拿到自己的RGB命令快遞後把剩下的包裹送給第二個LED,接著第二個LED取出自己的快遞再送給第三個,以此類推,直到快遞送達每個LED手上。上張有魔性的圖



我們把燈環的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自帶的生日快樂歌哈!



接下來是炫技時刻了,重點請看下圖標注!



最後記得把咪頭藏起來,別讓小屁孩找到哈,我是把咪頭塞在小車底下。

慣例,上視屏:

樓主的相關閱讀

經Kittenbot 授權 轉貼這篇文章

—————

返回