Spaceship interface Project 2 blz 33. terug naar de inleiding
De schets maakt gebruik van digitale pinnen 2, 3, 4 en 5.
Pin 2 is een inputpin die via een pull-down resistor van 10 Kilo ohm "0" als ingangsignaal heeft.
Pin 2 wordt uitgelezen met digitalRead(2);
Een ezelsbruggetje: De stroom door de LED (Light Emitting Diode) loopt van onder naar boven, of van klein naar groot
Aanpassingen van de code en hardware
1) middels een pull-up resistor de input van pin 2 op "1" zetten
2) een knipperende led toevoegen
// De toestand van de drukknop als globale variabele "schakeltoestand" declareren
// "schakeltoestand" een beginwaarde geven (is initiƫren)
// initiƫren is niet nodig omdat de pin toch in digitalRead wordt uitgelezen.
// Je kan "schakeltoestand" niet in setup declararen !!
int schakeltoestand = 0;
void setup() {
//pinnen 3, 4 en 5 declareren als outputpinnen
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
//pin 2 declareren als inputpin
pinMode(2, INPUT); //dit hoeft niet omdat de pinnen default op output staan !!
}
void loop() {
//Als de knop is ingedruk staat er op pin 2 5 volt dan is de input van pin 2 HIGHT
//pin 2 zet de 5 volt om naar een digitale 1
//digitalRead leest deze waarde uit en stopt deze in de variabele "schakeltoestand"
schakeltoestand = digitalRead(2);
//LOW en HIGH zijn systeem constanten waarbij LOW = 0; en HIGH = 1;
//Dus ipv LOW en HIGH mag je ook 0 of 1 invoeren
//als de knop niet is ingedrukt wordt dit deel van het if statement doorlopen
if (schakeltoestand == LOW) {
digitalWrite(3, HIGH); // led op pin 3 staat aan
digitalWrite(4, LOW); // led op pin 4 staat uit
digitalWrite(5, LOW); // led op pin 5 staat uit
//Als de knop is ingedrukt wordt dit deel van het if statement doorlopen
//Led 3 wordt uitgeschakeld en led 4 en 5 gaan afwisselend aan en uit
}
else
{
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, HIGH);
// wacht 25 miliseconden
delay(250);
digitalWrite(4, HIGH);
digitalWrite(5, LOW);
// wacht 25 miliseconden
delay(250);
}
}