Dit schooljaar hebben jullie tijdens het STEM-project de basis van Arduino gezien. Met deze taken ga je deze basis nog eens herhalen zodat je vlot verder kan in 3-STEM .
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).
Je zou ook moeten kunnen werken met de LCD.
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 en enkele andere belangrijke onderdelen kan gebruiken (drukknop, pulldown resistor, leds en weerstanden, potmeter, temperatuursensor, lichtsensor, DHT11)
vlot libraries kan installeren
vlot een LCD kan gebruiken
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. Probeer te oefenen en te testen tot je helemaal mee bent!
Je krijgt enkele oefeningen die je allemaal mag maken in Tinkercad. Je krijgt een uitnodiging voor de Tinkercad-klas '2-STEM Vakantietaak'. Daar kan je alle opdrachten maken. Geef in de bestandsnaam telkens duidelijk aan om welke opdracht het gaat.
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. Maak dan eerst opdracht 1.
Lees rustig deel 4,5 en 6 op dezelfde pagina. Ben je nog altijd helemaal mee, maak dan oefening 2A en 2B. Let erop dat je een verzorgde schakeling maakt volgens de afspraken in deel 6 en je code voorzeit van voldoende commentaar.
Lees op de pagina Analog IN/OUT, deel 1 tot 4. Maak dan Opdracht 3. Deze opdracht maak je opnieuw via Tinkercad.
Lees dan deel 5 tot 8 op dezelfde pagina en zorg dat je helemaal mee bent met alle delen. Kijk nog eens goed of je alles weet en kan uit het overzicht hierboven.
De DHT11 kan je niet vinden in Tinkercad, deze opdracht maak je dus best met je eigen Arduino-box. Je kan dan een foto maken van je schakeling en je code afgeven in de uploadmap.
Ga op deze site naar naar onderdelen > sensoren > DHT11 en DHT22 en lees eerst even rustig het hele stukje over deze sensoren.
Deze module bevat een sensor die zowel de temperatuur als de luchtvochtigheid kan meten.
Tot nu toe werd de informatie van een sensor steeds doorgestuurd via een analoog signaal, maar hier gebeurt iets nieuws. Deze module gaat de informatie over temperatuur en luchtvochtigheid doorsturen via een digitale pin. Die digitale pin wordt gebruikt om een gecodeerde boodschap met daarin de informatie door te sturen. De waarden worden dus via een digitaal signaal naar onze Arduino gestuurd.
Ga nu stap 1 doorlopen, waarbij je de libraries voor de sensor gaat installeren op je computer.
Nu kan je de schakeling maken (stap 2) en de voorbeeldcode schrijven zodat je je DHT kan testen.
Als je de library geïnstalleerd hebt dan kan je ook vertrekken van één van de voorbeelden bij deze library: Bestand > voorbeelden en dan scrollen naar beneden tot de ‘Voorbeelden van custom libraries’. Daar vind je DHT Sensor library en daarin DHTTester. Dit is een langere versie van de voorbeeldcode op de site.
Ga nu je DHT-sensor testen en dan zou je de temperatuur (°C) en luchtvochtigheid (%) moeten zien in de Serial Monitor.
Het LCD-scherm gebruiken
Normaal wordt een LCD-scherm met je Arduino verbonden via een ingewikkelde schakeling waarbij je 16 draden gebruikt, maar onze module bevat op de achterzijde een extra bordje, waarmee alles veel eenvoudiger wordt.
Met dit deel zetten we ‘seriële communicatie’ op tussen onze Arduino en ons scherm via I2C.
Dat is een methode waarmee je externe toestellen kan laten communiceren met je Arduino via 4 draden: 5V, GND, SCL en SDA. SCL = Serial Clock, dit is een draad die de timing van de signalen verzorgt, SDA = Serial Data, dit is de draad die de data heen en weer stuurt.
Ga opnieuw naar de Arduino-site van de school naar het deel Communicatie via I2C en lees het stukje over communicatie via I2C.
Ga nu naar het stukje over LCD en OLED schermen, en lees het stukje over LCD.
Voor deze communicatie moeten we opnieuw twee libraries gebruiken. Alle info hierover vind je opnieuw op deze pagina bij 16x2 LCD schermen.
Installeer eerst de nodige libraries, maak de schakeling en de code met de info die je op de site vindt en test het geheel uit met de ‘Hello World’ voorbeeldcode die je vindt bij de voorbeelden die bij de LiquidCrystal_I2C library horen.
Lees de info over de plaatsing van de letters goed door, zodat je het idee van rijen en kolommen en de telling goed begrijpt.
Opdracht 4: Als eerste aanpassing aan de ‘Hello world’ voorbeeldcode ga je gewoon je eigen naam op het LCD scherm schrijven. Zorg dat je naam zo volledig mogelijk verschijnt en mooi in het midden staat. Als je naam te lang is mag je delen vervangen door letters.
Opdracht 5: Bekijk nu ook het deel op de site over eigen symbolen maken. Ga dit even testen en voeg nu op je scherm naast je naam ook een eenvoudig zelfgemaakt symbool/emoji toe.
Nu je je DHT en LCD getest hebt, kan je de voorbeeldcode van hierboven gaan combineren zodat de info van de DHT op je LCD verschijnt. Je kan hiervoor gebruik maken van de ‘Hello World’ voorbeeldcode en de Pot_to_LCD voorbeeldcode met de potmeter die je ook op de site vindt.
Bekijk deze eerst grondig, zodat je alle stappen goed begrijpt.
Opdracht 6: Maak nu de code zodat op je LCD-scherm eerst het scherm met je naam en de symbolen verschijnt, na twee seconden verschijnt een nieuw scherm waarop je de temperatuur en de luchtvochtigheid (humidity) kan aflezen.
Dat kan er bijvoorbeeld zo uitzien:
Temp: 22,5 °C
Hum: 59 %
Je zal merken dat je naam misschien nog zichtbaar blijft wanneer je waarden verschijnen. We zullen dus een functie moeten gebruiken die nog niet in de voorbeeldcode staat.
Ga zelf eens op zoek naar de juiste functie op de Arduino-site.
www.arduino.cc > Reference > Libraries > LiquidCrystal
Opdracht 7:
Ga nu de code uit opdracht 3 combineren met de code van de LM35 zodat je de temperatuurmeting van beide sensoren kan vergelijken.
Maak een schakeling met bijhorende code zodat de temperaturen van beide sensoren overzichtelijk onder elkaar ziet staan. Dat kan er bvb zo uitzien.
Tmp DHT: 21,50°
Tmp LM35: 20,95°