kurze Verständnisfrage

Warum wird auf meiner V1 variable kein HIGH zugewiesen?
Wenn ich den seriellen Monitor öffne erhalte ich für V1 0.

Gruß Frank

int S1=12;
bool V1;

void setup() {
  
Serial.begin(9600);
pinMode(S1, INPUT_PULLUP);

}

void loop() {
  
V1=digitalRead(S1);

Serial.println(digitalRead(V1));




}

Weil sie bool ist, also True oder False.

Die werden ja über 1 und 0 abgebildet.

@TO: Was hast Du denn an Pin 12 dran?

Gruß Tommy

Hallo,

wie hast Du den Schalter angeschlossen ?

muss zwischen pin und GND in dem Fall , Wenn Du so einen kleinen Button Schalter hast mit 4 Kontakten , prüfen , eventuell ist der falsch angeschlossen . Nimm manl den Draht weg , dann sollte die Ausgabe auf dem Monitor "1" sein.

Heinz

fraaaaank:
Warum wird auf meiner V1 variable kein HIGH zugewiesen?
Wenn ich den seriellen Monitor öffne erhalte ich für V1 0.

V1=digitalRead(S1);

hier wird Pin 12 ausgelesen, und ist entweder 0 oder 1 (je nach Zustand)

Serial.println(digitalRead(V1));

hier wird dann dementsprechend Pin 0 oder Pin 1 ausgelesen und ausgegeben.

Ich denke mal du wollest:

Serial.println(V1);

machen.

fraaaaank:
Warum wird auf meiner V1 variable kein HIGH zugewiesen?

int S1=12;

bool V1;
void setup() {
Serial.begin(9600);
pinMode(S1, INPUT_PULLUP);
}
void loop() {
V1=digitalRead(S1);
Serial.println(digitalRead(V1));
}

Moko hat Deinen Fehler schon gefunden, aber es könnte auch sein, das Du nicht den ermittelten, sondern den Momentanwert ausgeben möchtest, dann wäre

Serial.println(digitalRead(S1));

die richtige Variante.

Danke für die Antworten. Habe am Pin 12 einen Taster der gegen Masse ist, angeschlossen und möchte den aktuellen Zustand über den Monitor auslesen.

Wenn nichts angeschlossen ist gibt er mir das Signal 1 (HIGH)aus aber wenn ich diesen Zustand auf meine Variable V1 übertragen möchte, ändert er diesen in 0(LOW) siehe Bild(digitalRead()). Meine Frage ist nur warum?

Das wurde Dir doch bereits in #4 gesagt.

Gruß Tommy

fraaaaank:
Wenn nichts angeschlossen ist gibt er mir das Signal 1 (HIGH)aus aber wenn ich diesen Zustand auf meine Variable V1 übertragen möchte, ändert er diesen in 0(LOW) siehe Bild(digitalRead()). Meine Frage ist nur warum?

Weil Du in Serial.println mit digitalRead den PIN V1 ausliest und nicht den Inhalt der Variablen V1 ausgibst.

https://www.arduino.cc/reference/de/language/functions/digital-io/digitalread/