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).
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#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
- Sluit je Arduino aan op je computer met de USB-kabel.
- (Klik op select board en dan op Arduino Uno.)
- 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!
