Im nächsten Kapitel bzw. Projekt dreht sich alles darum, einen Sensor respektive Taster abzufragen. Dabei wird auch auf das Thema Pull-Down/-Up Widerstände und Spannungsteiler eingegangen. Damit die Schaltungen ordnungsgemäß funktionieren, ist es notwendig die Eingänge an einen definierten Pegel anzulegen. Die Pegel haben zwar eine kleine Toleranz in ihrer Eingangsspannung, aber wir wollen ja korrekt arbeiten.
Low-Pegel 0.0V – 0.8V
High-Pegel 2.0V – 5.0V
Wie man sieht, ist dazwischen ein unbestimmter Bereich, der vermieden werden sollte.
Die Schaltung ist auch hier wieder relativ unspektakulär. Lediglich die Drahtbrücken lassen es etwas aufwendiger erscheinen
Der Sketch sah dann wie folgt aus:
int tasterpin = 8;
int tasterstatus;
void setup() {
pinMode(ledpin,OUTPUT);
pinMode(tasterpin,INPUT);
}
void loop() {
tasterstatus = digitalRead(tasterpin);
if(tasterstatus == HIGH)
digitalWrite(ledpin,HIGH);
else
digitalWrite(ledpin,LOW);
}
Also immer noch eine ganz simple und einfach nachvollziehbare Struktur / Funktion.
Als kleine Modifikation in eigener Sache, könnte man nun eine blinkende LED realisieren, wenn man den Taster gedrückt hält. Und den Taster auch gleichzeitig als Ein-/Ausschalter nutzbar machen.
Den Sketch habe ich dafür wie folgt etwas angepasst
tasterstatus = digitalRead(tasterpin);
if(tasterstatus == HIGH)
{
if(ledstatus == HIGH){
digitalWrite(ledpin,LOW);
ledstatus = LOW;
delay(250);
}
else{
digitalWrite(ledpin,HIGH);
ledstatus = HIGH;
delay(250);
}
}
}
Es ist nicht ganz ausgereift, aber durch Spielerei lernen wir ja eh am besten. Darum heißt es auch Learning by Doing