Ik heb vooral gefocust op het design aspect van mijn eindopdracht. Ik heb er voor gekozen om een huisje te maken met daarin een aantal lichtjes met de hulp van arduino. Het is een huisje met een kerstsfeer en die de indruk geeft dat er binnen een kerstboom staat en een gezellig kerstfeest bezig is.
Ik heb er voor gekozen om heel mijn breadboart in mijn huisje te plaatsen maar heb dit aangesloten met baterijen. Zodat ik eerst de code kon fine tunen en daarna er voor zou kunnen zorgen dat ik geen kabels meer zou nodig hebben. Hierdoor heb ik wel een aantal led lichtjes doorgebrand maar dit heb ik kunnen aanpassen zodat dit niet meer gebeurd.
Het huisje is opgebouwd uit multiplex van 3.6mm dit waarop mijn design helemaal is aangepast. Het past als een puzzel in elkaar zodat het huisje op zichzelf kan staan zonder lijm. Ik wilde dat het ook terug uit elkaar kon gehaald worden. Ik heb voor de stevigheid gekozen voor een basis dat met de 3D printer is gemaakt met een gleuf waar de muren perfect in passen.
Ik heb genoeg geprobeerd om uiteindelijk mijn eindresultaat van de eerste keer goed te kunnen afprinten en heb dit dus ook maar een keer moeten doen zonder dat er fouten in zaten.
https://youtube.com/shorts/ssUnBf2SfgQ?feature=share
Arduino Code:
const int ledPin1 = 3; // De eerste LED-pin
const int ledPin2 = 5; // De tweede LED-pin
const int buzzerPin = 6; // De buzzer-pin
const int ledPin2 = 5; // De tweede LED-pin
const int buzzerPin = 6; // De buzzer-pin
// Definieer de frequenties voor de noten
#define NOTE_E4 330
#define NOTE_G4 392
#define NOTE_C4 262
#define NOTE_D4 294
#define NOTE_F4 349
#define NOTE_E4 330
#define NOTE_G4 392
#define NOTE_C4 262
#define NOTE_D4 294
#define NOTE_F4 349
// Variabele om de status van de lichten bij te houden
bool ledState = LOW;
bool ledState = LOW;
void setup() {
pinMode(ledPin1, OUTPUT); // Zet de LED-pinnen als output
pinMode(ledPin2, OUTPUT);
pinMode(buzzerPin, OUTPUT); // Zet de buzzer-pin als output
}
pinMode(ledPin1, OUTPUT); // Zet de LED-pinnen als output
pinMode(ledPin2, OUTPUT);
pinMode(buzzerPin, OUTPUT); // Zet de buzzer-pin als output
}
void loop() {
// Schakel de lichten en speel de melodie af
playJingleBells();
}
// Schakel de lichten en speel de melodie af
playJingleBells();
}
// Functie om een noot af te spelen met een bepaalde duur
void playNote(int note, int duration) {
tone(buzzerPin, note, duration);
// Wissel de status van de lichten om en om
digitalWrite(ledPin1, ledState);
digitalWrite(ledPin2, !ledState);
ledState = !ledState; // Keer de status om voor de volgende noot
delay(400); // Wacht 200 milliseconden tussen elke noot
}
void playNote(int note, int duration) {
tone(buzzerPin, note, duration);
// Wissel de status van de lichten om en om
digitalWrite(ledPin1, ledState);
digitalWrite(ledPin2, !ledState);
ledState = !ledState; // Keer de status om voor de volgende noot
delay(400); // Wacht 200 milliseconden tussen elke noot
}
// Functie om de "Jingle Bells" melodie af te spelen
void playJingleBells() {
// Speel "Jingle Bells" af met een trager tempo
void playJingleBells() {
// Speel "Jingle Bells" af met een trager tempo
playNote(NOTE_E4, 400); // E
playNote(NOTE_E4, 400); // E
playNote(NOTE_E4, 800); // E
playNote(NOTE_E4, 400); // E
playNote(NOTE_G4, 400); // G
playNote(NOTE_C4, 400); // C
playNote(NOTE_D4, 400); // D
playNote(NOTE_E4, 400); // E
playNote(NOTE_F4, 400); // F
playNote(NOTE_F4, 400); // F
playNote(NOTE_F4, 400); // F
playNote(NOTE_F4, 400); // F
playNote(NOTE_F4, 400); // F
playNote(NOTE_E4, 400); // E
playNote(NOTE_E4, 400); // E
playNote(NOTE_E4, 400); // E
playNote(NOTE_E4, 400); // E
playNote(NOTE_E4, 400); // E
playNote(NOTE_D4, 400); // D
playNote(NOTE_D4, 400); // D
playNote(NOTE_E4, 400); // E
playNote(NOTE_D4, 400); // D
playNote(NOTE_G4, 400); // G
delay(400); // Extra vertraging toevoegen aan het einde van het liedje
}
playNote(NOTE_E4, 400); // E
playNote(NOTE_E4, 800); // E
playNote(NOTE_E4, 400); // E
playNote(NOTE_G4, 400); // G
playNote(NOTE_C4, 400); // C
playNote(NOTE_D4, 400); // D
playNote(NOTE_E4, 400); // E
playNote(NOTE_F4, 400); // F
playNote(NOTE_F4, 400); // F
playNote(NOTE_F4, 400); // F
playNote(NOTE_F4, 400); // F
playNote(NOTE_F4, 400); // F
playNote(NOTE_E4, 400); // E
playNote(NOTE_E4, 400); // E
playNote(NOTE_E4, 400); // E
playNote(NOTE_E4, 400); // E
playNote(NOTE_E4, 400); // E
playNote(NOTE_D4, 400); // D
playNote(NOTE_D4, 400); // D
playNote(NOTE_E4, 400); // E
playNote(NOTE_D4, 400); // D
playNote(NOTE_G4, 400); // G
delay(400); // Extra vertraging toevoegen aan het einde van het liedje
}