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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.