UND - Abfrage

Gast #5544904
Lesenswert?

Hallo alle zusammen, hoffe Ihr könnt mir weiterhelfen!

Würde gerne mehrere Eingänge mit der UND Verknüpfung abfragen

z. B. :
Eingang1 UND  Eingang2 UND Eingang3 sind Low DANN soll Ausgang1 Low 
werden.

Also sollte das irgendwie in einer IF Bedingungen drinstehen oder lieg 
ich da mit meiner Annahme falsch?

Weiteres bräuchte ich einen Coder der Überprüft ob:

Eingang1 ist NICHT Low Eingang2 UND Eingang3 Low ist, DANN soll Ausgang1 
High werden.

Müsste diese aber dann auf 10 Eingänge und 8 Ausgänge erweitern können,
aber ich weiß jetz nicht wirklich wie ich alles Deklarieren muss und 
habe mich gefragt ob jemand lust hat mir vielleicht einen Code zu 
schreiben, dass ich es danach verstehe.

Würde mich über eine Antwort freuen.
Beitrag #5544911 wurde von einem Moderator gelöscht.
Gast #5544961
Lesenswert?

Kannst Du nicht die Aufgabe Deines Lehrers hier reinstellen?

Ansonsten zeige, was Du schon kannst:

0) ein Hallo Welt, hier ein leeres Programm im Einzelschritt im Debugger 
laufen lassen?
1) einen Ausgang setzen?
2) einen Ausgang in Abhängigkeit eines Eingangs setzen?
3) 2 Eingänge "verknüpfen"?

0 natürlich nur, wenn ihr es auch ausprobieren sollt.
#5545018
Lesenswert?

So zuerst mal pin 0 und 1 kannst du nur wenn du rx und TX nicht brauchst 
nutzen.
Was dein problem angeht kann man das so machen.
Ich habe dir mal ein beispiel zusammen gezimmert (ohne zu testen) 
welches Taster / Eingänge abfragt)

&& heist in dem Fall muss alles LOW oder HIGH sein (kannst du aber nach 
belieben ändern oder erweitern.

void setup() {
  pinMode(2, INPUT_PULLUP); // (für taster = INPUT_PULLUP // Und für 
Spannungsänderungen nur INPUT.
  pinMode(3, INPUT_PULLUP); // Oder besser gesagt INPUT_PULLUP gibt eine 
spannung für einen Taster aus.
  pinMode(4, INPUT_PULLUP); // Und nur INPUT erwartet eine Spannung von 
außen ( Pulldown/pullup widerstand nicht vergessen)
  pinMode(5, INPUT_PULLUP);
  pinMode(13, OUTPUT); // LED auf dem UNO leuchtet / oder nicht
}

void loop() {
  if ((digitalRead(2) == LOW) &&  (digitalRead(3) == LOW) && 
(digitalRead(4) == LOW) &&  (digitalRead(5) == LOW)) {
    digitalWrite(13, LOW); // LED AUS
  }

  if ((digitalRead(2) == HIGH) &&  (digitalRead(3) == HIGH) && 
(digitalRead(4) == HIGH) &&  (digitalRead(5) == HIGH)) {
    digitalWrite(13, HIGH); // LED An
  }

  delay(1000); // Eine warte zeit von 1000 ms / 1 sek
}

Ich hoffe das ist das gesuchte.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren