ARDUINO

VOOR BEGINNERS

De Arduino IDE installeren

Arduino IDE voor WINDOWS of MacOS

Arduino IDE simuleren

Onze projecten met Arduino

Heel wat van deze projecten bouwen verder op een vorige project.

Je wil niet steeds helemaal opnieuw beginnen. Start je nieuw project dus met een kopie van een vorig, gelijkaardig project!

💻 De interne led op de arduino laten knipperen

Laat de interne led van je Arduino knipperen.
Bepaal zelf het tempo waaraan de led knippert.

Wat heb je geleerd?

Opgelet!

Je code blijft in het geheugen van de arduino zitten. Ook als je hem ontkoppelt van een spanningsbron.

Goed idee: upload een lege code in je arduino vóór je start OF upload je eigen code vóór je andere componenten op je arduino aansluit.

💻 Een externe led laten knipperen

Laat een externe rode led van je Arduino knipperen.
Bepaal zelf het tempo waaraan de led knippert.

Wat heb je geleerd?

Voeg een gele en een groene led toe aan je circuit. Pas je code aan zodat de 3 leds beurtelings aan en uit gaan. Pas de tijden aan zodat je iets krijgt dat op een verkeerslicht lijkt.

💻 Verzend S.O.S. in morsecode

Laat een externe led van je Arduino knipperen.
Verzend S.O.S. in morsecode.

Wat heb je geleerd?

Pas je code aan zodat je circuit jouw voornaam en naam verzendt in morsecode.  Maak dus een functie voor elke letter van je naam en gebruik die in de loop.

💻 Politie - zonder geluid

Laat beurtelings een blauwe en een rode led knipperen.

Wat heb je geleerd?

💻 Politie - mét geluid

Laat beurtelings een blauwe en een rode led knipperen.
Laat samen met het knipperen van je leds ook het geluid van een politiewagen weerklinken.

Wat heb je geleerd?

Doe de leds weg. Laat je arduino de melodie van Frère Jacques spelen (LUISTER).  

Optionele toevoeging: een variabele waarmee je het ritme kan veranderen.

Optionele toevoeging: koppel je arduino los van de computer en sluit hem aan op een batterij van 9 V.

Gebruik deze noten met frequenties in Hz:

lage sol (196) - do (262) - re (294) - mi(330) - fa (349) - sol (392) - la (440)

💻 Politie - AAN/UIT met schakelaar

Laat beurtelings een blauwe en een rode led knipperen.
Laat samen met het knipperen van je leds ook het geluid van een politiewagen weerklinken.

Plaats een schakelaar. Je Arduino leest de stand van je schakelaar via een digitale poort (HIGH/LOW). De arduino zet dan de "politiewagen" aan of uit.

⚠ Wat we hier NIET doen, is de schakelaar plaatsen zodat we de connectie met al onze componenten onderbreken.

Wat heb je geleerd?

💻 Politie - AAN/UIT met draaiknop

I.p.v. een schakelaar, kan je ook een draaiknop plaatsen om je machine aan of uit te zetten.

Zet 1 led aan en uit door op een knop te drukken.

(Optioneel: maak een kopie van je "politiewagen" en vervang de schakelaar door een drukknop.)

Wat heb je geleerd?

💻 AAN/UIT met een drukknop

I.p.v. een schakelaar, kan je ook een drukknop plaatsen om je machine aan of uit te zetten.

Zet 1 led aan en uit door op een knop te drukken.

(Optioneel: maak een kopie van je "politiewagen" en vervang de schakelaar door een drukknop.)

Wat heb je geleerd?

Laat je arduino de melodie van Frère Jacques spelen.  

Voeg een schakelaar toe waarmee je je muziek kan afzetten.

(Wanneer stopt je muziek? Waarom is het moeilijk om dit met een drukknop te doen? Zou je de muziek kunnen stoppen op het moment dat je de schakelaar op uit zet?)

💻 Politie - controleer de knippertijd

Laat beurtelings een blauwe en een rode led knipperen.
Laat samen met het knipperen van je leds ook het geluid van een politiewagen weerklinken.

Plaats een schakelaar. Je Arduino leest de stand van je schakelaar en zet "politiewagen" aan of uit.

Plaats een regelbare weerstand. Je Arduino leest de stand van je weerstand en verandert het tempo waaraan de lichten knipperen.

Wat heb je geleerd?

Laat je arduino de melodie van Frère Jacques spelen.  

Voeg een variabele met naam "ritme" toe zodat je het ritme kan regelen.  De lengte van je muzieknoten moet afhankelijk zijn van deze variabele "ritme".

Voeg tenslotte een draaiknop toe zodat je met die draaiknop het ritme van je muziek kan wijzigen.

Wil je meer arduino liedjes zonder alles zelf te programmeren?
(Opgelet! Bij deze codes zit de buzzer op poort ~11.)

💻 Reset - hardware

Laat een LED knipperen. Zorg dat er lange delays in je code zitten zodat er dan niets anders kan gebeuren.

Je kan het uitvoeren van de code tóch onderbreken! Plaats een drukknop die je toelaat om de poort RESET te verbinden met de GND.

Optioneel: vertrek van je muziek-arduino en plaats een knop die de muziek onderbreekt en de zaak herstart.

Wat heb je geleerd?

Maak een schakeling en code die een LED doet knipperen. Plaats een drukknop zodat je led pas begint te knipperen nadat je op de knop drukte. Plaats een drukknop die je toelaat om je machine te herstarten.

💻 Een LED dimmen

Regel de helderheid van een rode led met een draaikop (regelbare weerstand).

Wat heb je geleerd?

De digitale poorten die gemerkt zijn met een ~ (tilde) zijn speciale poorten. Die kunnen pulsen van 5 V sturen. Je kan die pulsen korter en langer maken met het commando analogWrite(poortNummer,getal). Het getal is hier een waarde van 0 t/m 255. Dit proces heet pulsbreedtemodulatie (pulse-width modulation, PWM).

In de figuur komt 50% Duty Cycle overeen met het getal 123. Je stuurt dan maar de helft van de beschikbare energie naar een led die erop is aangesloten.

KLEUREN MAKEN

Je kan alle kleuren licht maken door rood, groen en blauw (RGB) te mengen. (Leer met de PHET-simulatie hoe je kleuren kan combineren.)

Een computerscherm toont alle kleuren door rood, blauw en groen (RGB) te combineren. 

Regel de helderheid van 1 rode, 1 blauw en 1 groene led met 3 regelbare weerstanden.

We maken het ons makkelijk. I.p.v. te werken met 3 verschillende leds, gebruiken we één RGB led.

Hoeveel verschillende kleuren kan je (theoretisch) maken met dit circuit?

KLEUREN MAKEN

In de wereld van kleuren weergeven, zijn rood, groen, blauw en de combinaties van deze drie uiterst belangrijk.

Maak een ontwerp met een rode, een groene en een blauwe LED. De leds mogen op volle kracht branden.

Voeg een drukknop toe die je laat schakelen tussen alle mogelijk combinaties van je drie leds.

Hoeveel verschillende combinaties kan je maken met dit circuit?

💻 Een digitale waarde uitlezen met de seriële monitor

Sluit een digitale poort via een schakelaar aan op de 5V-lijn.

Lees met de seriële monitor of de schakelaar aan staat of uit.

(Handig om te weten wat er precies gebeurt met je schakeling!)

Wat heb je geleerd?

💻 Een sensor uitlezen met de seriële monitor

Zet een lichtgevoelige weerstand (fotoresistor of LDR) en een (grote) weerstand R in serie. Sluit ze aan op de 5V-lijn.

Meet met een analoge poort de spanning over de weerstand R en lees met de seriële monitor de waarde uit die de analoge poort weergeeft.

Wat heb je geleerd?

Een LDR is een weerstand waarvan de grootte afhankelijk is van de hoeveelheid licht die erop valt.

Als je de LDR en een andere, constante, weerstand (R) in serie plaatst, wordt de spanning verdeeld. Als de weerstand van de LDR verandert, verandert dus de verdeling van de spanning.

De spanning over R is nu dus óók afhankelijk van de lichtsterkte. Meet de spanning over die weerstand en koppel die aan de hoeveelheid licht. Je hebt dan een lichtsensor gemaakt!

Verbind een draaiknop met poort A3. Stuur het getal dat A3 genereert naar de seriële monitor. Zorg dat in de serële monitor ook verschijnt hoeveel spanning er op poort A3 staat. Zorg dat de betekenins van de geprinte getallen voor de lezer duidelijk zijn.

💻 Nachtlampje

Gebruik een lichtgevoelige weerstand om 1 led aan en uit te zetten.
Als het donker wordt, moet je led aangaan.
Net zoals een nachtlampje dus.

Wat heb je geleerd?

💻 Backlighting

Gebruik een lichtgevoelige weerstand om de helderheid van 1 led te regelen.
Hoe meer omgevingslicht, hoe helderder je led moet zijn.
(Denk bijvoorbeeld aan de backlighting van het scherm van een smartphone.)

Wat heb je geleerd?

💻 Een LCD scherm gebruiken

Laat een tekst verschijnen op het LCD scherm.

Optioneel: experimenteer met de verschillende functies die gedefinieerd worden in de library. (Zó bijvoorbeeld.)

Optioneel: voeg een knop toe om te schakelen tussen verschillende manieren om je tekst weer te geven.

Wat heb je geleerd?

Pas je code aan zodat het LCD scherm 5 seconden lang jouw voornaam op de bovenste lijn en je achternaam op de onderste lijn laat zien. Daarna moet er 5 seconden een andere tekst verschijnen. Loop!

Maak de ENDLESS RUNNER GAME. Je gaat de code een heel klein beetje moeten aanpassen om dit te laten werken met het materiaal dat we in de klas hebben. Zie je waar?

💻 Een thermometer maken

Laat een tekst verschijnen op het LCD scherm.

Sluit een temperatuursensor aan, ijk de temperatuursensor en laat de temperatuur op het scherm verschijnen.

Merk op dat de temperatuursensor die we gebruiken 1 component is. In de temperatuursensor zit een serieschakeling van een thermistor en een constante weerstand.

Wat heb je geleerd?

Vertrek van het vorige ontwerp en maak een toongenerator. Zorg dat je met een draaiknop de frequentie van de buzzer kan regelen van 220 Hz tot 880 Hz.

💻 Een voltmeter maken

Plaatse een draaiknop die je op een analoge poort aansluit. Zorg dat je met de draaiknop de spanning op die analoge poort kan wijzigen. Zorg dat het LCD scherm de spanning (in volt toont) tot op 1/100 volt nauwkeurig.

Wat heb je geleerd?

MAPPING met een FUNCTIE

Vertrek van het vorige ontwerp. We lezen de stand van een draaiknop af op een analoge poort. We laten een overeenkomstige waarde van 0 tot 10000 zien op het scherm. Die waard moet een geheel getal zijn. Dat zou je kunnen doen met map(waardePoort, 0, 1023, 0, 10000). Die mapping gebeurt dan lineair. Zó dus.

MAAR!!! Nu willen we dat dit niet lineair gebeurt maar volgens een kwadratische functie y = a x². Zó dus. Je gaat dus op zoek moeten naar de parabool door punt (1023, 10000) en met top (0,0). Het functievoorschrift van je parabool gebruik je in je code, zodat op het scherm van je arduino het vereiste getal verschijnt.

💻 Een elektromotor

Sluit een motor aan op een digitale poort. Regel de rotatiefrequentie (in rpm) met een draaiknop.

Niet vergeten:

Vertrek van een vorig ontwerp met LCD scherm.
Sluit een motor aan op een digitale poort. Regel de rotatiefrequentie (in rpm) met een draaiknop.
Laat op een LCD scherm zien wat de rotatiefrequentie is van de motor.

Maak een circuit met een motortje. Maak van je motor een ventillator door er wieken op te monteren. Je ventilator moet opspringen bij een door jou gekozen minimum temperatuur. De  snelheid van het motortje moet groter worden als de kamertemperatuur hoger wordt

Optioneel: voeg ook een maximum temperatuur toe vanaf dewelke de ventilator op volle kracht moet draaien.

💻 Een servomotor

Sluit een servomotor aan op een digitale poort. Regel de positie van de arm met een draaiknop.

Niet vergeten:

Laat de positie van een servomotor afhangen van de omgevingstemperatuur. Bouw een schaalverdeling zodat je dankzij de positie van je servomotor de temperatuur kan aflezen.

💻 User input

We sluiten een rode, groen en blauwe led aan.

Via de serial monitor vragen we aan de gebruiker om een keuze te maken welke led moet branden.

Probeer dit zowel met woorden als met getallen uit.

Wat heb je geleerd?

Resources

Kleurencode van weerstanden

Hoe groot is de weerstand?

Dat kan je vinden met de webapp Kleurencode van weerstanden

Een led correct aansluiten

Een LED heeft een vaste polariteit. Als je hem verkeerd aansluit, dan werkt hij niet.

Je arduino zonder computer 

Om je Arduino te programmeren heb je een computer nodig.

Maar Als je je code hebt opgeladen naar je Arduino, dan heb je die computer niet meer nodig.

Je moet dan wél je Arduino voorzien van een energiebron. Een batterij van 9 V bijvoorbeeld.