Leer doelstellingen
- Wat zijn digitale signalen?
- Digitale pinnen als uitgang configureren
- Een hoge of lage waarde naar een digitale pin schrijven die als uitgang geconfigureerd is.
- Een vertraging inbouwen
Materialen
In dit voorbeeld maken we gebruik van:
- De microcontroller
- De leduitbreiding (D4)

Indien je niet gebruik maakt van de Grove kit kan je gebruik maken van een Arduino Uno of variant om volgende schakeling op te bouwen.
Hiervoor heb je de volgende materialen nodig:
- Arduino Uno/Nano/...
- Breadboard
- 220Ω weerstand
- Led
- jumper kabels

Digitale signalen

Digitale signalen veranderen enkel op bepaalde momenten en kunnen slecht bepaalde waarden aannemen tussen een onder- en bovengrens. We zeggen daarom dat ze gekwantiseerd zijn en discreet in de tijd.
Discreet: discrete signalen kunnen slechts veranderen op bepaalde momenten. Bij digitale elektronica wordt dit aangegeven met behulp van clockpulsen. Bij elke puls gebeurt er een bewerking en kan het signaal veranderen. Er is geen data beschikbaar over de toestand van het signaal tussen 2 clockpulsen.
Gekwantiseerd: digitale signalen worden voorgesteld door binaire data. De kleinste waarde die kan veranderen is de waarde die 1 bit voorstelt.
vb. een arduino heeft ingebouwd een 10bit ADC. De kleinste waarde 0V wordt dus voorgesteld door 0000000000, de grootste waarde door 1111111111. De kleinste verandering die gemeten kan worden is de verandering van de minst beduidende bit (meest rechtse 000000000X).
Om van 0000000000-->0000000001 moet er dus een bepaalde spanning overschreden worden.
resolutie = 5/1023 = 4.88mV
Een arduino kan dus enkel veelvouden meten van 4.88mV
Code
//Constante om de ledPin bij te houden const int ledPin = 4;
void setup(){
//Start de seriële poort tegen 9600 bps Serial.begin(9600); //Stel ledPin in als uitgang pinMode(ledPin, OUTPUT);
}
void loop(){
//Zet de ledPin hoog digitalWrite(ledPin, HIGH); //Wacht 1s delay(1000); //Zet de ledPin laag digitalWrite(ledPin, LOW); //Wacht 1 seconde delay(1000);
}
|
setup()
pinMode(pinnr, OUTPUT) |
digitale pin als uitgang instellen |
loop()
digitalWrite(pinnr, HIGH/LOW) |
digitale waarde naar een digitale uitgangspin schrijven |
delay(miliseconden) |
vertraging van een aantal miliseconden. Gedurende deze tijd doet de microcontroller niks, ook niet luisteren naar ingangen of userinput. |
Conclusie
- Digitale signalen zijn discreet en gekwantiseerd
- pinMode stelt de pin in als in-/uitgang
- digitalWrite schrijft een digitale waarde naar een digitale uitgangspin
- delay bouwt een vertraging in waarbij de microcomputer niks meer doet.