Was du für dieses Projekt brauchst
- Arduino Uno oder kompatibles Board – Auf Amazon ansehen
- Piezo-Buzzer oder kleiner Lautsprecher – Auf Amazon ansehen
- USB-Kabel zur Programmierung – Auf Amazon ansehen
- Optional: Breadboard und Jumperkabel – Auf Amazon ansehen
Was sind Arduino Arrays? Die Grundlagen
Ein Arduino Array ist eine Liste von Werten, die du unter einem gemeinsamen Namen speicherst. Statt für jeden Ton eine eigene Variable anzulegen, fasst du alle Frequenzen in einer Liste zusammen.
Array mit fester Größe deklarieren
Wenn du weißt, wie viele Elemente du brauchst, kannst du die Größe vorab festlegen:
int zahlen[6];

Damit hast du Platz für 6 Integer-Werte reserviert. Die Werte selbst sind noch leer.
Array direkt mit Werten füllen
Eleganter ist es, das Array gleich mit Werten zu füllen. Die Größe wird dann automatisch berechnet:
int zahlen[] = {10, 78, 45, 67, 38, 14};

Auf Array-Elemente zugreifen
Wichtig: Die Zählung beginnt immer bei 0! Das erste Element hat den Index [0], das zweite [1], usw.
Wert in ein Array schreiben:
zahlen[3] = 50;

Damit ersetzt du den vierten Wert (Index 3) durch 50.
Wert aus einem Array auslesen:
a = zahlen[3];

Die Variable a erhält jetzt den Wert, der an Position 3 gespeichert ist.
Arrays für Melodien nutzen
Für eine Melodie benötigst du zwei Arrays und eine Zählvariable:
- frequenzen[] – Enthält die Tonhöhen in Hertz (z.B. 262 Hz für den Ton C)
- tonDauer[] – Enthält die Spieldauer jedes Tons in Millisekunden
- tonAnzahl – Gibt an, wie viele Töne deine Melodie hat
Mit einer for-Schleife spielst du dann alle Töne nacheinander ab. Das ist viel eleganter, als jeden Ton einzeln zu programmieren!
Die Verkabelung: So schließt du den Buzzer an
Der Aufbau ist denkbar einfach:
- Piezo-Buzzer Plus (+) an Pin 9 des Arduino
- Piezo-Buzzer Minus (-) an GND (Ground)

Tipp: Ein Piezo-Buzzer hat normalerweise keine feste Polarität. Falls er nicht funktioniert, drehe einfach die Anschlüsse um.
Der Code: Deine erste Arduino Array Melodie
Einstieg mit 6 Tönen
Beginne mit diesem übersichtlichen Beispiel, um das Prinzip zu verstehen:
int frequenzen[] = {262, 294, 330, 349, 392, 392};
int tonDauer[]= {200, 200, 200, 200, 400, 400};
int tonAnzahl = 6;
void setup() {
}
void loop() {
for (int ton=0; ton<tonAnzahl; ton=ton+1){
tone(9, frequenzen[ton]);
delay(tonDauer[ton]);
noTone(9);
delay(tonDauer[ton]);
}
}
So funktioniert der Code:
- Die for-Schleife läuft von 0 bis 5 (weil
tonAnzahl = 6) - Bei jedem Durchlauf liest sie
frequenzen[ton]undtonDauer[ton]aus tone(9, frequenzen[ton])spielt den Ton auf Pin 9delay(tonDauer[ton])wartet die angegebene DauernoTone(9)stoppt den Ton- Eine kurze Pause (
delay) sorgt für saubere Trennung zwischen den Tönen
Lade den Code hoch und höre dir deine erste Array-basierte Melodie an!
Die vollständige Melodie mit 27 Tönen
Jetzt wird’s musikalischer! Hier ist eine komplette Melodie:
int frequenzen[] = {262, 294, 330, 349, 392, 392, 440, 440, 440, 440, 392, 440, 440, 440, 440, 392, 349, 349, 349, 349, 330, 330, 392, 392, 392, 392, 262};
int tonDauer[]= {200, 200, 200, 200, 400, 400, 200, 200, 200, 200, 800, 200, 200, 200, 200, 800, 200, 200, 200, 200, 400, 400, 200, 200, 200, 200, 800};
int tonAnzahl = 27;
void setup() {
}
void loop() {
for (int ton=0; ton<tonAnzahl; ton=ton+1){
tone(9, frequenzen[ton]);
delay(tonDauer[ton]);
noTone(9);
delay(tonDauer[ton]);
}
}
Ideen zum Experimentieren:
- Ändere einzelne Frequenzen und erstelle deine eigene Melodie
- Füge eine Pause zwischen Wiederholungen ein:
delay(2000);nach der for-Schleife - Experimentiere mit verschiedenen Tondauern – mache manche Töne kürzer oder länger
- Ergänze weitere Töne, indem du einfach mehr Werte in die Arrays einfügst
Was du jetzt über Arduino Arrays weißt
Du hast heute gelernt:
- Wie du Arrays deklarierst und mit Werten füllst
- Wie du über den Index auf einzelne Array-Elemente zugreifst (denk an die 0!)
- Wie du Arrays mit for-Schleifen durchläufst
- Wie du Arrays praktisch einsetzt: für Melodien mit der
tone()-Funktion
Die Vorteile von Arrays:
- Übersichtlich: Statt 27 einzelner Variablen hast du zwei kompakte Listen
- Flexibel: Mit Schleifen verarbeitest du beliebig viele Werte
- Erweiterbar: Füge einfach weitere Werte hinzu, ohne den restlichen Code zu ändern
Arrays gehören zu den wichtigsten Werkzeugen in der Arduino-Programmierung. Du wirst sie immer wieder verwenden – für Sensor-Messreihen, LED-Muster, Bewegungsabläufe und vieles mehr. Mit diesem Wissen kannst du jetzt komplexere Projekte angehen, bei denen du viele zusammengehörige Daten verwalten musst.
Viel Spaß beim Programmieren deiner eigenen Melodien!
danke, NWT hätte mich sonst gekocht<3
zum glück bin ich eigentlich mit dem Thema hier schon durch an sich aber ne schön gemachtes tut…
besonders das auch auf die Nutzung von arrays in Verbindung mit for schleifen eingegangen wird fand ich gut.
aber mal zur Qualitätskontrolle ;P beim vorletzten Containerschiff bild „Zuseisen“? scheint mir eigentlich Zuweisen zu heißen :) text in Bildern vielleicht besser kontrollieren ärgerlich da typos zu haben :/ und ka wieso aber der „Für die Lösung hier klicken!“ button verschiebt bei mir nur die Namen eine Zeile runter Lösung wird allerdings auch schon angezeigt weis aber nicht ob das nur bei mir so ist…
MfG
Raze
Hallo Raze VorteX, vielen Dank für Deine Kommentare! Das hilft mir wirklich weiter. Die Navigation ist eine Baustelle und dann hat die Seite bewegte Zeiten hinter sich. Ich habe zwei Seiten zusammengeführt und werde sicherlich noch eine ganze Weile an den Nahtstellen arbeiten. Die Idee mit dem Forum finde ich aber spannend. Das hatte ich vor langer Zeit schon mal, musste es aber wegen zu viel Spam wieder deaktivieren. Ich werde aber mal gucken, ob die Technik da weiter ist. Also nochmal vielen Dank für die Hinweise und Vorschläge! Liebe Grüße Stefan
freut mich. spam sollte kein proplem sein gängig wäre da wohl ein reputation system das neuen/unbekannten usern ein limit an nachrichten pro zeit setzt etwa 1 alle 5 min… report systeme und gegebenenfalls mods je nach grösse und bedarf also vom technischem aspekt dürften trolle keine chance bei einer aktiv geführten seite haben. viel erfolg.
mfg
RazeVorteX
cooler kommentar jedoch würde cih mir nochmal die rs im text anschauen :/
MFG
momslayer3000
Sehr gutes Programm!
geiler name
Viele der Klammern bei den Arrays sind falsch
Oftmals geht der int mit { auf und mit ) zu
Hat mich im ersten moment verwirrt^^
Oh, danke für den Hinweis. Ist behoben :-)
Sehr gut )
;-]
Danke wegen euch bin ich nicht beim Test durchgefallen