Les 4: En/Of Functie
Functie na opstelling
Als de opstelling correct gebouwd is volgens de bouwtekening en de code geüpload is zal het lampje gaan branden als je één van de twee knopjes ingedrukt hebt. Dit kan handig zijn als je op twee plekken een knopje wilt plaatsen. Dit kan door middel van een “if” functie met een vergelijking. In de if functie wordt gekeken of knop 1 OF knop 2 ingedrukt is. Dat is mogelijk gemaakt door de tekens || tussen de toestandsknop waardes te zetten. De || tekens werken als een OF.
Opstelling

Code
/*
Autheur: Fun met Electronica
Link: https://training.funmetelectronica.nl/docs/arduino-basis/lessen/les-4-en-of-functie/
Beschrijving: Soms wil je met meerdere knoppen één actie uit laten voeren.
Dat kan met een "en" en "of" functie.
In deze sketch zien we de "of" functie werkt.
*/
int knop1 = 2; // knop aan pin 2
int knop2 = 3; // knop aan pin 3
int led = 13; // led aan pin 13
int toestandknop1 = 0; // variabele voor het lezen van de knop 1
int toestandknop2 = 0; // variabele voor het lezen van de knop 2
/*
Het programmablok void setup wordt eenmaal beschreven
*/
void setup() {
pinMode(led, OUTPUT); // ledpin is output
pinMode(knop1, INPUT); // knop1 is input
pinMode(knop2, INPUT); // knop2 is input
}
/*
Het programmablok void loop herhaalt zich keer op keer
*/
void loop() {
toestandknop1 = digitalRead(knop1); // toestandknop is de waarde van knop1
toestandknop2 = digitalRead(knop2); // toestandknop is de waarde van knop2
if (toestandknop1 == HIGH || toestandknop2 == HIGH) { // controleer of de knop 1 OF 2 ingedrukt is
digitalWrite(led, HIGH); // indien 1 of 2 ingedrukt: led aan
} else {
digitalWrite(led, LOW); // anders: led uit
}
}
Code zonder commentaar
int knop1 = 2;
int knop2 = 3;
int led = 13;
int toestandknop1 = 0;
int toestandknop2 = 0;
void setup() {
pinMode(led, OUTPUT);
pinMode(knop1, INPUT);
pinMode(knop2, INPUT);
}
void loop() {
toestandknop1 = digitalRead(knop1);
toestandknop2 = digitalRead(knop2);
if (toestandknop1 == HIGH || toestandknop2 == HIGH) {
digitalWrite(led, HIGH);
} else {
digitalWrite(led, LOW);
}
}
Opdrachten
Opdracht 1
Verander de sketch zo dat: De lamp juist aan gaat als de knop 1 EN 2 wordt ingedrukt. Kijk op de tutorial-site bij Introductie Programmeren voor de tekens. Deze link brengt je naar de Introductie Programmeren. Relevant voor ons is het gedeelte Logische Berekeningen.