Themaproject: Kerstmis: Project: Jingle Bells met dansende LEDs

Dit is een feestelijk kerstproject waarbij een buzzer (buzzer) het bekende kerstliedje “Jingle Bells” rustig en gezellig speelt, terwijl twee LEDs (één rood en één groen) op de muziek dansen in een geanimeerd patroon. Dit project brengt een vrolijke kerstsfeer in elke ruimte en is perfect als een doe-het-zelf decoratie of geschenk!

Stap 1: het circuit bouwen

Benodigdheden:
  • Arduino Uno
  • Actieve buzzer
  • Rode LED
  • Groene LED
  • 2 weerstanden van 220 Ohm (kleuren: oranje-oranje-bruin-goud)
  • man-man jumperwires

Dit moet je doen om het circuit op te stellen:

  • LEDs:
    • Sluit de lange poot van de rode LED aan op pin 8 van de Arduino, via een weerstand (220Ω).
    • Sluit de lange poot groene LED aan op pin 9 van de Arduino, via een weerstand (220Ω).
    • Sluit de korte poten van beide LEDs aan op de GND
  • Buzzer:
    • Sluit de positieve pin van de actieve buzzer aan op pin 10 van de Arduino.
    • Sluit de negatieve pin van de buzzer aan op de grond (GND).
Themaproject kerst circuit schema

Stap 2: De code schrijven

Nu we het circuit hebben opgebouwd, gaan we de code schrijven die de afstand meet en de LED’s aanstuurt.

Jingle_Bells.ino
#define NOTE_E4 330
#define NOTE_C4 262
#define NOTE_D4 294
#define NOTE_F4 349
#define NOTE_G4 392

// Pin definities
int redLed = 8;
int greenLed = 9;
int buzzer = 10;

// Jingle Bells melodie
int melody[] = {
  // Jingle Bells refrein
  NOTE_E4, NOTE_E4, NOTE_E4,  // Jingle
  NOTE_E4, NOTE_E4, NOTE_E4,  // Bells
  NOTE_E4, NOTE_G4, NOTE_C4, NOTE_D4, NOTE_E4,  // Jingle all the way
  NOTE_F4, NOTE_F4, NOTE_F4, NOTE_F4, 
  NOTE_F4, NOTE_E4, NOTE_E4, NOTE_E4, NOTE_E4,
  NOTE_D4, NOTE_D4, NOTE_E4, NOTE_D4, NOTE_G4   // Oh what fun...
};


int noteDurations[] = {
  8, 8, 8,   // Jingle
  8, 8, 8,   // Bells
  8, 8, 8, 8, 4,  // Jingle all the way
  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 4  // Oh what fun...

};

void setup() {
  pinMode(redLed, OUTPUT);
  pinMode(greenLed, OUTPUT);
  pinMode(buzzer, OUTPUT);
}

void loop() {
  // Speel Jingle Bells
  for (int thisNote = 0; thisNote < sizeof(melody) / sizeof(melody[0]); thisNote++) {
    // Bereken duur van noot
    int noteDuration = 1500 / noteDurations[thisNote];
    tone(buzzer, melody[thisNote], noteDuration);
   
    // Laad LEDs knipperen in ritme
    if (thisNote % 2 == 0) {
      digitalWrite(redLed, HIGH);
      digitalWrite(greenLed, LOW);
    } else {
      digitalWrite(redLed, LOW);
      digitalWrite(greenLed, HIGH);
    }

    // Wacht de duur van de noot en pauzeer een beetje
    int pauseBetweenNotes = noteDuration * 1.3;
    delay(pauseBetweenNotes);
    noTone(buzzer);
  }

  // Pauzeer na een volledige uitvoering
  delay(500);
}

Wat doet deze code?

  • Melodie: De Jingle Bells melodie wordt afgespeeld met behulp van een buzzer die aangesloten is op pin 10.
  • Dansende LEDs: De rode en groene LED knipperen om de beurt in een patroon dat synchroon loopt met de muziek. Dit creëert een vrolijke en feestelijke sfeer.
  • Melodiepauze: Na het spelen van de melodie pauzeert de Arduino twee seconden voordat de melodie opnieuw begint.

Stap 3: De code uploaden

  1. Sluit je Arduino aan op je computer met de USB-kabel.
  2. (Klik op select board en dan op Arduino Uno.)
  3. Klik op de uploadknop (pijltje) in de Arduino IDE om de code naar je Arduino te sturen.

Deze eenvoudige maar feestelijke opstelling voegt een beetje magie en warmte toe aan de kerstdagen, perfect om bij de boom te zetten of als leuke toevoeging aan de kerstdecoraties!

qoute symbool

"Laat de klokken rinkelen, de lichten dansen en de vreugde klinken deze kerst. 🎄🔔✨"

Ontdek praktische projecten. Ben je een beginner, geen probleem! Er zijn projecten voor zowel beginners als gevorderden.

Hier vindt je hoe de componenten die je in de projecten gebruikt werken.

Wil je de functie van een commando weten? Wil je meer Arduinocommando’s bijleren? Ga dan naar de codedatabank. Daar vind je uitleg over de Acommando’s

logo

Copyright © 2025 Arduinolessen.org | Gebouwd door Arduinolessen.org