04誰是大聲公

小朋友,這已經是第四課了,是不是對於「利用Arduino Uno控制板+S4A Sensor Board 搭配Scratch 2.0 + Transformer程式」已經越來越得心應手了呢?!這節課我們要透過「麥克風」(A2)的功能來製作「大聲公」,下次學校辦理大聲公比賽時,就可以派上用場!小朋友,來看看你的音量有多大?!

題目一:誰是大聲公

  1. 利用USB線將Arduino Uno板與電腦連接, 並且Arduino板先與S4A Sensor Board結合在一起
  2. 啟動Transfor­mer程式 (請參閱前面說明
  3. 進入Scratch2.0程式(離線版),並且發現s2a_fm出現「綠燈」,連線成功!
  4. 硬體圖如下

5.Scratch2.0的程式

說明:是不是很簡單就可以顯示出A2的值來!

  • 顯示最大音量

說明:

  1. 這作品中,我們使用到A2(麥克風)及D2(按鍵開關)兩個硬體設備
  2. 剛開始,先做使用說明:「請按下「按鍵開關」開始講話,鬆開按鍵後,會出現你講話聲音的最大值!!」,所以要按下「按鍵開關」才會記錄音量(D2=1,就是按下「按鍵開關」)
  3. 建立一個「音量」清單來儲存到音量值(A2值)
  4. 當D2=0(放開按鍵開關後),而且「清單裡面有儲存音量值時」,就利用「比較法」找出清單中的音量「最大值」!(建立一個「最大值」的變數去和清單中的每一個數值做比較,如果清單中的數值大於最大值,就把清單的那一個值存成「最大值」,如果清單的值比較小,就不予理會)
  5. 找出「最大值」後,要把清單的內容刪除,不然就沒完沒了了~~~

題目二:另類開關(如:「聲控」開關燈)

  • 透過「麥克風」(A2)的功能除了可製作「大聲公」外,也可以製作成「另類開關」,如這邊要介紹的「拍掌」開關燈(「聲控」開關燈),當燈滅的時侯,拍掌則燈亮;當燈亮的時侯,拍掌則燈滅!!
  • 由於這部分很簡單,小朋友也可以自己嘗試做看看!!或參考以下作法~~
  • 原本我的作法如下,但最後好像出問題了~~
  • 為修改上面程式(或下圖右方程式)的問題:
  • 增加了一個變數「控制器」來儲存燈亮的情形(控制器=0表示D10燈滅;控制器=1表示D10燈亮)
    • 成功了~~

結論:

小朋友利用Arduino Uno控制板+S4A Sensor Board 搭配Scratch 2.0 + Transformer程式來做第四課的「誰是大聲公」,是這幾課來內容最短的一課,但程式設計上有一點點的難,因為我們使用「清單」來儲存音量的值,因為我們不知道音量的值有多少個,所以就利用「清單」來儲存最方便!其實這課最主要是介紹「麥克風」的使用,我們將它運用到「大聲公」的使用,但實際上使用起來分辨度並不是很高,也就是不管聲音多大,A2到某一個值後變化不大,因此還是不適用於大聲公的比賽!!那小朋友,你還有想到可以用「麥克風」來做什麼事呢?