Arduino – Luidspreker
Er zijn verschillende manieren om een luidspreker aan te sturen via een Arduino. De arduino kan een signaal in Hz genereren, sluit het volgende aan via onderstaand schema:
– Speaker GND naar Arduino GND
– Speaker + naar Arduino Pin 9 (eventueel met weerstand ertussen)
Gebruik van TONE:
De arduino heeft standaard een functie: tone()
Het gebruik is als volgt: tone( [PIN], [FREQUENTIE], [TIJD IN MS]
De code voor een 1200 MHz piep voor 1/2 seconde:
1 2 3 4 5 6 7 |
void setup() { } void loop() { tone(9, 1200, 500); // geeft een 1200 Hz toon op Pin 9 voor 500 ms delay(1000); //wacht een seconde } |
Gebruik van PWM:
Een andere variant is via de PWM een toon te genereren met analogWrite:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#define SPKR 9 // defineer de speaker pin. void setup() { pinMode(SPKR, OUTPUT); //zet de speaker pin als uitgang. } void loop() { // genereer een 1KHz toon voor 1/2 seconde. analogWrite(SPKR, 128); delay(500); analogWrite(SPKR, 0); delay(500); } |
Voorbeeld code voor een sirene:
1 2 3 4 5 6 7 8 9 10 11 12 |
#define SPKR 9 // defineer de speaker pin. void setup() { pinMode(SPKR, OUTPUT); //zet de speaker pin als uitgang. } void loop() { // genereer een toon van 40 t/m 2500 Hz for (int i=40; i<2500; i++) { tone(SPKR, i); } } |