ArduinoGoed/fout knop
Dit is soort controle programma. De rode LED zal continue branden. Als je op de knop drukt zal de groene LED aangaan. Als je de knop weer los laat, dan zal de rode LED weer aangaan.
In treinen zit de dodemansknop. Dit is een knop die vroeger continue door de machinist (de bestuurder van een trein) moest worden ingedrukt. Het idee hierachter was dat als de machinist de knop zou loslaten hij waarschijnlijk ziek/dood/zwak/misselijk zou zijn, en dat dan de trein dus zou moeten stoppen.
De dodemansknop zit nog steeds in treinen. Alleen nu klinkt er af en toe een geluidje dan moet de machinist de knop pas even indrukken en daarna weer loslaten. Hiermee voorkomen ze dat machinisten een baksteen op de knop zouden kunnen leggen.
ArduinoBreadboard

ArduinoSource code
/* Good/wrong (C) copyright www.punthooft.nl 2019 */ // Constants const int ledGreen = 2; const int ledRed = 3; const int button = 4; // Variables int buttonState = 0; // Setup function runs once when powerup the board and on reset void setup() { pinMode(ledGreen,OUTPUT); pinMode(ledRed,OUTPUT); pinMode(button,INPUT); // Let each LED flash for a moment, to test the connection for(int pinNumber = 2; pinNumber <= 3; pinNumber++) { digitalWrite(pinNumber,HIGH); delay(100); digitalWrite(pinNumber,LOW); } } // The loop function runs over and over again forever void loop() { buttonState = digitalRead(button); if (buttonState == HIGH) { digitalWrite(ledGreen, HIGH); digitalWrite(ledRed, LOW); } else { digitalWrite(ledGreen, LOW); digitalWrite(ledRed, HIGH); } }
ArduinoOpmerkingen
De LEDs zitten aangesloten op de poorten 2 en 3, deze zijn gedefinieerd als OUTPUT.
De gebruikte weerstanden zijn 220 Ohm
De button is aangesloten op poort 4 en gedefinieerd als INPUT. Inkomende waarden worden hier gelezen, door het digitalRead commando.
