Inhoudsopgave:
Video: Escape Room Codegenerator: 4 Stappen
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
Voor dit project werd er gevraagd om een machine te ontwikkelen die gebruikt zal worden in een escape room. De bedoeling van deze machine is dat door het drukken op een knop een bijhorend cijfer wordt gebaseerd aan de hand van lampjes, zo zal het mogelijk zijn om een 3-cijferige code af te lezen. Bijkomend werd er gevraagd dat het toestel efficiënt verplaatsbaar is en een compact geheel vormt. Er is ook gekozen om dit geheel zo duurzaam mogelijk te houden zodat het toch enkele jaren mee gaat.
De machine zelf wordt ontworpen met als doeleinde op een beurs te staan voor makers namelijk Maker Fair Gent die plaats vindt op 8, 9 en 10 mei 2020. Dit toestel zou worden gebruikt door de leerlingen van de leraren opleiding om deze machine te verwerken in hun escaperoom ontworpen.
Door maatregelen getroffen zijn door de Covid-19 crisis was het voor ons niet meer mogelijk om samen te komen en het project uit te voeren. Hierdoor is alles aan de hand van simulaties gemaakt.
Stap 1: Materiaal
Elektronica:
(x1) Arduino (bij voorkeur een Leonardo, maar andere versies kunnen ook)
(x3) Arcade drukknoppen (drie verschillende kleuren)
(x1) 12V voeding (tweedehands computer voeding)
(x3) RGB Ledstrips (12 leds per strip)
(x3) weerstand van 10kOhm
Als extra woord er om nog wat krimpkous aan te kopen om de naakte delen van kabels af te schermen, een soldeerbout en soldeertin om de verbindingen vast te solderen. Indien u dit wilt bouwen, misschien ook een printplaat om niet gevormde verbindingen te maken die in het eerste geval niet mogelijk zijn om aan elkaar te solderen.
Ook wat Dupon wires en headers zullen zeer handig zijn bij het maken van de elektronische schakeling.
Hardware:
(x6) scharnieren
mdf plaat (dikte: 4mm):
(x4) 500 x 400 mm
(x2) 500 x 100 mm
(x2) 400 x 100 mm
(x1) 500 x 20 mm
(x2) 400 x 20 mm
(x2) 120 x 500 mm
Deze schroeven hoeven niet speciaal te zijn gewoon het gene wat u waarschijnlijk thuis hebt liggen is genoeg voor dit project.
Gereedschap:
De tools die u nodig hebt om dit project op te lossen is een lazercutter (kan ook met een zaag of freesmachine), de Arduino IDE moet worden gedownload op u pc, een schroevendraaier (eventueel een boormachine) en soldeerbout zoals eerder vermeld.
Stap 2: Elektrisch schema
Voor het elektrisch schema wordt de foto die als bijlage zit gebruikt. Het schema is hier gebouwd op een breadboard maar dit kan natuurlijk ook op een printplaat worden verkocht om te voorkomen dat draadjes los komen uit de gaten in het breadboard.
De voeding hier is voorgesteld a.d.h.v. batterijen, het is zeker mogelijk om een soort voeding te gebruiken om de andere schakeling te voeden zelf gebruiken wij een oude computer omdat deze over verschillende spanningen beschikt om van te vertrekken om de ledstrips te voeden en de arduino zelf.
voor een overzicht van de werkende schakeling met programma is het model zelf uit te testen via tinkercad. (heeft nog een weiziging nogdig zeker de foto)
Stap 3: Programma (uitleg Staat in Programma)
#erbij betrekken
#define NUM_LEDS 12 #define LED_PIN1 4 #define LED_PIN2 1 #define LED_PIN3 0 int buttonState1 = 0; int knopState2 = 0; int knopState3 = 0; Adafruit_NeoPixel strip1 = Adafruit_NeoPixel (NUM_LEDS, LED_PIN1, NEO_RGB); Adafruit_NeoPixel strip2 = Adafruit_NeoPixel (NUM_LEDS, LED_PIN2, NEO_RGB); Adafruit_NeoPixel strip3 = Adafruit_NeoPixel (NUM_LEDS, LED_PIN3, NEO_RGB); const int buttonPin1 = 3; const int knopPin2 = 2; const int knopPin3 = 8; void setup () { pinMode (buttonPin1, INPUT); pinMode (knopPin2, INPUT); pinMode (knopPin3, INPUT); strip1.begin(); strip1.setBrightness(50); strip1.show(); strip2.begin(); strip2.setBrightness(50); strip2.show(); strip3.begin(); strip3.setBrightness(50); strip3.show(); } void loop() { // Uitlezen van de Knoppen buttonState1 = digitalRead(buttonPin1); buttonState2 = digitalRead (buttonPin2); buttonState3 = digitalRead (buttonPin3); Ledstrip1 (3, 8, buttonState1, buttonState2, buttonState3); Ledstrip2 (3, 10, buttonState1, buttonState2, buttonState3); Ledstrip3 (3, 2, buttonState1, buttonState2, buttonState3); } void Ledstrip1(uint8_t wait, uint8_t aantal, bool knop1, bool knop2, bool knop3){ if(knop1 == LOW && knop2 == LOW && knop3 == LOW){ for(uint16_t i=0; i<strip1.numPixels ();i++){ strip1.setPixelColor(i, strip1. Color(180, 0, 255)); strip1.show(); } strip1.clear(); } else if (knop1 == HOOG){ for(uint16_t i=0; i<aantal;i++){ strip1.setPixelColor(i, strip1. Color(255, 255, 0)); strip1.show(); } } else if (knop3 == HOOG || knop2 == HOOG){ strip1.clear(); } } void Ledstrip2(uint8_t wait, uint8_t aantal, bool knop1, bool knop2, bool knop3){ if(knop1 == LOW && knop2 == LOW && knop3 == LOW){ for(uint16_t i=0; i<strip2. numPixels();i++){ strip2.setPixelColor(i, strip2. Color(180, 0, 255)); strip2.show(); } strip2.clear(); } else if (knop2 == HOOG){ for(uint16_t i=0; i<aantal;i++){ strip2.setPixelColor(i, strip2. Color (0, 0, 255)); strip2.show(); } } else if (knop1 == HOOG || knop3 == HOOG){ strip2.clear(); } } void Ledstrip3(uint8_t wait, uint8_t aantal, bool knop1, bool knop2, bool knop3){ if(knop1 == LOW && knop2 == LOW && knop3 == LOW){ for(uint16_t i=0; i<strip3. numPixels();i++){ strip3.setPixelColor(i, strip3. Color(180, 0, 255)); strip3.show(); } strip3.clear(); } else if (knop3 == HOOG){ for(uint16_t i=0; i<aantal;i++){ strip3.setPixelColor(i, strip3. Color (0, 255, 0)); strip3.show(); } } else if (knop1 == HOOG || knop2 == HOOG){ strip3.clear(); } }
Stap 4: Mechanisch
Voor de mechanische tekeningen kunt u alles afleiden uit de documenten. Het project zou moeten worden gemaakt met behulp van een lasercutter maar u kunt zeker gebruik maken van andere tools zoals frezen of zagen.
Het.dwg-bestand is het document waarmee de lasercutter zou moeten werken.
Om de bekisting zelf te maken kan u zich baseren op de technische tekeningen die je ook vindt als pdf. Hierin staan alle afmetingen en te plaatsen waar u de scharnieren moet aanbrengen.