HKU ITTT Arduino Project
Naam: Moses Decaster
Studentnummer: 3033782
Klas: GI 1D
Supplies
- piezo buzzer
- druk knop
- potentiometer
- pressure sensor
- 3x led lampjes
- 4x 220 ohm weerstand
- 2x 10k ohm weerstand
- 14x kabels
- print plaatje
Beschrijving
Wat ik heb gemaakt is een klein spelletje waarbij je met behulp van een lichtje krijgt te zien wat voor input je activeert. Elk lichtje geeft een andere input die je moet blijven volgen. Als je de correcte input voor de tijd niet activeert ben je af en hoor je de buzzer afgaan en de lichtjes knipperen. Het doel is om zo lang mogelijk door te blijven gaan.
- Draai de meter naar de omgekeerde kant** om het rode lichtje uit te zetten.
- Druk op de sensor om het gele lichtje uit te zetten
- druk op het knopje om het groene lichtje uit te zetten
**afhankelijk van welke kant de meter voorheen stond, moet je het naar de omgekeerde kant draaien
Iteratie 1
Een button sequence waarbij het lichtje aan gaat bij het overeenkomende knopje. Het lichtje ervoor moet aan zijn om het volgende lichtje aan te zetten. Als het lichtje ervoor niet aan stond zal de volgende ook niet aan gaan. Dit zou ervoor zorgen dat je dus alle stappen in een volgorde moest activeren om het te voltooien. Als alle lichtjes aan zijn reset het.
Dit was een begin voor mijn initiƫle idee waarbij er met meerdere inputs dan alleen buttons zou worden gewerkt.
Iteratie 2
Hetzelfde concept als mijn eerste iteratie maar de eerste 2 knoppen zijn verandert met een pressure sensor en potentiometer.
Hierbij wilde ik verder misschien wat meer lichtjes toevoegen en ervoor zorgen dat er een lichtje brandt bij elke honderdste of 200 van de potentiometer waardes.
Iteratie 3
Mijn laatste iteratie is niet als de andere 2. Ik heb voor de onderdelen 1 button minder gebruikt en een piezo buzzer toegevoegd.
Dit wordt een soort hand/oog coƶrdinatie spel waarbij je binnen de tijd de sequence moet voltooien.
Hierbij zal er bij het opstarten een piepje afgaan en alle lichtjes zullen knipperen voor 1 seconde.
Elk lichtje heeft een eigen input. Het lichtje gaat van zelf aan maar moet binnen een bepaalde tijd uitgezet worden.
De potentiometer is gelinked met het rode lichtje, de pressure sensor met het gele lichtje en de push button met het groene lichtje. Als het lichtje niet binnen de tijd aangaat zal de buzzer piepen en de lichtjes blijven knipperen.
in de volgende stap zal ik laten zien hoe ik dit heb gemaakt.
Stap 1
Als eerst heb ik door middel van onderzoek gekeken hoe ik alles moet aansluiten aan het breadboard. Ik heb getest wat de min. en max. values zijn van de inputs en hoe ik het aansluit aan de outputs. Toen alles voor mijn gevoel werkte ging ik verder met alles verplaatsen naar de printplaat.
Stap 2
Mijn project heb ik overgeschakeld naar een printplaatje. Hierbij heb ik een kleine schets gemaakt van hoe ik het op het printplaatje wil hebben. Ik heb het 1 voor 1 gesoldeerd. Bij de afbeelding hier kan je aan de linker kant de soldering zien van de LEDs en de buzzer. aan de rechter kant zijn alle inputs.
Stap 3
Als laatste heb ik een doos gebruikt om alles in te zetten. Ik heb gaten in de doos gemaakt zodat ik de USB kabel van de arduino, de potentiometer en de pressure sensor kan gebruiken. Ik heb hierbij ook een knop gemaakt voor de button met behulp van een klein hout staafje. Dit heb ik ook nog gedaan voor de reset knop op de Arduino zelf. Verder heb ik de doos voor de helft goud geverfd en daarna nog met een stift duidelijk gemaakt wat de knoppen doen.
Reflectie
Wat ik heb geleerd is om met een gevarieerd aantal inputs en outputs iets uit te vinden. Ik heb geleerd hoe ik moet werken met een Arduino en de code ervan te gebruiken. De verschillende hardware zoals weerstandjes, sensoren en knoppen hebben mij inzicht gegeven hoe ik gebruik moet maken van de Arduino en onderzoeken hoe het gemaakt moet worden. Het onderzoeken zal mij verder als Artist ook helpen om meer te weten te komen over concepten en hoe ik die uit kan werken. Door veel testjes te doen om iets te maken wat gewenst is leer je ook erg veel van het bepaalde medium waarmee je werkt. Als einde heb ik ook geleerd om netjes te solderen en hoe ik voorzichtig en geduldig moet zijn om resultaten te zien.
Schematische Tekening
Een schematische tekening van mijn uiteindelijke iteratie
Code
- Het begint met een intro in de setup waarbij de lichtjes knipperen en de buzzer voor een korte tijd afgaat.
- De inputs bestaan uit 3 "acts" met elke 1 functie.
Als setup is afgelopen zal de void loop beginnen met de Act 1.
Act 1 is het rode lichtje en de potentiometer
- Omdat de potentiometer 2 kanten heeft, zal de input anders zijn per kant. Dit zal niet merkwaardig zijn voor de gebruiker, omdat het draaien van de knop naar de omgekeerde kant het enige is wat zij moeten doen.
- Als de value van de meter hoog is, zal je het omlaag moeten draaien om de Act af te ronden.
- Als de value van de meter laag is, zal je het omhoog moeten draaien om de Act af te ronden.
Act 2 is het gele lichtje en de pressure sensor
Act 3 is het groene lichtje en de push button
- Als een challenge wordt aangezet wordt de counter gereset naar 0 en wordt er vanaf dat punt geteld tot (3) seconden
- Als je de challenge hebt voltooid binnen de tijd zal er met behulp van een switch case, willekeurig naar een andere Act worden geschakeld.
- Als het verkeerd is dan activeert wrong(); wat ervoor zorgt dat setup restart om aan te geven dat je hebt verloren. Terwijl het knippert kan je zien welk lichtje aan is waardoor je weet welke input je dus niet correct hebt geactiveerd.