簡介
我們已經看到一些使用Arduino的面向應用的項目,如心率監測,機械臂,家庭自動化等有時候,我們只為了8x8x8 LED Cube,計算機手勢控制等項目而開展項目。
基于Arduino的鋼琴項目屬于有趣的項目類別,你知道,這個項目沒有任何真實世界的應用程序(至少不是直接的),但可以用來理解Arduino的某些功能(就像它使用音調的聲音產生能力) ()功能)。
盡管如此,聲音和音調可以提供很好的音頻我們的項目中有反饋意見。
如何制作基于Arduino的鋼琴?
而不是詢問如何制作基于Arduino的鋼琴,正確的問題應該是如何使用Arduino生成不同的音調。我們知道Arduino能夠產生PWM信號。
我將使用Arduino的這個功能來產生音調。使用Arduino生成音調的另一種方法是使用函數tone()函數。
使用tone()函數,您可以生成不同頻率但具有固定值的方波周期(50%)。在內部,tone()函數依賴于Arduino的定時器(或更準確的ATmega328P微控制器)。
電路圖
下圖顯示了使用Arduino進行鋼琴應用的電路圖。從電路圖中可以看出,它是一個相當簡單的電路。
所需組件
Arduino UNO
按鈕X 8
小壓電蜂鳴器(或小型揚聲器)
連接電線
面包板
Arduino Piano電路的設計非常簡單。首先,將5V壓電蜂鳴器(即其正極端子)連接到Arduino的引腳10。您必須將Piezo蜂鳴器連接到Arduino的一個PWM引腳。 Piezo蜂鳴器的另一端連接到GND。
現在,將7個按鈕連接到Arduino的數字I/O引腳3到9。這些引腳用作音調輸入引腳。我使用了Arduino的INTERNAL PULL UP功能,因此我沒有將任何外部上拉電阻連接到這些引腳。
這些按鈕的所有其他端子都是連接到GND。最后,另一個按鈕連接到Arduino的引腳2,作為中斷引腳。此按鈕的另一端也連接到GND。
我使用了板載LED(連接到引腳13的LED)來指示常規音調播放和錄制的音調之間播放。
代碼
項目代碼如何制作基于Arduino的鋼琴如下所示。
工作
按照電路圖進行連接,并將代碼上傳到Arduino。一旦打開電路電源,Arduino就可以接受來自按鈕的輸入。
每個按鈕都與代碼中的PWM信號相關聯。按下按鈕時,通過壓電式蜂鳴器產生特定的PWM信號。
現在,對于錄制和重復模式,使用不同的按鈕播放幾個音調。按下每個按鈕,Arduino開始錄制,即記下按鈕的順序,開啟時間和關閉時間。
完成音調后,您可以按下中斷按鈕。一旦Arduino進入中斷模式,所有先前按下的音調將通過壓電蜂鳴器播放。
在正常音調播放期間,即按下按鈕時,LED在引腳13上保持ON。在重復模式期間,它保持關閉狀態。
這里要理解的重點是我沒有使用Arduino的tone()函數。您可以嘗試使用該功能生成不同頻率的聲音。
結論
A有趣的DIY項目名為Arduino的鋼琴在這里實施。這個項目有助于理解Arduino的聲音功能。雖然我沒有使用tone()函數,但您可以使用該函數實現相同的結果。
-
Arduino
+關注
關注
188文章
6490瀏覽量
190072
發布評論請先 登錄
免費分享Arduino入門+進階(全套例程+書籍)

評論