Arduino專案:使用被動式蜂鳴器

在這個專案中,我們將使用Arduino來通過被動式蜂鳴器產生聲音。 像我們在主動式蜂鳴器的例子中所做的那樣,將蜂鳴器連接到線路,然後連接到Arduino。 蜂鳴器有一個“+”極,我使用紅色線連接(這是一個好習慣)。 然後將“-”線接地到Arduino上,將“+”線接到數字輸出引腳上,在這個例子中我選了8號引腳: 現在我們切換到Arduino程式。 你可以像之前使用被動式蜂鳴器時一樣,使用digitalWrite()來生成聲音,它也能正常工作。 但是Arduino語言還提供了另一個非常適合與被動式蜂鳴器一起工作的函數:tone()。 使用tone()我們可以在蜂鳴器引腳上播放一個指定頻率的聲音,並指定持續時間。 範例: int duration = 500; void setup() { } void loop() { tone(8, 1400, duration); delay(200); tone(8, 800, duration); delay(200); tone(8, 1800, duration); delay(200); tone(8, 600, duration); delay(200); } 你可以使用tone()來進行很多花式的操作,比如播放實際的歌曲。 這個程式碼是Arduino例程的一部分,播放了一首小曲,聽起來比我上面亂弄的聲音好得多: /* Melody Plays a melody circuit: - 8 ohm speaker on digital pin 8 created 21 Jan 2010 modified 30 Aug 2011 by Tom Igoe This example code is in the public domain....

Arduino項目:使用主動蜂鳴器

在這個項目中,我們將使用Arduino來發出聲音,並使用一個主動蜂鳴器。 首先將蜂鳴器連接到一根電線上: 蜂鳴器有一個“+”極,我使用紅色電線連接該極(這是一個好的習慣)。 然後將“-”電線連接到Arduino的GND引腳,將“+”電線連接到數字輸出引腳,這裡我選擇了引腳#9: 現在切換到Arduino程序。為了發出聲音,我們需要向蜂鳴器的“+”引腳寫入HIGH值,延遲一小段時間,例如一毫秒,然後在同一引腳上寫入LOW值: int delay_ms = 5; int buzzer_pin = 9; void setup() { pinMode(buzzer_pin, OUTPUT); } void loop() { digitalWrite(buzzer_pin, HIGH); delay(delay_ms); digitalWrite(buzzer_pin, LOW); delay(delay_ms); } 將程序加載到Arduino上,蜂鳴器將發出低音。 嘗試更改delay_ms變量的值以改變聲音。 然後,您可以通過像這樣的程序使其播放不同的聲音: int buzzer_pin = 9; void setup() { pinMode(buzzer_pin, OUTPUT); } void play(int ms, int delay1, int delay2) { for (int i = 1; i <= ms; i++) { digitalWrite(buzzer_pin, HIGH); delay(delay1); digitalWrite(buzzer_pin, LOW); delay(delay2); } } void loop() { play(100, 1, 1); play(100, 2, 2); play(100, 1, 1); play(100, 2, 2); play(100, 1, 1); play(50, 2, 1); play(100, 3, 2); play(100, 4, 4); }