Het programmeren van microcontrollers was vroeger iets voor ingenieurs en IT-experts. Arduino maakt het dankzij overzichtelijke
hardware en eenvoudig te begrijpen software voor iedereen mogelijk om toe te treden tot de microcontroller-techniek.
De naam Arduino
De Arduino komt uit Italië en werd vernoemd naar de Italiaanse koning Arduino, die tot het jaar
1005 heerste in Ivrea, de plaats van de maatschappelijke zetel van de Arduino-fabrikant.
Tegenwoordig is daar de naar de Koning Arduino genoemde lievelingsbar, van de Arduinoontwikkelaars Massimo Banzi en David Cuartielles.
Nano-compatibele printplaat
Het Arduino-platform biedt ondertussen een groot veelvoud aan printplaten voor verschillende gebruiksdoeleinden. Deze adventskalender
bevat een printplaat die met de Arduino-Nano-Standaard compatibel is en die direct op een insteekprintplaat kan worden gestoken om
bijkomende elektronica aan te sluiten. Elke dag wordt er in de adventskalender een hardware-experiment met het bijhorende programma
voorgesteld.
De meeste experimenten in deze adventskalender werden met Snap4Arduino geprogrammeerd. Deze programmeertaal is op scratch
gebaseerd, sowieso een van de gemakkelijkste programmeertalen om aan te leren. Later wordt ook de klassieke Arduino-IDE om te
programmeren voorgesteld. De te gebruiken programma's kunt u downloaden op: www.buch.cd. Voer voor dit product de code 15003-5 in
het invoerveld in
Insteekprintplaat
Voor de snelle opbouw van elektronische schakelingen zonder solderen, bevat de adventskalender op de eerste dag een insteekprintplaat.
Daarmee kunnen elektronische componenten direct in een insteekprintplaat worden aangesloten.
De verbindingen op de insteekprintplaat.
Bij deze insteekprintplaat zijn de buitenste lengterijen allen met elkaar verbonden via contacten (X en Y). Deze contactrijen worden vaak als
plus- en minpool voor de stroomvoorziening van de schakelingen gebruikt. In de andere contactrijen zijn steeds vijf contacten (A tot E en F
tot J) dwars met elkaar verbonden, waarbij er in het midden van de printplaat een tussenruimte is. Zo kunnen er in het midden grotere
componenten worden aangesloten en naar buiten wordenverbonden.
LED's
LED's (In het Nederlands: lichtdioden) lichten op wanneer er stroom doorstroomt in de doorstroomrichting. LED's worden in de
schakelingen met een pijlvormig driehoeksymbool weergegeven, dat de stroomrichting van de pluspool naar de minpool of naar de
massakabel aangeeft. Een LED laat in de stroomrichting bijna onbeperkt stroom door. Hij heeft slechts een zeer kleine weerstand. Om de
doorstroom te beperken en daardoor het doorbranden van de LED te verhinderen, wordt gewoonlijk een 220-Ohm-voorweerstand tussen
de gebruikte aansluitpin en de anode van de LED of tussen de kathode en de massapin ingebouwd. Deze voorweerstand beschermt ook de
uitgang van de Nano tegen te hoge stroomsterktes. In de LED's in de adventskalender is reeds een voorweerstand ingebouwd en ze kunnen
daarom direct aan de pinnen worden aangesloten.
Schakelplan van een Led met voorweerstand.
LED in welke richting aansluiten?
De beide aansluitingsdraden van een LED hebben een verschillende lengte. De langste is de
pluspool, de anode, de kortste de kathode. Gemakkelijk te zien: Het plusteken heeft een streepje
meer dan het minteken en maakt de draad daardoor optisch iets langer. Bovendien zijn de meeste
LED's aan de minkant afgeplat, vergelijkbaar met een minteken. Ook gemakkelijk te zien: Kathode
= kort = kanten.
Weerstanden en hun kleurcodes
Weerstanden worden gebruikt voor de stroombegrenzing op gevoelige elektronische onderdelen, evenals op voorweerstanden voor LED's.
De maateenheid voor weerstanden is ohm. 1.000 ohm komt overeen met een kilo-ohm, afgekort kOhm. 1.000 kOhm komen overeen met
een megaohm, afgekort MOhm. Vaak wordt voor de eenheid ohm ook het omega-teken Ω gebruikt.
Kleur Weerstandswaarde in Ohm
1. Ring
(Tien)
Zilver
Goud
Zwart
Bruin1 1 101 = 10 ±1 %
Rood2 2 102 = 100 ±2 %
Oranje3 3 103 = 1.000
Geel 4 4 104 = 10.000
Groen 5 5 105 = 100.000 ±0,5 %
Blauw6 6 106 = 1.000.000 ±0,25 %
2. Ring
(Een)
0 100 = 1
3. Ring
(Multiplicator)
10−2 = 0,01 ±10 %
10−1 = 0,1 ±5 %
4. Ring
(Tolerantie)
Purper 7 7 107 = 10.000.000 ±0,1 %
Grijs8 8 108 = 100.000.000 ±0,05 %
Wit 9 9 109 = 1.000.000.000
De gekleurde ringen op de weerstanden geven de weerstandswaarde aan. Met een beetje oefening zijn ze duidelijk makkelijker te herkennen
dan heel kleine getallen, die men slechts nog op zeer oude weerstanden vindt.
De meeste weerstanden hebben vier dergelijke gekleurde ringen. De eerste twee gekleurde ringen betreffen de cijfers, de derde een
multiplicator en de vierde de tolerantie. Deze tolerantiering is meestal goud- of zilverkleurig, kleuren die niet voorkomen op de eerste
ringen. Daardoor is de leesrichting altijd eenduidig. De tolerantiewaarde zelf speelt in de digitale elektronica bijna geen rol. De tabel geeft
de betekenis weer van de gekleurde ringen op weerstanden.
Het maakt niet uit in welke richting een weerstand wordt ingebouwd. Bij LED's speelt de inbouwrichting daarentegen een belangrijke rol.
Voorzorgsmaatregelen
Nooit enige Arduino-pinnen met elkaar verbinden en afwachten wat er gebeurt.
Niet alle Arduino-pinnen laten zich vrij programmeren. Sommige zijn speciaal geconfigureerd voor
de stroomvoorziening en andere doeleinden.
Enkele Arduino-pinnen zijn direct met aansluitingen van de microcontroller verbonden, een
kortsluiting kan de Arduino volledig verwoesten - op z'n minst in theorie. De Arduino-printplaten
zijn verbazend resistent tegen schakelfouten. Indien men twee pinnen met elkaar verbindt via een
LED, dan moet er altijd een veiligheidsweerstand tussen worden geplaatst.
Voor logische signalen vereisen sommige Arduino-compatibele printplaten 3,3 V, andere 5 V. De
Nano in deze adventskalender maakt gebruik van een +5-V-signaal als logisch high of waar.
1. dag
Vandaag op de adventskalender
•Nano (Arduino-compatible insteekplaat)
Nano voorbereiden
Om de Nano in gebruikt te nemen, heeft men het volgende nodig:
•PC met Windows
•Micro-USB-kabel
•Driver
De PC en de Nano worden met behulp van een Micro-USB-kabel verbonden. U hoeft zo'n kabel niet extra te kopen, bijna alle moderne
smartphones gebruiken dit stekkertype. De kabel zal tegelijk voor de stroomtoevoer als voor de gegevensoverdracht worden gebruikt.
Sluit de kabel indien mogelijk aan een USB-2.0-aansluiting van uw PC aan, omdat het met een USB-3.0-aansluiting sneller tot
verbindingsproblemen zou kunnen komen.
Software-installatie in het kort
Zie hier de driver-installatie in vier stappen:
Installatie van de driver van het toestel.
1. Download het voorbeeldprogramma en de driver van het toestel op www.buch.cd. Vermeld voor dit product de code 15003-5 in het
invoerveld en volg de aanwijzingen op het scherm.
2. Pak het ZIP-archief uit in een map naar keuze in uw Windows-gebruikersmappen.
3. Sluit de Nano aan via de USB-Kabel en start de installatie van de driver met het bestand
CH341SER.EXE
. Voor de installatie moet u een
vraag naar het Windows-gebruikersaccountbeheer bevestigen.
4. Klik in het installatiedialoogvenster op Install en wacht tot de bevestiging verschijnt dat de driver geïnstalleerd wordt.
De LED knippert
Voor de meeste projecten in de adventskalender gebruiken we de gemakkelijk aan te leren programmeertaal Snap4Arduino. Ze kan in de
downloads van de adventskalender worden verkregen. Of download de huidige versie op snap4arduino.org .
instellingen
Het
-menu in Snap4Arduino.
Selecteer
Nederlands
in deze lijst.
Klik in Snap4Arduino op het Instellingen-symbool en selecteer Language in het menu.
Voor u met programmeren kunt beginnen, moet er een verbinding tussen de PC en de Nano worden gemaakt. Daarvoor is de bij de
adventskalender meegeleverde Nano de software StandardFirmata reeds geïnstalleerd.
Klik in Snap4Arduino links bovenaan op de blokpallet Arduino en klik op Met Arduino verbinden. Indien hier slechts een COM-interface
verschijnt, selecteer u deze. Indien er twee interfaces worden getoond, is de onderste in de meeste gevallen de juiste.
Bevestig het bericht met OK.
Interface voor de verbinding selecteren.
Fout bij het openen van een nieuw programma
Bij het openen van een nieuw programma in Snap4Arduino gaat de verbinding met de Arduino
vaak verloren. Indien er een fout zou optreden wanneer u een nieuw programma opstart, kunt u de
Nano met een klik opnieuw verbinden.
De verbinding met de Nano is geslaagd.
Het programma
In Snap4Arduino moet men bij het programmeren geen programmacode intikken. De blokken worden eenvoudig met drag-and-drop aan
elkaar gehangen. De blokpallet in het linker gedeelte van het venster bevat de beschikbare blokken die op thema zijn gerangschikt.
De programma's bij de adventskalender
De programma's bij de adventskalender kunt u op www.buch.cd downloaden of gewoon elke dag aan de hand van de afbeelding zelf
samenstellen. Pak het ZIP-bestand uit de download uit een map op de harde schijf. Klik vervolgens bovenaan links in
Snap4Arduino op het bestandssymbool en kies Importeren, om de programma's die in XML-formaat beschikbaar zijn, in
Snap4Arduino te importeren. De eenmaal geïmporteerde programma's zijn vervolgens beschikbaar in een eigen bibliotheek die in het
menu via Openen kan worden bereikt.
Het eerste programma
01led01
gebruikt de belangrijkste blokken:
Wanneer het groene vlaggetje van de batjesbesturing wordt aangeklikt, betekent dit de start voor de meeste programma's.
vertrekkend van de batjes-besturing is een eindeloze lus die voortdurend wordt herhaald.
Plaats de digitale pin... op... van de palet Arduino zet een van de digitale pinnen van de Nano op een logische waarde waar of niet waar. Het
groene blok voor logische waarden is op het batje Operatoren te vinden. De beide waarden waar en niet waar kunnen direct in het blok
worden omgeschakeld.
De LED aan pin 13
Voor statusweergaven zonder extra software beschikt de Nano over een eigen LED die via pin 13 kan worden gecontroleerd.
wacht.. Sec van de pallet Besturing laat het programma een bepaalde tijd tot de volgende stap wachten.
Zo werkt het programma
Het programma start wanneer de gebruiker rechts bovenaan op het groene vlaggetje klikt.
Het programma
01led01
laat de LED op de Nano kort knipperen.
Een doorlopende lus zorgt ervoor dat de LED eindeloos knipperen en wel zolang tot de gebruiker op het rode stopsymbool rechts bovenaan
in de Snap4Arduino klikt.
Nadat de LED 13 is uitgeschakeld, wordt er 0,01 seconde gewacht en zolang licht de LED op. Daarna wordt de LED aan pin 13 opnieuw
uitgeschakeld. Het programma wacht nu een halve seconde. Daardoor licht de LED steeds slechts voor korte tijd op en is daarna voor
relatief lange tijd uitgeschakeld. Vervolgens herhaalt de cyclus zich.
Opmerking: Decimaal punt
Snap4Arduino gebruikt, zoals zoveel Amerikaanse programma's, een punt als
decimaalteken en niet de in Duitsland gebruikelijke komma.
2. dag
Vandaag op de adventskalender
•1 Insteekprintplaat (SYB 46)
•1 LED rood met ingebouwde voorweerstand
Wisselknipperlicht
Een eenvoudig programma
02led02
laat twee LED's afwisselend knipperen.
LED-wisselknipperlicht aan de Nano.
Onderdelen: 1 insteekprintplaat, 1 LED rood met voorweerstand
Let er bij de opbouw van de schakeling op dat de kathode (korte draad) van de LED met de GND-pin verbonden is en de anode (lange
draad) met de D2-pin.
De Pinnen op de Nano
Alle pinnen met D… zijn digitale in- of uitgangen, die de waarden waar of niet waar (aan of uit) kunnen aannemen. De pinnen met A… zijn analoge ingangen.
GND-pinnen zijn massaleidingen. Arduino-compatibele printplaten werken
met verschillende spanningen en beschikken daarom standaard over twee
verschillende pluspinnen. Aan pin 3.3 is +3,3 V spanning aangesloten. Aan pin
5 V is +5 V spanning aangesloten. De Nano in de adventskalender vereist voor
een logisch waar-signaal +5 V, talrijke andere printplaten slechts +3,3 V.
Het programma
Het programma
02led02
laat de ingebouwde LED op de Nano en de extern aangesloten Led afwisselend knipperen.
Ee eenvoudig programma
02led02
laat twee LED's afwisselend knipperen.
Zo werkt het programma
Een doorlopende lus zorgt ervoor dat de beide LED's afwisselend eindeloos knipperen en wel zolang tot de gebruiker op het rode
stopsymbool rechts bovenaan in de Snap4Arduino klikt.
Nadat de ingebouwde LED aan pin 13 is ingeschakeld, wordt er 0,01 seconde gewacht zodat StandardFirmata geen bevel “verslikt”. Tussen
het plaatsen van de twee pinnen moet bij de meeste Arduino-compatibele printplaten altijd een wachttijd worden ingebouwd. Bij de Nano in
de adventskalender is dit niet absoluut noodzakelijk. Daarna wordt de LED aan pin 2 uitgeschakeld. Het programma wacht nu een halve
seconde.
Vervolgens wordt op dezelfde manier de LED aan pin 2 in- en de LED aan pin 13 uitgeschakeld. Na nog een halve seconde begint de cyclus
van vooraf aan.
3. dag
Vandaag op de adventskalender
• Schakeldraad (geïsoleerd)
Schakeldraad
De schakeldraad is nu in de adventskalender inbegrepen. Daarmee maakt u korte verbindingsbruggen waarmee contactrijen op
insteekprintplaat verbonden worden. Snijd de draad met een kleine kantensnijder op de passende lengte voor het experiment. Om de
draden beter in de insteekprintplaat te kunnen steken, is het aangeraden om ze lichtjes schuin af te snijden zodat er een kleine wig ontstaat.
Verwijder aan beide kanten ongeveer een halve centimeter isolatie.
LED-wisselknipperlicht aan de Nano.
LED's knipperen met een instelbare snelheid
Het experiment van de 3de Dag laat opnieuw twee LED's afwisselend knipperen. U kunt echter de snelheid instellen.
Onderdelen: 1 insteekprintplaat, 1 LED rood met voorweerstand, 1 draadbrug
De schakeling van vandaag toont een typische schakelingsopbouw op de insteekplaat. Een van de horizontale contactlijsten wordt als
aardingskabel gebruikt, die met de GND-pin op de Nano via een draadbrug verbonden is. Let er bij de opbouw van de schakeling op dat de
kathode (korte draad) van de LED in de aardingskabel steekt, de anode (lange draad) is bij deze schakeling met pin 10 verbonden.
Het programma
Het programma
externe LED afwisselend knipperen. De knipperfrequentie kunt u met een schuifregelaar op het beeldscherm controleren.
03led03
functioneert zoals dat van gisteren en laat de ingebouwde LED op de Nano en deze keer op pin 10 aangesloten
Het programma
03led03
laat twee LED's afwisselend met instelbare snelheid knipperen.
Zo werkt het programma
De doorlopende lus laat ook hier de beide LED's afwisselend eindeloos knipperen. In plaats van een door het programma vast ingestelde
tijd tussen het omschakelen wordt een variabele gebruikt.
Variabelen in Snap4Arduino
Variabelen zijn kleine opslagplaatsen waarin men tijdens een programma een getal of
iets anders kan vermelden. Wanneer het programma beëindigd wordt, wordt deze
variabele opslag opnieuw leeggemaakt. Variabelen moeten eerst in Snap4Arduino op
de commando-pallet Variabelen met de button Nieuwe Variabele worden gecreëerd
voor men ze kan gebruiken. Vervolgens kunt u het symbool van de nieuw gecreëerde
variabelen uit de blokpallet in een daarvoor voorzien veld van een blok in het
programma trekken. Op de blokpallet staan bijkomend verschillende blokken ter
beschikking om de variabelen uit te lezen en te veranderen.
Indien er een variabele wordt ingesteld, dan verschijnt er een oranje gekleurd symbool op het platform. Hier wordt op elk moment de
actuele waarde van de variabele weergegeven. Klik met de rechter muisknop op dit symbool en selecteer de optie Regelaar.
Via de opties minimale waarde en maximale waarde stelt u de waarden 1 en 10 in. Snap4Arduino kan met de schuifregelaars alleen gehele
getallen instellen, alhoewel de variabelen zelf om het even welke waarde kunnen aannemen.
In het programma wordt de ingestelde variabele z door 10 gedeeld om waarden tussen 0,1 en 1,0 seconde te bekomen. Op de blokpallet
Operatoren bevinden er zich blokken voor de verschillende grondberekeningen.
4. dag
Vandaag op de adventskalender
•1 LED groen met ingebouwde voorweerstand
LED's knipperen willekeurig.
Het experiment van de 4de Dag laat drie LED's in willekeurige volgorde knipperen. De beide externe LED's steken zeer dicht naast elkaar op
de insteekprintplaat omdat het programma de opeenvolgende pinnummers nodig heeft. De derde LED is de op de Nano-printplaat
gesoldeerde LED met pinnummer 13.
Drie LED's knipperen willekeurig.
Onderdelen: 1 insteekprintplaat, 1 LED rood met voorweerstand, 1 LED groen
met voorweerstand, 1 draadbrug
Het programma
Het programma
digitale pinnen na elkaar in- en uitgeschakeld. De pinnen worden deze keer willekeurig geselecteerd.
Hoe ontstaan toevallige getallen?
In het algemeen denkt men dat er in een programma niets toevallig kan
gebeuren. Hoe kan een programma dan zelf in staat zijn om willekeurige
getallen te produceren? Indien men een groot priemgetal deelt door om het
even welke waarde, ontstaande er vanaf de x-te plaats na de komma
getallen die nauwelijks voorspelbaar zijn. Ze wijzigen zich ook zonder enige
regelmaat wanneer men de deler regelmatig verhoogd. Dit resultaat dat
ogenschijnlijk toevallig is laat zich echter door een identiek programma of
het verschillende malen oproepen van het gelijke programma op elk
moment reproduceren. Neemt men echter een uit enige van deze cijfers
samengesteld getal en deelt men dat opnieuw door een getal dat uit de
seconde van actuele tijd bestaat of door de inhoud van een opslagplaats
naar keuze van de computer, geeft dit een resultaat dat zich niet laat
reproduceren en daarom als een willekeurig getal wordt beschouwd.
04led04
functioneert op dezelfde manier als het programma van gisteren. Ook hier wordt in een eindeloze lus verschillende
Het programma
04led04
laat de LED's toevallig knipperen.
Zo werkt het programma
Bij de start van elke cyclus van de eindeloze lus wordt de variabele n op een willekeurig getal tussen 11 en 13 gezet. Deze geeft het
pinnummer aan van de LED die moet worden uitgeschakeld. Daarvoor heeft de schakeling drie opeenvolgende pinnummers nodig.
De snelheid van de kleurwissel wordt met behulp van een variabele z gecontroleerd, die via een schuifregelaar wordt ingesteld en dan voor
elk schakelproces geldt.
De willekeurig gekozen LED wordt gedurende de ingestelde tijd ingeschakeld en daarna even lang uitgeschakeld. In de volgende luscyclus
wordt er opnieuw een willekeurige LED geselecteerd. Daarbij kan het voorvallen dat er verschillende malen na elkaar dezelfde LED oplicht.
5. dag
Vandaag op de adventskalender
•1 LED geel met ingebouwde voorweerstand
Verkeerslicht
Het experiment van de 5de dag schakelt een verkeerslicht met drie LED's in zijn typische cyclus van rood via rood/geel naar groen en via
geel terug naar rood.
Verkeerslicht bestaande uit drie LED's
Onderdelen: 1 insteekprintplaat, 1 LED rood met voorweerstand, 1 LED geel
met voorweerstand, 1 LED groen met voorweerstand, 1 draadbrug
Het programma
Het programma
digitale pinnen na elkaar in- en uitgeschakeld. In de tussenfases Rood/Geel en Geel brandt het verkeerslicht telkens 0,5 seconde, in de fasen
Rood en Groen telkens 3 seconden. Die tijden laten zich in het wacht...sec-blok ook anders instellen.
05verkeerslicht01
functioneert zoals het programma van de 3de dag. Ook hier worden in een eindeloze lus verschillende
Zo werkt het programma
Elke cyclus van de eindeloze lus start met de rode fase van het verkeerslicht, waarbij de gele en de groene LED uitgeschakeld zijn. Na 3
seconden wordt ook de gele LED bijkomend ingeschakeld. Na een korte Rood/Geel-fase van 0,5 seconde worden de rode en de gele LED
uit- en de groene ingeschakeld. De groene fase duurt 3 seconden en daarop volgt een gele fase van 0,5 seconde en de eindeloze lus start met
rood een nieuwe cyclus.
Het programma
05ampel01
laat de LED's afwisselend knipperen.
6. dag
Vandaag op de adventskalender
•1 knop
•1 10-kOhm-weerstand (bruin-zwart-oranje)
LED's met knoppen omschakelen
Het experiment van de 6de dag schakelt via een knop twee LED's om.
Een knop schakelt twee LED's om.
Onderdelen: 1 insteekprintplaat, 1 LED rood met voorweerstand, 1 LED groen
met voorweerstand, 1 knop, 1 10kOhm-weerstand (bruin-zwart-oranje), 3
draadbruggen (verschillende lengten)
Digitale pinnen kunnen niet alleen gegevens uitgeven, bijvoorbeeld via LED's, maar ook voor het ingeven van gegevens worden gebruikt.
Voor de ingave gebruiken we in dit project een knop die direct op de insteekprintplaat wordt gestoken. De knop beschikt over vier
aansluitpinnen waarbij elke twee tegenoverliggende (grootste afstand) met elkaar verbonden zijn. Zolang de knop ingedrukt is, zijn alle vier
de aansluitingen met elkaar verbonden. In tegenstelling tot een schakelaar, klikt een knop niet vast. De verbinding wordt bij het loslaten
onmiddellijk opnieuw onderbroken.
Komt er een +5-V-signaal aan, dan wordt het logisch als waar beschouwd.
Schakelschema van een knop met een pull-down-weerstand.
Bij open knop heeft de ingang geen eenduidig gedefinieerde toestand. Wanneer een programma deze pin controleert, kan het tot toevallige
resultaten komen. Om dat te verhinderen koppelt men een relatief zeer hoge weerstand - gewoonlijk 10 kOhm - aan de massa. Deze
zogenaamde pull-down-weerstand brengt de status van de ingangspin bij geopende knop opnieuw naar beneden op 0 V. Omdat de
weerstand zeer hoog is, bestaat er ook geen gevaar op kortsluiting zolang de knop is ingedrukt. Indien de knop ingedrukt is, zijn +5 V en de
massakabel direct met de weerstand verbonden.
Het programma
Het programma
ingedrukt is, brandt alleen de rode LED.
06led06
schakelt wanneer de knop is ingedrukt, de groene LED aan pin 8 aan en de rode aan pin 12 uit. Zolang de knop niet
Het programma
06led06
schakelt twee LED's om met een knop.
Zo werkt het programma
Een indien…dan…-blok van de blokpallet Besturing voert het blok in de bovenste brugplaat alleen uit wanneer het resultaat van het verzoek
naar de waarde waar is. In het andere geval worden de blokken in de onderste brugplaat uitgevoerd.
Een verzoek leest via een blok van de blokpallet Arduino de waarde van de digitale pin 3 uit en controleert of ze waar is. Digitale ingangen
kunnen alleen de waarden waar en niet waar aannemen.
Indien de waarde waar is, is de knop ingedrukt. In dit geval wordt de LED aan pin 8 in- en die aan pin 12 uitgeschakeld. Indien de toets niet
ingedrukt is, heeft pin 3 de waarde niet waar, en de LED's worden precies omgekeerd geschakeld.
7. dag
Vandaag op de adventskalender
•1 LED rood met ingebouwde voorweerstand
LED dimmen
Het experiment van de 7de dag dimt een LED.
Een LED wordt gedimd en de tweede brandt met relatief volledige helderheid.
Onderdelen: 1 insteekprintplaat, 2 LED's rood met voorweerstand, 1
draadbrug
LED's zijn typische componenten voor de uitgave van signalen in de digitale elektronica. Ze kunnen twee verschillende toestanden
aannemen, aan en uit, 0 en 1 of niet waar en waar. Hetzelfde geldt voor de als uitgang gedefinieerde pinnen. Daarom zou het theoretisch
onmogelijk zijn om een LED te dimmen.
Met een truc lukt het echter om de helderheid van een LED aan een digitale pin te regelen. Indien men een LED snel genoeg laat knipperen,
neemt het menselijk oog dit niet meer als knipperen waar. De techniek genaamd pulsbreedtemodulatie (PBM) creëert een pulserend signaal
dat zich in zeer korte afstanden in- en uitschakelt. De signaalspanning blijft altijd gelijk, alleen de verhouding tussen level niet waar (0 V) en
level waar (+3,3 V) wordt veranderd. De knopverhouding geeft de verhouding van de lengte van de ingeschakelde toestand ten opzichte van
de volledige duur van een schakelcyclus aan.
Hoe kleiner de knopverhouding, hoe korter de oplichttijd van een LED binnen een schakelcyclus. Daardoor werkt de LED donkerder dan
een permanent ingeschakelde LED.
Pinnen voor PBM-signalen
De pinnen 3, 5, 6, 9, 10 en 11 zijn op de schakelbeelden van een '-symbool voorzien. Deze pinnen
kunnen voor pulsbreedtemodulatie gebruikt worden. Snap4Arduino biedt de anderen pinnen in
blok Zet pin... op... ook helemaal niet als keuze aan.
Het programma
Het programma
helderheid op.
07pwm01
dimt de LED aan pin 9 cyclisch helderder en donkerder aan. De LED aan pin 12 licht ter vergelijking met volledige
Het programma
07pwm01
dimt een LED aan de PBM-uitgang aan.
Zo werkt het programma
Bij het begin wordt pin 12 als digitale pin op waar ingesteld. Vervolgens worden twee variabelen gedefinieerd: helder bepaalt de PBMwaarde voor de helderheid van de LED, en stap geeft de lengte van de stappen bij het dimmen aan. De actuele waarde van beide variabelen
worden in realtime rechts bovenaan op het platform getoond. Nu begint een eindeloze loop. Eerst wordt bij elke luscyclus de actuele waarde
van de variabele helder als PBM-waarde op pin 9 uitgegeven. Vervolgens wordt de waarde van de variabele helder met de waarde stap
verhoogd.
In de volgende stap wordt gecontroleerd of de waarde van helder de grens 0 of 100 al dan niet bereikt heeft. In dit geval wordt een of-blok
gebruikt, dat opnieuw over plaats voor twee extra verzoeken beschikt. Indien van deze twee tenminste een waar is, geeft het of-blok de
waarde waar weer en de inhoud van het indien-blok wordt uitgevoerd.
Twee gelijktijdige verzoeken controleren of de waarde van de variabelen helder de waarde 0 of 100 heeft bereikt. Indien dit het geval is,
wordt de variabele stap op een nieuwe waarde gezet. Omdat Snap4Arduino niet de mogelijkheid biedt om het voorteken van een variabele
om te keren, gebruiken we de operator minteken en trekken de waarde van 0 af, wat hetzelfde resultaat oplevert. Op het moment waarop de
richting omkeert en de LED dus ofwel volledig helder of volledig donker is, wacht het programma een halve seconde.
Tenslotte wacht het programma in elke luscyclus 0,05 seconden. Vervolgens start de eindeloze lus opnieuw en levert het aan de LED's een
nieuwe PMW-waarde.
8. dag
Vandaag op de adventskalender
•1 LED groen met ingebouwde voorweerstand
Voetgangerslicht
Het experiment van de 8ste dag schakelt een voetgangerslicht via een knop. Bij het drukken op de knop start de typische verkeerslichtcyclus
van een voetgangerslicht. In ruststand is het voetgangerslicht rood en het verkeerslicht groen.
Een knop schakelt het voetgangerslicht.
Onderdelen: 1 insteekprintplaat, 2 LED's rood met voorweerstand, 1 LED geel
met voorweerstand, 2 LED's groen met voorweerstand, 1 knop, 1 10kOhmweerstand (bruin-zwart-oranje), 3 draadbruggen (verschillende lengten)
Het programma
Het programma
het verkeerslicht in startpositie gebracht. Het voetgangerslicht is rood en het verkeerslicht groen. Wanneer men op de knop drukt begint de
cyclus te lopen. Na een cyclus wacht het programma opnieuw tot er opnieuw op de knop wordt gedrukt.
08verkeerslicht02
controleert met een boetseerkleicontact een voetgangerslicht. Door op het groene vlagje te klikken wordt
Loading...
+ 37 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.