Als je de tutorial van analogWrite gelezen hebt weet je dat signalen analoog kunnen zijn (theoretisch oneindig aantal toestanden kunnen aannemen) of binair / digitaal waarbij er slechts een beperkt aantal toestanden mogelijk zijn. Bij binair heb je te maken met 2 toestanden namelijk “AAN” of “5V” of “1” als eerste mogelijkheid en “UIT” of “0V” of “0” als tweede mogelijkheid. De 3 benamingen van een bepaalde toestand wordt door elkaar gebruikt.
Gebruik : Voor een LED te kunnen aan of uitschakelen of een motor aan of uitschakelen of een andere output aan of uit te schakelen.
Mogelijkheden : Er zijn twee mogelijkheden digitalWrite(uitgangnaam,LOW) zorgt voor 0V op de respectievelijke pin zodat bij normale logica het toestel uit is. digitalWrite(uitgangnaam,HIGH) zorgt voor het tegenovergestelde effect.
Uittesten van verschillende mogelijkheden :
Voor deze test heb je nodig :
1 Arduino Uno (of Nibble of Leonardo)
1 STEM shield
Niveau :
1e en 2de graad secundair (elektronica / engineering)
voorbeeldprogramma :
int LEDR1 = 3;
int LEDR2 = 17;
void setup() {
pinMode(LEDR1,OUTPUT);
pinMode(LEDR2,OUTPUT);
}
void loop() {
digitalWrite(LEDR1,HIGH);
digitalWrite(LEDR2,LOW);
delay(500);
digitalWrite(LEDR1,LOW);
digitalWrite(LEDR2,HIGH);
delay(500);
}
Bij dit programma zullen beurtelings de rode LEDs oplichten, elke LED zal een halve seconde oplichten alvorens van toestand te veranderen. De eerste 500 bij delay zal ervoor zorgen dat de eerste rode LED 500ms aan staat waarna de eerste rode LED uitgeschakeld wordt door deze op LOW te zetten en de tweede rode LED aangeschakeld wordt door deze op HIGH te zetten. Na weer een halve seconde te wachten begint het programma opnieuw.
Het is hierbij perfect mogelijk om de ene LED niet even lang als de andere LED te laten oplichten.
Als je toch nog een uitgang vind die niet digitaal werkt of je wil een LED dimmen dan moet je in plaats van de LED zeer snel aan en uit te schakelen zodat deze gedimd lijkt gebruik maken van analogWrite, dit is eenvoudiger dan zelf een programma te schrijven die hetzelfde effect heeft.
Volgende les : toepassing van een verkeerslicht
Hier de uitleg hoe je een verkeerslicht kan programmeren.
Vorige les : KAEDU testen
Dankzij het testprogramma kan je je STEM shield dat je zelf gesoldeerd hebt testen.
5 reacties op “Arduino Tutorial : digitalWrite()”-
-
-
-
-
Tutorial : Arduino programmeertaal codewoorden – Projects4edu
(5 mei 2017 - 08:57)[…] je maar 2 toestanden. De LED kan dus enkel AAN of UIT zijn. Het eenvoudigste is uiteraard digitaal. DIGITAAL : digitalWrite() ANALOOG : […]
Overzicht tutorials en demonstraties – Projects4edu
(26 juli 2017 - 14:41)[…] : 1) verkeerslichten aansturen. 2) machinetoren aansturen 3) aftelklok met 7 segment. Tutorial : 1) digitalWrite() : Het aanschakelen van LEDS. 2) analogRead() : Het inlezen van sensoren. 3) Het aansturen van een SERVO. 4) Toon genereren met […]
1 Verkeerslicht (code) – Projects4edu
(26 juli 2017 - 15:18)[…] Het meest gebruikte woord bij het programmeren is digitalWrite, dit is omdat je het vaakste een uitg… […]
KAEDU Testprogramma – Projects4edu
(31 juli 2017 - 18:57)[…] In deze vervolgles wordt digitalWrite() verder besproken, het is een verderzetting op het voorbeeld blink maar nu specifiek toegepast op het KAEDU STEM shield. […]
Overzicht tutorials en demonstraties – Projects4edu
(4 mei 2018 - 06:09)[…] : 1) verkeerslichten aansturen. 2) machinetoren aansturen 3) aftelklok met 7 segment. Tutorial : 1a) digitalWrite() : Het aanschakelen van LEDS. 1b)Programmeren van 1 verkeerlicht, nog een toepassing op digitalWrite in combinatie met delay. 2) […]