About虛擬&實際

@分享虛擬與實際的世界中所遊玩的心得紀錄,從物理化學到生命科學、從人文藝術到現代科技、從虛擬介面到實際生命體。享受的只是一種學習與體驗。若文章內容有誤,歡迎提出以供修改,對文章的回饋,歡迎寄信給我!一起分享,互相學習成長的環境。
@個人簡介在『關於韃靼』
@我是韃靼~我的信箱:chenyuquan at gmail dot com

2013年1月24日 星期四

Arduino_Project07_Keyboard Instrument

前言:
經過了上一次的project學到了如何使用光敏電阻與piezo搭配成Theremin,這次緊接著又學到使用”Resistor Ladder“的方式來模擬鍵盤樂器(Keyboard Instrument)。利用resistor ladder可以在類比輸入端模擬出數位輸入的效果。

硬體:
電阻:220, 10K, 1M ohm.
按鈕, Piezo, 還可以自己製作鋼琴鍵盤般的紙板。

程式:
利用resistor ladder的設計,當按下不同位置的按鈕時,通過的電壓也不同。藉由程式設定不同讀取電壓分類來傳出不同的頻率(數位輸出)。這個project模擬了middle C, D, E 以及F(262, 294, 330 and 349 Hz.),也利用了新的指令來宣告一串數列,不需要在每個都設定增加編寫程式的麻煩。

Command:
    name[] = {1, 2, 3, 4..., n}_ 定義數列的內容
    if()...else==if...else if..else if..else if...else_ 在if...else之間可以插入許多個else if以增加判斷邏輯的數量,可以設定許多種條件。
    noTone_ 根據文中的建議是因為一直進行判斷,所以當所有邏輯都不成立的時候,需要將tone()的功能關閉。

圖片&影片:
若有足夠的按鈕以及計算好的電阻,可以排出更多階層的電子樂器按鍵喲

    
結論:
利用參考資料實際算了一下resistor ladder的電壓分流(因為Uno只有1023的input),若增加恰當與足夠的電阻是可以排出更有豐富的聲音階層。另外tone的功能則可以送出不同頻率來搭配輸入,當然也可以類似project06的模式,改用其他更多不同的感測器(類比輸入,例如搭配超音波_倒車雷達的聲響!)來”玩“聲音。不過這有提到一點就是當使用tone功能時,analogWrite()在pin 3 &11會有被干擾的現象。應該是硬體設計上的問題吧!?再找資料來瞭解瞭解。^^期待下一個project可以學到的東西了。

Arduino Project Books

沒有留言:

張貼留言