Dann war es natürlich kein mathematischer Fehler, sondern ein Funktionsfehler im Sketch. - Nonstop Nonsens trifft es genau - steht ja alles in der Endlosschleife
Warum wurde der Wert 136 angezeigt? Das doppelte dieser Zahl ist fast der absolute Nullpunkt (-273.15°) in Celsius (wie dem Sketch per #define "mitgeteilt". Purer Zufall, oder was ist da passiert...
Allerdings hat die Anzeigeroutine bei Dir noch zwei Probleme:
Problem: Temperaturen über 100 °C.
2, Problem: Fallende Werte mit sinkender Stellenanzahl z.B. von 100.00 auf 99.99 oder 10.00 auf 9.99.
Mal angenommen, die Öltemperatur ändere sich von 99.98 auf 100.03 und wieder auf 99,98.
Dann passiert auf Deiner Anzeige das (und ich behalte mal die merkwürdige Einheit "C°" statt "°C" bei):
Beim Überschreiten von 100 wird das C überschrieben und beim anschließenden Unterschreiten von 100 bleibt die zuletzt angezeigte Hundertstel-Stelle des Werts als plötzlich erscheinende dritte Nachkommastelle stehen.
Dein Code sieht mir so aus als wenn Du das genau so programmiert hast, aber das dürfte wahrscheinlich nicht ganz so beabsichtigt sein.
Hallo!
Es soll natürlich Grad Celsius heissen, nicht Celsius Grad! Hab es jetzt auch gedreht.
Habe den "feststehenden" Text eine Zeile nach rechts verschoben, so bleibt nun genug Platz für 3-stellige Temperaturangaben.
Ist jetzt quick´n´dirty, aber es reicht erstmal so aus. Habe noch genug Platz auf dem Display.
ich habe ein ähnliches Projekt mit dem gleichem Fühler/Sensor von VDO - doch dieser ist bereits im Wohnmobil installiert und zZ an analogen Anzeigen von VDO mit 12V betrieben. Nun wollte ich gern parallel den Arduino zum messen anschließen.
Wie kann ich den VDO Sensor lesen, wenn der mit 12V getrieben wird?
ich versuche mal den alten Case wieder zu beleben, denn einer der letzten Kommentare von jurs passt genau auf mein Problem.
Was die Programmierung angeht, bin ich relative unerfahren und lerne sozusagen täglich dazu
Mein aktuelles Problem ist einfach nur, dass ich nicht weis wie man es richtig hinbekommt und möchte diesmal nicht wieder irgend ein Workaround dafür nehmen, der es irgend wie realisiert.
Hier mein Problem:
Möchte ebenfalls eine Anzeige programmieren, welche über einen Sensor die entsprechenden Werte ausgibt. Allerdings soll der Zahlenwert, welcher zwei oder evtl. auch nur eine Nachkommastelle hat,
immer an der selben Stelle stehen.
z.B.
10.00
9.99
2.45
usw.
Der nachfolgende Workaround mit der if Schleife funktioniert zwar, welcher in Abhängigkeit der Zahlengröße die Anfangsposition für den Print auf dem Display verschiebt, aber ist verm. völliger Blödsinn! Oder? Wie geht es richtig?
Die angegebene Stellenanzahl ist dabei eine MINDESTstellenanzahl, und die Funktion führt keine Prüfung auf Buffer-Overflow des formatierten Strings durch. Daher solltest Du
entweder den zu formatierenden Stringpuffer groß genug vorsehen oder
den zu formatierenden Wertebereich prüfen und ggf. statt der formatierten Zahl eine Erroranzeige ausgeben
Wenn negative Zahlen formatiert werden, ist ein Zeichen extra für das zu formatierende Minuszeichen vorzusehen.
Ich habe hierzu noch eine Frage:
Kann man den Ausgang vom Sensor über einen Transistor schalten? zb. ein 2N3906...
Wenn ja - Kann mir jemand ein Schaltplan dafür erstellen? Ich bin eher der Software Typ
Grund ist, dass ich die vorhandenen orginal Sensoren vom Fahrzeug benutzen kann. zb. Wassertemperatur NTC-Sensor von Hella:
Temperaturbereich 25° C - 5000 Ohm
Temperaturbereich 80° C - 600 Ohm
Sensor wird vom Steuergerät mit +5V versorgt
Am Kombiistrument kommt bei ca. 80° C - 1.45 V, bei ca. 100° - 0.80V an. Ich prüfe morgen Abend noch nach was aus diesem Sensor kommt bzw. ins Steuergerät geht...
ich habe ein Drucksensor von Raid HP. Der misst von 0 bis 10 Bar und dabei hat er laut Sensor 3 - 160 Ohm. Laut jurs braucht man 3 Messpunkte oder geht das auch anhand der 2 Daten?
jurs' "3 Punkte" (und dieser Thread überhaupt) gelten für NTC Temperatur-Sensoren. Wenn die Umsetung von Druck in Widerstand linear ist (oder es nicht so genau drauf ankommt), reichen natürlich 2 Punkte für eine lineare Interpolation.
Von Öldruck habe ich in diesem Thread beim groben Blätternn und im Titel nichts gefunden. Wenn du 3 Referenzpunkte hast, kannst du immer noch entscheiden, wie du interpolieren willst.
Und wenn du so fragst: Einen einigermaßen richtigen Wert bei Normalbetrieb und am Limit, das mich interessiert. Dazwischen wäre es mir egal. Beim linearen Interpolieren ist die Tendenz schonmal richtig.
Jetzt im Alter fahre ich mehr nach Tacho statt nach Öltemperatur.
Keine Ahnung, ob die Werte zu Deinem Sensor kompatibel sind.
Wenn Du sonst nichts besseres hast, kannst Du vermutlich die Werte annehmen, falls Du nicht noch bessere findest.
Die Werte liegen "fast genau" auf einer Geraden, daher dürfte eine lineare Interpolation zwischen zwei Werten eine gute Nährung darstellen.
Aber ob eine simple "Spannungsteilerschaltung" mit einem Vorwiderstand als "Arduino-Messswandlerschaltung" zu befriedigenden Ergebnissen führt, bliebe abzuwarten. Ich vermute mal eher: Nein.
Wenn Du ein Signal von diesem Sensor "digital" und "Arduino-geeignet" unf "genau" brauchst, wirst Du bei der Messwandlerschaltung wohl etwas mehr schaltungstechnischen Aufwand als nur einen Vorwiderstand betreiben müssen.
Was mögen wohl die für diese Art Sensor vorgesehenen Rundinstrumente für eine Schaltung verwenden? Eine Wheatstone-Brücke" als Messschaltung?
Diese Schaltung enthält insgesamt vier Widerstände:
Wenn drei Widerstände bekannt sind und man die "Brückenspannung" mißt, kann man einen vierten Widerstamd berechnen (also z.B. den Widerstand Deines Sensors).
die Messwerte die du gefunden hast, sollten mit meinem Sensor übereinstimmen. Der Raid HP Sensor ist nämlich tatsächlich fast linear. Daher würde ich an dieser Stelle in der Tat erst einmal mit den von dir geposteten Werten arbeiten.
Was ich jedoch nicht verstehe ist, warum eine Schaltung mit Vorwiderstand nicht funktionieren sollte. Ich denke da fehlt mir etwas der elektrotechnische Backround. Worin genau unterscheidet sich denn mein Drucksensor (Raid HP) von VDO Drucksensoren?
Hallo zusammen,
erstmal vielen Dank an euch alle, für die ausführlichen Informationen die ich hier bekommen habe.
Habe mir zuzusagen all mein Wissen über Arduino und dessen Programmierung hier angelesen.
Nur zwei Fragen zu dem VDO ÖL-Temp NTC habe ich:
Ist dieser wirklich über die Fahrzeugmasse geschaltet also hat nur einen Anschluss für ein Kabel?
Ist das kein Problem beim berechnen der Temperatur mit dem Widerstand?
danke für die Antwort, das habe ich schon vermutet.
weis jemand zu welchen 2 Poligen NTC's es denn Kennlinien gibt bzw. eine Materialkonstante? Ich habe noch nichts gefunden mit M12x1,5.