Hi,
in der Referenz steht das Beispiel, bei dem das Ergebnis des digitalRead in einer int-Variable gespeichert wird:
int ledPin = 13; // LED connected to digital pin 13
int inPin = 7; // pushbutton connected to digital pin 7
int val = 0; // variable to store the read value
void setup()
{
pinMode(ledPin, OUTPUT); // sets the digital pin 13 as output
pinMode(inPin, INPUT); // sets the digital pin 7 as input
}
void loop()
{
val = digitalRead(inPin); // read the input pin
digitalWrite(ledPin, val); // sets the LED to the button's value
}
Als Rückgabe bekommt man ja eh nur HIGH oder LOW.
Ich hab jetzt mal probiert, statt einer "int" eine "boolean" zu verwenden. Sieht bei mir so aus:
const int S_AUF = 8;
boolean S_AUF_act;
pinMode(S_AUF, INPUT_PULLUP);
S_AUF_act = !digitalRead(S_AUF);
Serial.println(S_AUF_act);
Klappt auch. Bekomme "0" und "1". je nachdem, ob ich den Eingang offen lasse ("0"), oder auf GND ziehe("1").
Ist das Zufall? Eigentlich reicht ja eine boolsche Variable. Und mit der kann man dann sowieso einfacher weiterarbeiten.
gruß/hk007