Du bist hier:
Arduino Piezo Element
1. Vorbereiten
Das Piezzo Element kann als Sensor oder Aktor an dein Arduino angeschlossen werden. Du kannst damit einfache Sounds kreieren oder Vibrationen messen.
- Google Keyword Arduino piezo music ↗
- Google Keyword Arduino piezo sensor ↗
- Google Keyword Piezoelektrizität ↗
Um das Piezzo Element als Buzzer zu verwenden, musst du es direkt in einen der vier LED-Ausgänge des PGLU-Mikrocontrollers einschrauben. Polung egal. Klebe das Piezoelement auf einen Resonanzkörper. Im Video wurde ein einfacher Plastikbecher verwendet. Teste, was am besten klingt.
- Hinweis: Piezoelemente können mit den Mikrocontrollern PIXEL, MOTOR oder KOMFORT ↗ angesteuert werden. Es können bis zu 4 Piezoelemente als Buzzer oder Sensoren angeschlossen werden
1.1. Anschlussschema: Piezo Element als Buzzer (oben) oder als Klopfsensor (unten)
2. Programmieren als Buzzer
Die Programmierung ist denkbar einfach. Der LED-Ausgang wird in sehr kurzen Abständen ein- und ausgeschaltet. Dazwischen wird eine sehr kurze Pause von wenigen μs eingesetzt.
- 1 Mikrosekunde = 1/1'000 Millisekunde = 1/1'000'000 Sekunde
2.1. Programmierung einfacher Ton
2.2. Sketch: Sweep Sound
2.3. Sketch: Melodie "Alli mini Äntli"
Für das vollständige Lied "Alli mini Äntli", kopiere diesen XML-Code mit Klick/Berührung und füge ihn in den Editor ein
FrequenzDauer11600400530450470500448550104001000150400100030035040020035040020035040020035040020040010006004504001504504001504504001504504001504701000150470100015053030015053030015053030015053030015060010002000Spiele TonDauerLED2LOWFrequenzLED2HIGHFrequenz
3. Challenge
3.1. R2-D2 mit Zufallsgenerator
Programmiere den originalen "R2-D2" Sound ↗, indem du mit dem Zufallsgenerator experimentierst. Welche Werte klingen am besten? By the way: der Arduino Zufallsgenerator hat so seine Eigenheiten und wird deshalb Pseudo-Zufallsgenerator genannt. Mehr erfährst du hier:
3.2. Präzise Tonhöhen berechnen
Wer bei "Alli mini äntli" genau hinhört, merkt, dass die Intonationen alles andere als rein sind. Dies müsste nicht sein: mit der Definition der Pausenlängen könnte die genaue Tonfrequenz berechnet werden. Im vorliegenden Beispiel wurde das jedoch unterlassen.
Erstelle mit Hilfe des Blocks "Funktion" (Bild 3) eine perfekt gestimmte Tonleiter, um so leichter deine eigenen Melodien komponieren zu können!
Unter dem folgenden Link findest du eine Tabelle mit den genauen Frequenzen der Tonleiter:
Daraus geht hervor, dass z.B. der Ton A (die Tonhöhe einer Stimmgabel) mit 440 Hz schwingt, also 440x pro Sekunde. Um am Ausgang unseres Mikrocontrollers also 440 Elektroimpulse/Sekunde zu haben, muss folgende Rechnung gemacht werden:
- 1'000'000μs / 440 = 2272μs
Das Ergebnis ist die erforderliche Pausenlänge zwischen 2 Stromimpulsen. Da wir zwei Pausen verwenden (eine nach dem Einschalten und ein zweite nach dem Ausschalten, teilen wir die 2272μs auf diese zwei Delays auf. Das gibt dann zwei Pausen à 1136μs... Teste es!
Dieser Sketch zeigt eine mögliche Umsetzung. Kopiere diesen XML-Code mit Klick/Berührung und füge ihn in den Editor ein.
FrequenzxLängeDauerTon AZeitstempelTon ETon GTon FTon CTon DTon HTon C2Frequenzen berechnen gem. workshop.pglu.ch > Aktor > Piezo ElementTon C956Ton D851Ton E758Ton F715Ton G638Ton A568Ton H506Ton C247811Ton C1000Ton D1000Ton E1000Ton F1000Ton G1000Ton A1000Ton H1000Ton C21000Spiele TonZeitstempelGTMINUSZeitstempelDauerLED1LOWFrequenzLED1HIGHFrequenz