Jouw Arduino-box:
Bij het begin van dit project kregen jullie een Arduino-box met en Arduino Uno. Op deze pagina vind je een overzicht van enkele onderdelen die we gaan gebruiken bij onze eerste schakelingen. Je leert hier waar ze voor dienen, en hoe je ze kan gebruiken in zo'n schakeling.
De klas-box voor projecten:
In de klas liggen er ook boxen met een Arduino-Brainbox. Dat zijn de Arduino's die we vooral voor grotere projecten gaan gebruiken. Hieronder vind je een lijst met wat er allemaal in die boxen zit:
Brainbox Arduino, USB-kabel, Voedingsadapter, schroevendraaier, snoeren (M-M, M-F, F-F)
LEDs
Weerstanden
Een RGB-LED
2 Breadboards
Een drukschakelaar
Een potentiometer
Een Servo-motor
Een lichtsensor en een temperatuur sensor - Deze worden besproken bij 'Analog IN bij sensoren' op deze site
Jullie Arduino-box.
De Arduino-boxen voor projecten.
Een LED (Light Emitting Diode) is een diode die licht uitstraalt. Een handig onderdeel waar we bij de eerste experimenten op onze Arduino regelmatig gebruik van zullen maken. Een diode kan de stroom maar in één richting doorlaten, van + naar - . Je zal dus goed moeten kijken dat je LED goed geplaatst is in je schakeling.
Onthou KNAP: kathode negatief, anode positief
De kathode (-) is bij een LED het korte beentje
De anode (+) is bij een LED het lange beentje
De lange kant moet in je schakeling dus steeds aan de kant van de voeding komen.
Het symbool voor een LED.
Een weerstand bemoeilijkt de elektrische stroom en zorgt ervoor dat de spanning in een stroomkring vermindert. De grootte van een weerstand wordt weergegeven in Ohm (Ω).
Het Europese symbool voor een weerstand. Vermeld telkens de grootte van de weerstand.
De aansluitspanning bij een LED is vaak afhankelijk van de kleur, kijk dus even of je info van de fabrikant kan vinden.
Bij onze LEDs staat het volgende vermeld: Onze 3mm LED’s zijn 20mA (milliampère). De rode, gele en groene hebben een aansluitspanning van ongeveer 2V, de blauwe en de witte van 3V (Volt).
Bij onze Arduino zal je dus steeds een weerstand moeten plaatsen, anders kunnen ze na een tijdje doorbranden!
Voorschakelweerstand berekenen met wet van Ohm:
De wet van Ohm zegt: V = I*R of: De spanning (V) = de stroom (I) vermenigvuldigd met de weerstand (R). De spanning op de Arduino is meestal 5V. Over onze blauwe en witte LED staat 3V (die mogen we aftellen van de beginspanning). Volgens de info bij onze LEDs gaat 20mA stroom door onze LED.
Om de weerstand te berekenen doe je het volgende: 5V- 3V = 2V. Dit resultaat delen we door de stroom (20mA).
Dus (5V - 3V) / 0.02A = 100 Ohm voor blauw en wit LEDs
Onze rode, gele en groene LED hebben een aansluitspanning van 2V.
Dus (5V - 2V) / 0.02A = 150 Ohm rood, geel en groen LEDs
Bij twijfel kan je best een iets grotere weerstand kiezen.
Weerstanden krijgen steeds een kleurcode om de grootte van de weerstand aan te duiden.
De RGB-LED: kan zowel rood, groen als blauw licht geven.
Het zijn eigenlijk 3 LED’s met een gedeelde kathode. Voor elke kleur moet je een andere weerstand gebruiken. Kijk best naar de info van de verkoper. Onze LED’s zijn 20mA en 2V voor Rood, en 2,6V voor Groen en Blauw.
Bij 5V gebruiken we dan een weerstand van 150 Ohm voor Rood en van 120 Ohm voor Groen en Blauw.
Plaatsing: Bij onze RGB-LED is de langste pin de kathode (-), hier moet dus de langste kant aan de kant van je GND zitten! Je kan de drie andere PINS's telkens met een andere signaalpin op de Arduino verbinden. Denk er wel aan om voor elke PIN de juiste weerstand te gebruiken.
Het symbool voor een RGB LED met gemeenschappelijke kathode.
Bij een RGB-LED module wordt de RGB-LED zoals hierboven gebruikt, alleen staat deze hier al gesoldeerd op een bordje. Als je goed kijkt zie je op het bordje ook 3 kleine blokjes: R1,R2 en R3, met daarop telkens (heel klein) het cijfer 151. Dat zijn drie kleine weerstanden van 150 Ohm. Bij dit bord hoeven we dus geen extra weerstanden meer te gebruiken. De pins met de vermelding R, G en B mogen telkens meteen met een digitale of analoge uit pin van onze Arduino verbonden worden. De - pin moet altijd verbonden zijn met de GND op de Arduino.
In de klas hebben we ook een aantal verkeerslicht modules.
Die zijn makkelijk te schakelen. Je mag de drie pins van de LEDs meteen naar de digitale pins van je Arduino schakelen.
Als je goed kijkt zie je op de module onder elke LED een klein blokje. Dat is de weerstand. Die hoef je dus zelf niet meer toe te voegen.
De drie LEDS hebben bovendien een gedeelde ground (GND). Je hoeft dus maar één draad van de GND van je Arduino te verbinden met de GND op de module.
Om met schakelingen snel allerlei prototypes te kunnen maken zonder steeds te moeten solderen, maken we bij onze experimenten vaak gebruik van het ‘breadboard’. In jullie box vinden jullie twee breadboards, een grotere witte met letters en getallen, een een kleinere met een kleurtje.
In de schema’s hiernaast kan je zien hoe de gaatjes binnenin onderling verbonden zijn via een geleidende metalen klem.
De verticale rode lijn in het onderste breadboard is voorzien om te verbinden met je voeding, de verticale zwarte lijn is hier voorzien om te verbinden met GND (ground).
In de gaatjes kan je fijne draden, LED’s weerstanden etc. vaststeken om elektrische schakelingen te maken. Maak er een goede gewoonte van om te werken met korte draden en je schakeling zo overzichtelijk mogelijk te houden.
Een correcte schakeling maken op een breadboard:
In het volgend voorbeeld zie je twee maal een schakeling met een weerstand en een LED.
De linkse is correct geschakeld en de LED brandt.
Bij de rechtse is een veelgemaakte fout te zien: op de vijfde rij zie je dat de twee beentjes van de LED in dezelfde rij zitten. De stroom zoekt altijd de weg met de minste weerstand. Die loopt hier via de rail in plaats van via de LED en de LED zal dus niet branden.
Een drukschakelaar is een eenvoudig onderdeel. Ingedrukt geeft het stroom door van de ene kant naar de andere kant, anders niet. Bij het aansluiten van de drukschakelaars die wij gebruiken is het wel belangrijk om ook naar de onderkant te kijken. Er zijn vier beentjes die twee per twee altijd verbonden zijn. Die verbinding kan je herkennen aan de ribbel op je schakelaar (zie de rode lijnen).
Bij het indrukken van de schakelaar worden de twee duo's dan met elkaar verbonden.
Bij de drukschakelaar die je in de Arduino box vindt zie je geen ribbel. Maar net als bij de kleinere versie zijn de beentjes die het verst uit elkaar staan altijd met elkaar verbonden.
Het symbool voor een drukschakelaar
Wanneer je een drukknop gebruikt in een schakeling dan gebruik je daar best ook een pulldown-resistor bij. Dat is een weerstand van 10.000 Ω waarmee je de draad die van de drukknop naar je pin gaat ook verbindt met GND. Zo kan restspanning die nog op de pin aanwezig is afgevoerd worden naar GND. Zonder deze weerstand heb je kans op foute signalen naar je Arduino-pin.
In het voorbeeld hiernaast zie je een schakeling met een LED en een drukknop met pulldown-resistor.
Een potentiometer of potmeter is een regelbare weerstand. Met drie pins. Eén naar 5V, één naar GND en één naar je signaalpin, dat is de pin op je Arduino die de spanning meet.
Er komt 5V binnen van de 5V PIN op de Arduino en er gaat een spanning tussen 0V tot 5V naar je signaalpin, afhankelijk van de stand van onze potmeter. De resterende stroom verdwijnt via de GND.
Je kan de GND en 5V op je potmeter omwisselen indien je vindt dat het beginpunt en eindpunt op je potmeter onnatuurlijk aanvoelen.
Dit is een schema van je potentiometer van bovenuit bekeken.
Het symbool voor een potentiometer
Wat zijn Libraries ?Libraries ( of bibliotheken) zijn extra stukjes software die we in een sketch kunnen gebruiken bij een bepaald onderdeel in onze schakeling. Zo'n library zorgt ervoor dat de code voor een ingewikkeld onderdeel toch eenvoudig blijft. De belangrijkste libraries vind je onder ‘Schets’> ‘Bibliotheek gebruiken’, waar je de library kan kiezen (hier ‘Servo’).
In Tinkercad hoef je enkel de regel te geven om de library te laden.
Een servo-motor is een motor die geen volledige draai-beweging maakt, maar slechts kan bewegen in een hoek van bijna 180°. Je kan hem nauwkeurig aansturen met een PWM-signaal.
Een servo-motor gebruikt niet veel energie en mag meteen aangesloten worden op een Arduino.
Een servomotor aanluiten:
Op de Uno mag je slechts één servo aansluiten op pin 9 of 10. De bruine of zwarte draad gaat naar GND, rood gaat naar 5V, de gekleurde draad gaat naar pin 9 of 10.
Op de Brainbox kunnen we gebruik maken van de twee aansluitpunten voor een servo-motor (pin 11of 12). Kijk ook hier goed naar de kleur van de draad.
In je code kan je gebruik maken van de bestaande Library in de Arduino-IDE. Met de voorbeeld-code hieronder stuur je de servo aan met een potmeter. Experimenteer hier best eerst even mee zodat je de code en de mogelijkheden goed begrijpt.
Zoals je aan de code kan zien is dit de voorbeeldcode voor de Brainbox Arduino. Voor een schakeling op de Uno ga je de servo moeten verbinden met pin 9 of 10 en zal je regel 9 even moeten veranderen naar bijvoorbeeld: myServo.attach(9);
In het voorbeeld hieronder wordt de waarde van de potmeter tussen 0 en 1023 omgezet naar een getal tussen 0 en 180. Elk getal tussen 0 en 180 staat voor een plekje tussen 0 en 180° dat de servomotor kan innemen.
In de regel myServo.write(hoek);kan je de variabele (hier hoek) ook gewoon door een getal vervangen. De servo gaat dan naar die positie.
Aansluitpunten voor servo's op de Brainbox
Waarvoor kan je een servo gebruiken?
Een servo wordt vaak gebruikt in modelbouw om een bootje, een vliegtuig of een auto te besturen. Het wordt ook in robots gebruikt om een gewricht te laten bewegen.
1) Open een nieuwe schakeling in Tinkercad met de naam Oef8_Naam_Voornaam_Klas
2) Maak daar een schakeling met een potmeter en een servo en een Arduino UNO.
3) Maak de code zodat je de servo aanstuurt met de potmeter.
4) Zorg dat in je SerialMonitor duidelijk de waarden van je potmeter en van je servo te lezen zijn. Bijvoorbeeld: potval = 430 hoek = 75
5) Noteer bij elk deel van je code betekenisvolle commentaren zodat bij elke stap duidelijk is wat er daar gebeurt.
6) Controleer nog even de details in je schakeling (bestandsnaam, weerstanden, kleuren van draden, commentaren)
Bij kleine simulaties kan het handig zijn om ook warmte te creëren met je Arduino. Hiervoor kan je weerstanden gebruiken. Dit zijn niet de gewone weerstanden uit je doos, maar iets grotere weerstanden. Je kan deze vragen aan je leerkrachten.
Gebruik deze weerstanden enkel op de Leonardo's van de school met de voeding van een adapter, zoals in het schema hiernaast. De weerstanden worden in serie geplaatst en verbonden met één van de vier digitale pins onderaan (D5, D6, D9 of D10). Plaats deze weerstanden niet op je eigen Arduino Uno.
Let goed op, bij deze schakeling creëer je temperaturen boven de 100°C! Je kan zo jezelf of onderdelen verbranden. Vraag dus steeds je leerkracht om je schakeling te controlleren als je twijfelt!
Het schema hiernaast gaat ervan uit dat je via de adapter 12V levert. Kijk dus eerst of de schroef op de achterzijde van de adapter op 12V staat.
Zelfs als je adapter op 12V staat, blijkt die in werkelijkheid vaak minder spanning te geven, waardoor je adapter onvoldoende opwarmt.
Indien je weerstanden niet opwarmen kan je dus best kijken met een spanningsmeter wat de geleverde spanning van de adapter precies is. Indien de spanning lager is dan 9V, dan kan je één 22R weerstand gebruiken in plaats van 2. Je weerstand zou dan wel snel moeten opwarmen.
Je kan de geleverde spanning van de adapter meten door de rode pin van de spanningsmeter in het gaatje van de stekker te steken en de zwarte pin tegen de buitenkant van de stekker te houden. Let op dat je geen kortsluiting maakt!
De code hiervoor is heel eenvoudig, je moet aangeven welke pin je wil gebruiken als output (5, 6 9 of 10) en deze spanning geven met digitalWrite. Bijvoorbeeld:
void setup() {
pinMode(5, OUTPUT);
}
void loop()
digitalWrite(5, HIGH);
}