剛剛在試作讓Webduino蜂鳴器可以重覆播放的實驗,發現光是加個迴圈的積木並不能讓蜂鳴器重覆播放,會在播放完一次之後就停住。

  後來加入等待3秒才發現原因,原因是蜂鳴是需要時間休息的,它無法一直吱吱渣渣地叫,所以在它唱完歌的時候要給它足夠的時間休息,它才不會不爽而罷工,至於該讓它休息多久呢?一秒夠嗎?

  答案是一秒鐘不夠,我想原因是因為它播放每一次都有一次的時間,所以一定要設定一個時間是可以讓它唱完歌的,比方說它播放七個音符需要2秒鐘,那你等待時間最好就給它至少3秒,至於為何是如此?我想是因為音樂在播放的同時,後面的等待指令就開始計數了,所以等待時間太短,蜂鳴器就沒辦法播放完所有音符。

  為了證明我的理論正確,我刻意在七個音符播完之後加播一段超級馬莉的音樂,果不其然,如果我只等待三秒就進入下一次迴圈,蜂鳴器就只唱七個音符然後就跳過超級馬莉跑到下一個迴圈去了,只有在最後一次迴圈才會播放超級馬莉。

  因此我把等待時間調成30秒,確定超級馬莉會被播完,這下就很成功連續播放七音符加超級馬莉音樂了。 這真是要做實驗才知道呀,不然萬一給人上課時被問到這問題就真冏了。

  此次實驗採用 Smart 板 + 蜂鳴器 一顆, 藉由把蜂鳴器正腳位接到Smart板的pin 5 接腳,負端接SmartGND,然後拉拉積木就可以做實驗了!

2018105日星期五

arrow
arrow

    jackterrylau 發表在 痞客邦 留言(0) 人氣()