In het tweede jaar hebben jullie tijdens het STEM-project de basis van Arduino gezien. In het derde jaar hebben jullie gewerkt met sensoren en motoren. Omdat ook dat alweer een tijdje geleden is krijg 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) de LCD en de servo.
Dat betekent dat je...
begrijpt waarvoor je een Arduino kan gebruiken
vlot je weg vindt op een Arduino UNO, en in de Arduino IDE (programmeeromgeving)
vlot kan werken met de serial monitor
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 en schakelingen op deze pagina's (drukknop, pulldown resistor, leds en weerstanden, potmeter, temperatuursensor, lichtsensor, LCD en servo)
ordelijke code schrijft en in code voldoende commentaren toevoegt, zodat alle stappen helder zijn
Doorloop alle stappen hieronder en maak telkens de bijhorende oefening. In totaal zal je dus drie opdrachten moeten maken.
Je geeft van elke opdracht telkens enkele duidelijke fotos' van je schakeling af en je geeft ook de code af.
Je geeft alles af in de uploadmap 'vakantietaak 2e jaar'.
Verzamel alle bestanden (foto's van schakelingen en Arduino-code) per opdracht in een map.
Moest het afgeven via de uploadmap om één of andere reden niet lukken, stuur dan een bericht naar je leerkrachten om verder af te spreken.
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 op de pagina Digital OUT/IN 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 1 hieronder. Let erop dat je een verzorgde schakeling maakt volgens de afspraken in deel 6.
Maak een schakeling met een drukknop en een LED, die je verbindt met digitale in- en uit-poorten. Zorg dat beide correct geschakeld zijn (denk aan pulldown-resistor, weerstanden, kleuren van draden…). Maak nu je code zodat de LED gaat branden wanneer de drukknop wordt losgelaten, en uitgaat wanneer de drukknop wordt ingedrukt.
Zorg dat de toestand van je drukknop zichtbaar is in de Serial Monitor
Afgeven: Toon je schakeling aan je leerkracht en geef het bestand met je code af als 'Opdracht 1' in de uploadmap 'Herhaling Arduino'.
Lees op de pagina Analog IN/OUT, deel 1 tot 4.
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.
Maak een schakeling met een potmeter en een RGB-LED die je verbindt met je Arduino.
Bij de RGB-module van je Arduino-box zijn er reeds weerstanden ingebouwd. Die hoef je dus niet meer toe te voegen.
Maak nu je code zodat:
- De waarde van je potmeter, zoals die gelezen wordt door je Arduino, steeds afgelezen kan worden op de Serial Monitor
- De potmeter je rode en je blauwe lamp aanstuurt. Wanneer je potmeter op het ene uiterste staat brandt je blauwe lamp volledig en is de rode lamp uit, wanneer je die naar het andere uiterste draait brandt de rode lamp volledig en is de blauwe uit. Tijdens het draaien van de potmeter gaat de ene lamp dus langzaam aan en de ander langzaam uit. Je zal hier dus twee maal een map-functie moeten gebruiken.
Nu ga je je schakeling en je code nog uitbreiden met een servo. Lees dus best eerst nog even de info over de servo op de site.
Wanneer de blauwe LED brandt staat je servo helemaal naar links, wanneer je rode LED brandt, dan staat je servo helemaal naar rechts.
Afgeven: Toon je schakeling aan je leerkracht en geef het bestand met je code af als 'Opdracht 2' in de uploadmap 'Herhaling Arduino'.
Nu gaan jullie de schakeling en code voor een toestel ontwikkelen dat de temperatuur van het water in een zwembad bewaakt en dat aangeeft wanneer die moet aangepast worden.
Uitgangspunt: de ideale temperatuur van het zwemwater is tussen 25°C en 28°C. (Indien je door de temperatuur in je kamer moeilijkheden hebt met het testen kan je eventueel de temperartuur wat verhogen of verlagen tijdens het testen).
Minder dan 25°C is te koud, 25°C tot en met 28°C is ideaal, meer dan 28°C is te warm.
Ga eerst op zoek naar de informatie over één van de twee temperatuursensoren uit je Arduino-Box (de DHT11 of LM35).
Maak nu je schakeling en je code zodat de waarde van de temperatuursensor duidelijk wordt weergegeven in de Serial Monitor.
Breid nu je schakeling en je code uit zodat een rode LED brandt wanneer de temperatuur boven 28°C gaat (dat kan je makkelijk testen met je vingers).
Breid nu je schakeling en je code uit zodat een blauwe LED brandt wanneer de temperatuur onder de 25°C gaat.
Nu zorg je voor een extra waarschuwing. Wanneer het water warmer is dan 30°C, dan gaat de rode LED knipperen (0,5 sec aan, 0,5 sec uit).
Zorg nu dat de gegevens helder worden weergegeven op je LCD. Telkens wordt de temperatuur weergegeven op de bovenste lijn, daaronder kan je lezen of het water te koud, ideaal of te warm is. Dat kan er bijvoorbeeld zo uitzien:
Watertemp: 26°C
Temp = ideaal
Watertemp: 22°C
Temp = te koud
Watertemp: 29°C
Temp = te warm
Wanneer het water warmer is dan 30°C dan verschijnt een melding als deze:
Watertemp: 31°C
Water koelen!
Afgeven: Toon je schakeling aan je leerkracht en geef en het bestand met je code af als 'Opdracht 3' in de uploadmap 'Herhaling Arduino'.