2012-05-22

樂高機器人小遊戲--拍手聲控燈光+假裝的語音控制

樂高機器人零售玩具版8527及樂高機器人教育版9797才有聲音感應器(Sound Sensor),

(NXT 2.0 樂高機器人8547已經沒有聲音感應器)

雖然聲音感應器很容易受到其他聲音的干擾,不是太過靈敏就是不靈敏,

但是『聲控』對許多人還是很有吸引力,也是機器人非常直接有趣的互動方式。

樂高的聲音感應器只能感應聲音的音量大小(響度),不能辨識語音。

所以探奇藉由變數與數學計算,簡單地寫出一個感應拍手次數的程式,

讓樂高機器人能夠分辨固定時間內的拍手次數,根據拍手次數控制光感的燈光亮滅。


程式如下:(大圖請參考我的Google+相簿



1. 變數歸零
2. 顯示笑臉圖形
3. 進入1.2秒的迴圈
4. Sound Sensor Switch,聲音大於80% ,變數加一,顯示在NXT螢幕,等待聲音小於60%
5. 重置螢幕
6. 根據變數數目決定:亮燈,熄燈。
7. 發出0.01秒的聲音

拍攝示範影片如下:

這個程式也可以展現『語音控制』的效果喔!(讀友可以想想如何完成假的語音控制)

因為燈光亮滅只有兩種狀況,請不要誤會這個程式只會讓燈光輪流亮滅,

影片中邱老師雖然發出聲音指令,但是也出現無法正確控制的情形,證明燈光不是輪流亮滅喔!








4 則留言:

  1. 這個聲控很有趣喔~~我在猜是不是“開”和“關”字音的強弱原因,所以程序才能通用?
    [版主回覆05/24/2012 11:02:34]謝謝回覆!

    本來也有想過這種輕音及重音的差別,但是聲音感應器實在不容易調整,再加上發音需要很多練習,實在太難了。

    我利用的是『時間差異』,在1.2秒間,發出兩個聲音,相當於拍手兩次。

    如果在第0.7秒發聲,那麼第二個字就不會接收,相當於只有一個聲音,拍手一次。

    同理,不論什麼語音指令都OK喔!例如:『打開』『關上』,『請開』『要關』....

    這樣一來,就更神奇了!

    回覆刪除
  2. 喔呵呵呵呵!!好高明的技巧啊!!!



    剛才又看了一遍程序和視頻終於明白原理了~~ :-)

    回覆刪除
  3. 您好,我是NXT新手,我想要這個程式來學習一下,您可以將這個程 email 給我嗎?

    我的 email 是 chihangkong@ymail.com

    [版主回覆12/22/2012 09:19:04]你好:

    我已經將 clap.rbt 檔案寄給你,

    歡迎討論!

    回覆刪除
  4. 您好,您可以將這個程 email 給我嗎?

    我的 email 是a891021960035@yahoo.com.tw
    [版主回覆06/29/2013 22:00:19]

    你好:
    程式已經寄出,歡迎介紹你自己,彼此互相認識,謝謝!
     

    回覆刪除

探奇歡迎大家留言討論!謝謝分享你的意見。