Forum: Mikrocontroller und Digitale Elektronik UND - Abfrage


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von STD21 (Gast)


Bewertung
-3 lesenswert
nicht 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.
von Dieter F. (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
STD21 schrieb:
> Würde mich über eine Antwort freuen

Du hast Dich im Tag vertan - heute ist Montag. Warte bitte auf Freitag, 
dann kannst Du damit loslegen - es gibt bestimmt einige, die sich 
veralbern lassen :-)

von STD21 (Gast)


Bewertung
-2 lesenswert
nicht lesenswert
Warum veralbern?

von foobar (Gast)


Bewertung
2 lesenswert
nicht lesenswert
Erstmal zeigen, was du selbst schon hast ... (inkl, was für ne Hardware)

von Jörg R. (solar77)


Bewertung
-1 lesenswert
nicht lesenswert
STD21 schrieb:
> Warum veralbern?

Ein Thread, ein Username!

Weshalb sollte Dir jemand einen Code schreiben wenn Du das Problem durch 
etwas googeln selbst lösen könntest? ...wenn es überhaupt ernst gemeint 
ist...?

: Bearbeitet durch User
von H.Joachim S. (crazyhorse)


Bewertung
2 lesenswert
nicht lesenswert
Was würde dir ein Codeschnipsel in einer beliebigen Sprache nutzen? Wenn 
du das einfache Problem nicht selber lösen kannst, hilft dir das eh 
nichts.
Versuchs mit einem 74LV1CG32 in Hardware.

von STD21 (Gast)


Bewertung
-3 lesenswert
nicht lesenswert
Brauchte es für einen Arduino hab ich vergessen

von Rufus Τ. F. (rufus) (Moderator) Benutzerseite


Bewertung
3 lesenswert
nicht lesenswert
STD21 schrieb:
> Brauchte es für einen Arduino hab ich vergessen

Entscheide Dich: Willst Du in diesem Thread als Gast posten oder willst 
Du Dein Benutzerkonto "dstemberger" verwenden?

Nur eines ist erlaubt, lies Dir das hier durch:

https://www.mikrocontroller.net/user/conditions

von A. S. (achs)


Bewertung
2 lesenswert
nicht 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.

von DAVID B. (bastler-david)


Bewertung
-1 lesenswert
nicht 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.

: Bearbeitet durch User
von M.A. S. (mse2)


Bewertung
-1 lesenswert
nicht lesenswert
H.Joachim S. schrieb:
> Versuchs mit einem 74LV1CG32 in Hardware.

Bist Du gemein! Schlägst ihm ein ODER-Gatter vor...   :D

von Nop (Gast)


Bewertung
0 lesenswert
nicht lesenswert
"Plz send teh codez"(tm).

von Thomas E. (picalic)


Bewertung
2 lesenswert
nicht lesenswert
M.A. S. schrieb:
> Schlägst ihm ein ODER-Gatter

Das Ding hat der Hersteller doch nur falsch bezeichnet! In Wahrheit ist 
es doch ein UND: wenn Eingang 1 UND Eingang 2 low sind, ist der Ausgang 
low - k.A. wieso das Ding als ODER bezeichnet wird - muss wohl ein 
Fehler in der Doku sein... ;)

: Bearbeitet durch User
von Erich (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Thomas E. schrieb:
> In Wahrheit ist
> es doch ein UND:

Jaja, negative Logik.

https://elektroniktutor.de/digitaltechnik/nand_nor.html

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.