Hilfe bei laufzeit

Hallo,

@ Latzefratz:
dann haste das schon richtig korrigiert. :slight_smile: Nur das du die 2 neuen define Zeilen nicht benötigst, wenn du weiterhin mit High / Low klar kommst. Ich möchte dich jetzt nicht weiter durcheinander bringen damit. Wenn du bei high / low bleibst, kannste darauf verzichten. Wenn du mit ein/aus besser klar kommen würdest, erklärt dir das agmue ganz sicher im Detail was es damit auf sich hat.

@ agmue:
so so, dir macht das also Spass. :slight_smile:
Meinetwegen, ich rolle den Ball zurück. Ich denke das mit dem Relaisboard bringt mehr Verwirrung. Aus meiner Sicht bleibt das ein ODER. Ich habe den Ausgang negiert. Es wird zum NOR. Dieses Morgansche Gesetz wendet man an um Logikfunktionen umzuformen bzw. auszutauschen, wenn es sein muss. Zum Bsp. wenn man noch OR/NOR Glieder übrig hat und zu Begin mit UND/NAND alles erstellt hat. Dabei bleibt die Logik exakt gleich. Das ist der springende Punkt. :slight_smile: Wie beim umformen von Gleichungen. Kannste umstellen wie du lustig bist. Beide Seiten vom = sind gleich bzw. bleiben gleichwertig oder wie man dazu präzise sagt. Ich habe jedoch die Logik geändert. Den Ausgang negiert. Die Eingänge bleiben verodert. Die Wahrheitstabelle ist jetzt eine andere. Mit dem Morganschen Gesetz bleibt die Wahrheitstabelle jedoch immer gleich. Sie wird nur durch andere logische Gatter erfüllt. Sonst würde das keinen Sinn machen. Ich hoffe, ich konnte mich jetzt klarer ausdrücken. :grin:

OR_NOR.png

OR_NOR.png

Du kannst aber die Bedingung mit dem negierten Ausgang damit auch problemlos in eine AND-Variante umrechnen. AND ist unter gewissen Randbedingungen schneller als OR.

Gruß Tommy

Hi

Denke, das AND wird schneller sein, je weiter vorne eine Null steht.
Ähnlich wird Es dem OR ergehen, je weiter vorne eine Eins gefunden wird.

Kann mir aber durchaus vorstellen, daß es Konstellationen gibt, Die ein AND schneller als ein OR machen, wenngleich mir Diese akut nicht zugegen sind.

MfG

Ich habe das bei größeren ORACLE-SQL-Abfragen durchaus mit AND deutlich messbar schneller erlebt - unabhängig von der Reihenfolge der Teilvergleiche.
Es kann natürlich auch sein, dass damals (ORACLE 9) OR schlechter implementiert war, als AND.

Ansonsten gebe ich Dir Recht. Je weiter vorn die entscheidende Teilbedingung liegt, um so besser.

Gruß Tommy

Hallo,

Leute, werft mal nicht alles durcheinander. Ihr könnt meinetwegen alles und jeden umrechnen laut dem Morganschen Gesetz. Ich habe nichts dagegen. Worüber ich und agmue hier diskutieren ist, dass ich erklärt habe das hier das Morgansche Gesetz wegen der Codeänderung bzw. Logikänderung nicht zur Anwendung kommt. Natürlich könnt ihr die alte Logik und die neue Logik wiederum für sich betrachtet umwandeln. Geht nur nicht aus dem Code heraus, weil es da keine einzige Zeile gibt mit Logikverknüpfungen. Und beides verwursten ginge auch nicht, weil die Wahrheitstabellen der alten und neuen Logik sind nicht die selben. Das ist der entscheidende Unterschied. Das sollte doch nun klar gewurden sein. Ansonsten bitte nochmal nachlesen was das Morgansche Gesetz macht.

Und wegen euer UND ist schneller .... Nochmal. Im Code gibts keine ODER Vergleiche. Die Logik der Pumpe einschalten beruht nur darauf das ein Sensor ausreichend ist. Das entspricht einem ODER, ja, nur wie gesagt gibt aber keine ODER Verkettung in dem Sinne von allen Sensoren im Code.

Das ist mein Standpunkt. Der mich bis jetzt davor bewahrt im Durcheinander den Überblick zubehalten. :wink:

Hallo,

wenn ihr natürlich daran Spass habt den Code schneller zu machen mit euren Herangehensweisen oder wie auch immer, dann tut euch keinen Zwang an. Ist alles Open Source. :slight_smile:

hi,

ENDLICH!!!!! es funktioniert alles wie es soll^^ es lag tatsächlich an der falschen ansteuerung des relaiboards. vielen dank an euch alle die wirklich viel geduld aufgebracht haben um mir zu helfen. besonders an DOC_Arduino.werde mich jetzt auch mal mit dem arduino programieren auseinandersetzten bevor ich ein neues projekt starte^^ist doch komplizierter und umfangreicher als ich dachte^^

mfg

Hallo Latzefratz,

mir fällt ein Stein vom Herzen ... es ist vollbracht.
Viel Spass beim programmieren lernen. Schritt für Schritt.
Dank auch an agmue Zwecks durchhalten.

Gratuliere und Danke für die Rückmeldung.

Latzefratz:
ist doch komplizierter und umfangreicher als ich dachte^^

Ist aber kreativ und bringt Freude!

Doc_Arduino:
so so, dir macht das also Spass. :slight_smile:

Ist doch besser, als immer millis() zu erklären, oder?

Doc_Arduino:
Ich hoffe, ich konnte mich jetzt klarer ausdrücken. :grin:

Für mich drückst Du Dich glasklar aus :slight_smile: Leider scheint mit das nicht zu gelingen :cry:

Solltest Du mal ein ODER programmieren, die Schaltung verhält sich aber, als hättest Du ein UND programmiert, oder UND wie ODER , dann könnte ein Gedanke an de Morgan hilfreich sein. Möglicherweise folgt noch ein "Ach das hat er gemeint", dann hätten sich meine Zeilen gelohnt :slight_smile:

Hallo,

ich weiß gar nicht wie ich darauf reagieren soll. Ganz ehrlich. :o
Ich bin traurig wenn ich solchen Unsinn lesen muss. :cry: :cry: :cry:
Wenn ich aus deiner Sicht alles glasklar beschrieben habe, wundert mich warum du dann immer noch bei deiner falschen Annahme und Erklärung bleibst.

Solltest Du mal ein ODER programmieren, die Schaltung verhält sich aber, als hättest Du ein UND programmiert, oder UND wie ODER, dann könnte ein Gedanke an de Morgan ...

Dann hilft auch kein Morgansches Gesetz, dann ist schlicht und ergreifend die Schaltung/der Code falsch. Nicht mehr und nichtg weniger.

Du möchtest mir allen ernstes erzählen das man mit Hilfe vom Morganschen Gesetz aus einem ODER ein UND und umgekehrt machen kann? Um Himmelswillen, mir wird Angst und Bange. Hier müssten die Glocken schon leuten. Du redest vielleicht davon das man einzelne Gatter austauschen kann ohne zuberücksichtigen das am Ende die Gesamtlogik erhalten bleiben muss. Sonst hälst du dich nicht an das Morgansches Gesetz. Was nützt es ein Gatter bzw. eine Verknüpfung auszutauschen wenn man dann noch die Eingänge und Ausgang zusätzlich negieren muss damit am Ende wieder alles stimmt? Das einzigste was passiert man verkompliziert die Schreibweise und Logik. Wofür?

In #80 habe ich 2 Logiksymbole erstellt. Die verhalten sich grundlegend verschieden. Die Wahrheitstabellen sind verschieden!

Dann bin ich nochmal zeitlich rückwärts gegangen um vielleicht zu verstehen was falsch läuft.

Los gehts in #58

Dadurch dreht sich die Logik und aus einem Oder wird ein Und"

leider Falschaussage

P=V0+V1+V2 wird zu /P=/V0*/V1*/V2

wenn man + für ODER und * für UND Verknüpfung sieht, dann ist diese Gleichung richtig. Widerspricht aber dem Satz vorher. Denn das Ergebnis der Wahrheitstabelle entspricht auch hier auf beiden Seiten einem ODER. Das bedeutet, es hat sich absolut nichts an der gesamten Logik geändert. Wo ist die Negation des Augangs geblieben?

in #76 wird es dann leider noch verrückter

/P = /V1 + /V2 + /V3 (Pumpe geht an, wenn eines der Ventile offen ist)

das ist auch falsch, gewollt ist /P = V1 + V2 + V3

genau wie in #80 gezeigt.

Das hat weiterhin absolut nichts im geringsten mit dem Morgansches Gesetz zu tun. Die Logikschaltung, Wahrheitstabelle, hat sich geändert. Aus dem OR wurde ein NOR. Nicht mehr und nicht weniger.

Disclaimer
Vorbeugender Hinweis, falls irgendwas unsachlich und persönlich rüberkommt, bitte nichts persönlich nehmen. Mir gehts hier um die Sache. Wer mich näher kennt sollte das mittlerweile wissen.

Doc_Arduino:
Vorbeugender Hinweis, falls irgendwas unsachlich und persönlich rüberkommt, bitte nichts persönlich nehmen. Mir gehts hier um die Sache. Wer mich näher kennt sollte das mittlerweile wissen.

Weiß ich.

Doc_Arduino:
ich weiß gar nicht wie ich darauf reagieren soll. Ganz ehrlich. :o
Ich bin traurig wenn ich solchen Unsinn lesen muss. :cry: :cry: :cry:

Sei versichert, es gibt keinen Grund zur Traurigkeit.

Doc_Arduino:
Du möchtest mir allen ernstes erzählen das man mit Hilfe vom Morganschen Gesetz aus einem ODER ein UND und umgekehrt machen kann?

Beispiel: Zwei Eingänge sollen mittels ODER verknüpft werden, es stehen aber nur NAND-Gatter (viele in einem IC) zur Verfügung. Hier hilft das de Morgansches Gesetz (/ nicht; + ODER; * UND):

A + B = //(A + B) = /(/A * /B)

Habe ich jetzt aus einem ODER ein UND gemacht? Natürlich nicht, das sagt das Gleichheitszeichen, die Wahrheitstabelle hat sich nicht verändert. Ich kann aber sicherlich formulieren: Mehrere Negationen und eine UND-Verknüpfung ergeben eine ODER-Verknüpfung.

A * B = //(A * B) = /(/A + /B)

Mehrere Negationen und eine ODER-Verknüpfung ergeben eine UND-Verknüpfung.

Konsens bis hierhin?

Doc_Arduino:
Los gehts in #58

Hier habe ich einen Fehler gemacht, das würde ich gerne ändern in:

P=V0+V1+V2 wird zu /P=/V0+/V1+/V2=/(V0V1V2) => P=V0V1V2

Einverstanden?

Hallo,

ich glaube ich weiß wo das Missverständnis liegt. Die Betrachtung wurde zusammengewürfelt. Erst wurden einzelne Gatter betrachtet zum austauschen, soweit kein Problem, dann wurde zusätzlich die Gesamtlogik betrachtet. Das erzeugt Kaos pur.
Das Problem beginnt wenn mir jemand erzählen möchte das er den Code damit anpassen kann oder muss. Hier bin ich der Auffassung das genau das zu Beginn versucht wurde. Deswegen kämpfe ich dagegen an. Ich betrachte nicht einzelne Gatter, was auch sinnlos ist und hier nachwievor nichts zu suchen hat, ich betrachte die gesamte Logik, also die gesamte Wahrheitstabelle. Diese hat sich nur von OR zu NOR geändert. Da kann man kein Morgansches Gesetz anwenden. Ich weiß also immer noch nicht warum das überhaupt ins Spiel gebracht wurde. Es kann hier keinerlei Anwendung finden.

Nochmal grob drüber geschaut. Das hier kann nicht stimmen. :wink:

P=V0+V1+V2 wird zu /P=/V0+/V1+/V2=/(V0V1V2) => P=V0V1V2

das hier stimmte schon

P=V0+V1+V2 wird zu /P=/V0*/V1*/V2

beide Seiten ergeben die gleiche Wahrheitstabelle, nämlich ein ODER. Mehr kannste daran nicht rumfummeln. :slight_smile:

An dem Punkt können wir auch aufhören. Es ist alles gesagt wurden. Jeder weiß Bescheid. Jeder versteht den anderen.