Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Licht & Sound zum Geburtstag: DIY Arduino-Projekt

Benötigte Bauteile

Benötigtes Werkzeug

Software

Projektbeschreibung

Dieses Projekt spielt die Melodie „Happy Birthday“ über einen kleinen Lautsprecher, während drei LEDs in zufälligen Farben aufleuchten. Es eignet sich hervorragend als Einsteigerprojekt, um die Grundlagen von tone(), digitalen Ausgängen und Timing mit dem Arduino zu erlernen.

Schritt-für-Schritt-Anleitung

Schritt 1: Material bereitlegen

Sammeln Sie alle Bauteile. Falls der Lautsprecher keine Kabel hat, löten Sie Jumper-Kabel an die Anschlüsse.

Schritt 2: LEDs auf dem Breadboard platzieren

Stecken Sie die drei LEDs nebeneinander in das Breadboard. Achten Sie darauf, Anode (langes Bein) und Kathode (kurzes Bein) unterscheiden zu können.

Schritt 3: Anoden mit Arduino-Pins verbinden

Verbinden Sie die Anoden über Jumper-Kabel mit folgenden digitalen Pins:

Schritt 4: Kathoden über Widerstände auf GND legen

Verbinden Sie jede Kathode mit einem 220 Ω Widerstand. Die andere Seite der Widerstände geht an die Ground-Schiene (–) des Breadboards. Verbinden Sie diese Schiene mit dem GND-Pin des Arduino.

Schritt 5: Lautsprecher anschließen

Code

Das Projekt besteht aus zwei Dateien: dem Hauptsketch und der pitches.h-Bibliothek für Notenfrequenzen.

Hauptsketch: Happy Birthday Lights + Sounds

// Pin-Zuordnung: ROT=9, BLAU=10, WEISS=11, SPEAKER=3
#include "pitches.h"

// Melodie: Happy Birthday
int melody[] = {
  NOTE_C4, NOTE_C4, NOTE_D4, NOTE_C4, NOTE_F4, NOTE_E4,
  NOTE_C4, NOTE_C4, NOTE_D4, NOTE_C4, NOTE_G4, NOTE_F4,
  NOTE_C4, NOTE_C4, NOTE_C5, NOTE_A4, NOTE_F4, NOTE_E4,
  NOTE_D4, NOTE_AS4, NOTE_AS4, NOTE_A4, NOTE_F4, NOTE_G4, NOTE_F4
};

// Notendauern: 4=Viertel, 8=Achtel, 2=Halbe
int noteDurations[] = {
  8, 8, 4, 4, 4, 2,
  8, 8, 4, 4, 4, 2,
  8, 8, 4, 4, 4, 4, 4,
  8, 8, 4, 4, 4, 2
};

void setup() {
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);

  for (int thisNote = 0; thisNote < 25; thisNote++) {
    // Drei zufällige LEDs ansteuern
    int randomLight1 = random(9, 12);
    int randomLight2 = random(9, 12);
    int randomLight3 = random(9, 12);
    digitalWrite(randomLight1, HIGH);
    digitalWrite(randomLight2, HIGH);
    digitalWrite(randomLight3, LOW);

    // Ton berechnen und abspielen
    int noteDuration = 1130 / noteDurations[thisNote];
    tone(3, melody[thisNote], noteDuration);

    // Pause zwischen den Noten
    int pause = noteDuration * 1.275;
    delay(pause);
    noTone(3);
  }

  // Alle LEDs ausschalten nach dem Lied
  delay(3000);
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, LOW);
}

void loop() {
  // Keine Wiederholung nötig
}

pitches.h – Notendefinitionen

Diese Datei definiert die Frequenzen für alle Klaviertasten (C0 bis D#8). Sie muss im selben Ordner wie der Sketch liegen oder über #include "pitches.h" eingebunden werden. Der Inhalt ist Standard und entspricht der Arduino-Beispielbibliothek.

Schaltplan

Die Datei happy_birthday_lights__sounds_I16bf0SBDq.fzz (Fritzing) zeigt den kompletten Aufbau.

Tipps & Erweiterungen

Herstellungsprozess

  1. Titan-Drähte: Typen, Eigenschaften und industrielle Anwendungen
  2. Leiteranschluss-Konventionen in Stromlaufplänen: Klare Anleitung
  3. Netzwerke vs. Busse: Klare Leitlinien zur Verkabelung in digitalen Systemen
  4. LED-Helligkeit per PWM und Taster am Arduino Mega steuern
  5. DHT11 Temperatur- & Feuchtesensor mit LED-Anzeige & Piezo-Summer
  6. GPS-Datenlogger mit räumlicher Analyse auf Azure IoT Hub
  7. Arduino Temperatur- & Feuchtelogger mit DHT11 & Ethernet Shield
  8. DIY Guitar Speed Pick & Stomp Pedal – 3D-gedruckter motorisierter Plektrum
  9. Armaturenbrett-Symbole verstehen: Warnleuchten, Farben & Bedeutung
  10. 50 Jahre Präzision feiern: Metal Cutting Corporation wird ein halbes Jahrhundert alt