Dit schooljaar hebben jullie tijdens het STEM-project de basis van Arduino gezien. Misschien heb je hier of daar nog een stukje gemist, of wil je deze vakantie je kennis van Arduino wat bijhouden, dan vind je hieronder een stappenplan om alles nog eens op te frissen.
Kort samengevat moeten jullie de inhouden kennen van de volgende pagina's op de Arduino site: Arduino basis, Digital OUT/IN, Analog IN/OUT, onderdelen voor schakelingen, sensoren (enkel de lichtsensor en de temperatuursensor) en kan werken met de buzzer op de Brainbox.
Dat betekent dat je...
begrijpt waarvoor je een Arduino kan gebruiken
vlot je weg vindt op een Arduino UNO of Brainbox, en in de Arduino IDE (programmeeromgeving)
vlot kan werken met de serial monitor/plotter
vlot overzichtelijke schakelingen kan maken met de verschillende onderdelen en een breadboard
in een schakeling de juiste kleuren gebruikt voor de draden
vlot kan werken met de code voor digitale IN en OUT signalen
vlot kan werken met de code voor analoge IN en OUT signalen
vlot een map-functie kan gebruiken in je code
vlot kan werken met de onderdelen op deze pagina's (drukknop, pulldown resistor, leds en weerstanden, potmeter, temperatuursensor, lichtsensor)
Aan Arduino heb je niet veel als je het 'een beetje' kan. Dit is de basis die we nodig hebben om de volgende jaren de T (technology) en de E (engineering) in onze STEM-projecten te realiseren. We gaan dus niet voor 'zesjes'. We gaan je testen tot je helemaal mee bent!
Je krijgt enkele oefeningen en als je denkt dat je mee bent dan volgt een grotere praktische oefening en een test waarin je je inzicht moet tonen. Intussen kan je natuurlijk vragen stellen en wat extra uitleg verwachten.
Lees best eerst nog eens goed de pagina Arduino basis. Je moet hierna de belangrijkste onderdelen van de Arduino kennen en vlot je weg vinden in de Arduino IDE. Je moet ook vlot informatie zichtbaar kunnen maken via de Serial monitor.
Bekijk eerst nog eens rustig het overzicht met de digitale pins (deel 2 en 3). Ben je niet zo zeker of dit al vlot lukt? Maak dan eerst opdracht 1.
Lees rustig deel 4,5 en 6 op dezelfde pagina. Ben je nog altijd helemaal mee, maak dan meteen oefening 2B, anders mag je oefening 2A als tussenstap maken. Let erop dat je een verzorgde schakeling maakt volgens de afspraken in deel 6.
Afgeven: Oefening 2B maak je met de Brainbox. Je geeft je code af in de uploadzone, de schakeling laat je zien aan je leerkracht, zodat die nog feedback kan geven.
Lees op de pagina Analog IN/OUT, deel 1 tot 4. Maak dan Opdracht 3. Deze opdracht maak je opnieuw op je Brainbox.
Lees dan deel 5 tot 8 op dezelfde pagina en zorg dat je helemaal mee bent met alles van de vorige delen. Kijk nog eens goed of je alles weet en kan uit het overzicht hierboven. Twijfel je nog? Dit is het moment om al je vragen te stellen!
Net als vorig schooljaar krijgen jullie een opdracht waarin jullie moeten tonen dat jullie zelfstandig alle basisideeën kunnen toepassen.
De uitdaging:
De koelkast in de school is al wat ouder en de directie wil graag een toestel waarop iedereen kan zien of de koelkast perfect werkt.
Zoals je weet dient de temperatuur in een koelkast steeds tussen 0° en 6° Celsius te blijven. Met een RGB-LED moet iedereen meteen kunnen zien of de koelkast de juiste temperatuur heeft:
Onder de 0° is te koud > we zien op de RGB-LED de blauwe LED knipperen (1 seconde aan, 1 seconde uit)
Van 0° tot 6° is prima > hier zien we al naargelang de temperatuur de kleur van de RGB-LED langzaam opschuiven van 0° = blauw (0,0,255) tot 6° = paars (255,0,255). Je gebruikt hiervoor een map-functie! De LED brandt gewoon (geen knipperlicht) want de temperatuur is in orde.
Vanaf 7° is de koelkast te warm. De RGB-LED moet nu een rood licht geven (255,0,0).
Vanaf 15° moet de rode LED beginnen knipperen (1 sec aan, 1 sec uit) en moet ook de buzzer een signaal geven (1 sec aan, 1 sec uit)
Met een drukknop (boolean) kan je het alarmsignaal van de buzzer ook uitzetten, maar eens de temperatuur weer onder de 7° is gegaan wordt het geluidsalarm weer actief.
Aanpak: (Voor deze opdracht mag je gebruik maken van je Arduino-fiches!)
Maak eerst een schema van je schakeling (zie fiche hierover)
Noteer in pesudocode wat er moet gebeuren. Bvb: Als de temperatuur lager dan 0° is , dan moet een blauwe led knipperen, als...
Je maakt helemaal zelfstandig een schakeling en de bijhorende code voor een toestel dat de werking van je koelkast kan controlleren in de Tinkercad-klas.
Als alles goed werkt maak je je schakeling en (de wat aangepaste code) op je Brainbox. Je code wordt goed voorzien van commentaar, zodat duidelijk is dat je alle stappen goed begrepen hebt!
Afgeven:
Een verzorgd blad met een schema volgens de regels en de volledig pseudocode
De schakeling en code in de Tinkercad-Klas - Naam bestand: Combinatieopdracht - Koelkast
De Arduino code voor de schakeling op de Brainbox in de uploadzone
Je maakt een heldere foto van de schakeling op je Brainbox en geeft die mee af in de Uploadzone.
Je laat je eindresultaat - de werkende schakeling met code- zien aan je leerkracht.
Kon je vlot de herhalingsopdracht en de inzichtstoets maken? Dan is het tijd voor een leuke opdracht waarbij we Processing en Arduino gaan combineren. Hiervoor ga je wel wat zelfstandiger moeten werken.
Je gaat in Processing in 3D een eenvoudig spel maken met een rollende bal in een bakje. Doe dit stap voor stap:
Maak eerst een eenvoudige bak in Processing in 3D.
Zorg dat je je bak lichtjes kan kantelen over de X-as en de Z-as.
Bekijk nu het stuk over Arduino en Processing combineren op de site.
Doe best eerst een test met een potmeter en een eenvoudige sketch om te testen of je beide kan verbinden. Daarna probeer je je code aan te sturen met een joy-stick. Lukt het niet, probeer dan te werken met je pijltjes toetsen.
Probeer nu een bal toe te voegen, die langzaam naar het laagste punt rolt.
Kijk nu eens of je een gat in je bak kan toevoegen, waar je bal in kan verdwijnen?
Wanneer je bak en je balletje klaar zijn, kan je beginnen met enkele muren toe te voegen. Je balletje kan daar niet verder, maar rolt naar het laagste punt.
Als dit allemaal lukt, dan kan je aan je definitieve versie beginnen. Teken eerst je doolhof op papier en maak een goede planning voor je code.
Voor deze opdracht mag je met duo's werken. Zo kan je de taken wat verdelen.