將 mBot 的超音波感應器當作開關,是很基本的用法,我們可以利用 mBlock 的 『控制』-->『如果< >就...否則...』指令完成簡單的動作。如下圖:
新增一個積木指令Dodo,定義為一連串的播放音調指令,可以唱出一條歌曲。
原本只要將手放在mBot 的眼睛(超音波感應器)前面,就能唱出優美的歌曲。同時希望如果手離開超音波感應器前方,音樂應該停止播放。
但是歌曲就是一連串的『播放音調』指令,在『如果< >就....』指令裡面執行多個播放音調指令,程式需要等到音樂通通播放完畢,才會繼續檢查超音波的狀態,如下面的流程圖。
這樣一來,在播放音樂的過程中,mBot機器人是不會立即反應超音波的狀態。
那麼在mBlock應該如何解決這個問題呢?
我的想法是每次播放一個音調之後,就需要檢查超音波的數值。
運用大量的『如果 < >就...』,快速播放一個音調。
下圖是我的解答,
增加一個變數Music,作為播放音調的指引。
跟隨Music變數的改變,決定播放樂曲中的特定音調。
請看示範影片:
大家一起用mBot做一個『 揮手門鈴 』,播放好聽的音樂!
延伸閱讀:
沒有留言:
張貼留言
探奇歡迎大家留言討論!謝謝分享你的意見。