Digitale Eingangsdruck Anzeige für Druckluftanlage

Hi,
vielen Dank für deine Antwort.
Ich hatte eigentlich direkt an dem Tag geantwortet, scheinbar hats aber auf der Arbeit nicht gesendet :frowning:

Ich werde mir das Board erstmal bei Seite legen und mich mit einem funktionierenden Board meinem Projekt widmen.
Es läuft auch schon soweit ganz gut. Ich habe mal ein kleines Video gemacht: klick hier

Ich werde aber nochmal den Code posten, vllt. kann man hier nochmal etwas verbessern bzw anders machen. Ihr seit hier deutlich fitter und ich möchte gerne Tipps entgegen nehmen und lernen!

Seitdem ich mich etwas mit dem ganzen Kram beschäftigt habe kommen einen natürlich viele viele Ideen. Ich werde jetzt wahrscheinlich ein 20x4 Display verbauen. Die erste Idee ist eine Uhr mit anzuzeigen. Somit hätte man auch direkt mal eine Uhr in der Werkstatt. ( ein RTC Modul habe ich noch )

Nun stellt sich mir die Frage, lt. verkabelungsanleitungen wird dieses ebenfalls auf A4+5 angeschlossen. Die Anschlüsse sind ja schon mit dem I2C Display belegt. Wie kann man das lösen?

Nur mal aus Interesse. Ist es wohl möglich mit einem Arduino einen "Druckminderer" zu bauen, also mit zwei knöpfen und einem Ventil? ( da weiß ich allerdings spontan nicht wonach ich suchen müsste ).

Ihr habt mir auf jeden Fall schon sehr geholfen!

devilor:
Nun stellt sich mir die Frage, lt. verkabelungsanleitungen wird dieses ebenfalls auf A4+5 angeschlossen. Die Anschlüsse sind ja schon mit dem I2C Display belegt. Wie kann man das lösen?

Indem man lernt, dass I2C ein Bus ist. Solange beide unterschiedliche Adressen haben, können sie beide am I2C-Bus betrieben werden.

Gruß Tommy

Moin,
vielen Dank für die Antwort.
Ich habe die RTC nun eingebunden bekommen, sieht auch auf dem Display schon ganz gut aus!

Nun habe ich noch ein anliegen wo ich aktuell nicht weiter komme.

der Druckwert (Sensor-Messwert) hüpft immer in der Zeile hin und Her jenachdem ob < 10 bar oder > 10 bar ist.
Ich habe schon versucht über printdigits es hinzubekommen, dass er wenn <10 eine "Leerzeichen" einfügt.

allerdings bin ich bisher erfolglos geblieben.

Ich füge mal meinen Code an, evtl fällt euch generell ja etwas auf, ansonsten würde ich mich freuen wenn ihr mir noch Tipps zu der "tanzenden" Zahl geben könntet.

#include <Time.h>
#include <DS1307RTC.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
int offset = 96.26; // Null Bar kalibrieren
int fullScale = 921.6; // maximaldruck kalibrieren
float pressure; // finaler Druck


// Manche (so wie meins) verwenden auch die Adresse 0x3F
// Setze die pins auf dem I2C-Chip, die für die LCD-Verbindungen verwendet werden:
//                    addr, en,rw,rs,d4,d5,d6,d7,bl,blpol
LiquidCrystal_I2C lcd(0x3F  , 20, 4);


void setup() {
  lcd.init(); //Im Setup wird der LCD gestartet
  lcd.backlight(); //Hintergrundbeleuchtung einschalten (lcd.noBacklight(); schaltet die Beleuchtung aus).
  Serial.begin(9600); //Öffnet den seriellen Port und legt die Baud Rate (9600) für die serielle Übertragung fest.
  setSyncProvider(RTC.get); //Dies ist die Funktion um die Zeit- und Datumsangabe von der RTC zu bekommen
}


void loop() {
  pressure = (analogRead(A0) - offset) * 10.0  / (fullScale - offset); // pressure conversion
  Serial.print("Pressure is  ");
  Serial.print(pressure);
  Serial.println("  bar");
  delay(1000);

  // 0.5 Sekunden warten
  delay(500);

  // Position setzen, Überschrift anzeigen
  lcd.setCursor(3, 0); //setCursor gibt an wo der Text beginnen soll. In diesem Fall beim dritten Zeichen in der ersten Reihe
  lcd.print("EINGANGSDRUCK: ");

  // Position setzen, Druck messen und anzeigen
  lcd.setCursor(6, 1);
  lcd.print(pressure, 1);
  lcd.print(" bar  ");

  lcd.setCursor(0, 3); //setCursor gibt an wo der Text beginnen soll. In diesem Fall beim ersten Zeichen in der vierten Reihe.
  printDigitsH(hour());
  printDigits(minute());
  lcd.print(" ");
  lcd.print("Uhr");
  lcd.print(" ");
  printDigitsDay(day()); // Das Datum soll nun als
  lcd.print("."); // „Tag“, „.“ „Monat“ usw. angegeben werden.
  printDigitsMon(month());
  lcd.print(".");
  lcd.print(year());
}

void printDigitsH(int digitsH) //In diesem Abschnitt wird festgelgt, dass bei Zahlen <10 im automatisch eine 0 vor den Ziffern angezeigt wird.
{
  if (digitsH < 10)
    lcd.print('0');
  lcd.print(digitsH);
}
void printDigits(int digits) //In diesem Abschnitt wird festgelgt, dass bei Zahlen <10 im automatisch eine 0 vor den Ziffern angezeigt wird.
{
  lcd.print(":");
  if (digits < 10)
    lcd.print('0');
  lcd.print(digits);
}
void printDigitsDay(int digitsDay) //In diesem Abschnitt wird festgelgt, dass bei Zahlen <10 im automatisch eine 0 vor den Ziffern angezeigt wird.
{
  if (digitsDay < 10)
    lcd.print('0');
  lcd.print(digitsDay);
}
void printDigitsMon(int digitsMon) //In diesem Abschnitt wird festgelgt, dass bei Zahlen <10 im automatisch eine 0 vor den Ziffern angezeigt wird.
{
  if (digitsMon < 10)
    lcd.print('0');
  lcd.print(digitsMon);
}

  1. Warum 3 verschiedene printDigitsXXX-Funktionen? Das kannst Du doch auch in eine packen.
  2. Genau so baust Du eine für den Druck auf. Nur mit if (xxx < 100)

Gruß Tommy

zu 1. Ich hatte rumprobiert und hatte immer einen : dazwischen. Aber ich habe es jetzt nach deiner Antwort probiert und es auf eine für die Uhrzeit und eine fürs Datum reduzieren können.

zu 2. Ja das hatte ich versucht, allerdings wie bekomme ich das auf den Messwert des sensors (pressure) bezogen? das habe ich noch nicht geschafft. Ich bin ja noch Anfänger in der Materie

#include <Time.h>
#include <DS1307RTC.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
int offset = 96.26; // Null Bar kalibrieren
int fullScale = 921.6; // maximaldruck kalibrieren
float pressure; // finaler Druck


// Manche (so wie meins) verwenden auch die Adresse 0x3F
// Setze die pins auf dem I2C-Chip, die für die LCD-Verbindungen verwendet werden:
//                    addr, en,rw,rs,d4,d5,d6,d7,bl,blpol
LiquidCrystal_I2C lcd(0x3F  , 20, 4);


void setup() {
  lcd.init(); //Im Setup wird der LCD gestartet
  lcd.backlight(); //Hintergrundbeleuchtung einschalten (lcd.noBacklight(); schaltet die Beleuchtung aus).
  Serial.begin(9600); //Öffnet den seriellen Port und legt die Baud Rate (9600) für die serielle Übertragung fest.
  setSyncProvider(RTC.get); //Dies ist die Funktion um die Zeit- und Datumsangabe von der RTC zu bekommen
}


void loop() {
  pressure = (analogRead(A0) - offset) * 10.0  / (fullScale - offset); // pressure conversion
  Serial.print("Pressure is  ");
  Serial.print(pressure);
  Serial.println("  bar");
  delay(1000);

  // 0.5 Sekunden warten
  delay(500);

  // Position setzen, Überschrift anzeigen
  lcd.setCursor(3, 0); //setCursor gibt an wo der Text beginnen soll. In diesem Fall beim dritten Zeichen in der ersten Reihe
  lcd.print("EINGANGSDRUCK: ");

  // Position setzen, Druck messen und anzeigen
  lcd.setCursor(6, 1);
  lcd.print(pressure, 1);
  lcd.print(" bar  ");

  lcd.setCursor(0, 3); //setCursor gibt an wo der Text beginnen soll. In diesem Fall beim ersten Zeichen in der vierten Reihe.
  printDigitsDate(hour());
  printDigits(minute());
  lcd.print(" ");
  lcd.print("Uhr");
  lcd.print(" ");
  printDigitsDate(day()); // Das Datum soll nun als
  lcd.print("."); // „Tag“, „.“ „Monat“ usw. angegeben werden.
  printDigitsDate(month());
  lcd.print(".");
  lcd.print(year());
}

void printDigitsDate(int digitsDate) //In diesem Abschnitt wird festgelgt, dass bei Zahlen <10 im automatisch eine 0 vor den Ziffern angezeigt wird.
{
  if (digitsDate < 10)
    lcd.print('0');
  lcd.print(digitsDate);
}
void printDigits(int digits) //In diesem Abschnitt wird festgelgt, dass bei Zahlen <10 im automatisch eine 0 vor den Ziffern angezeigt wird.
{
  lcd.print(":");
  if (digits < 10)
    lcd.print('0');
  lcd.print(digits);
}

Ich habe nun nochmal einen Ansatz versucht, scheint den printdigit auch zu nehmen, allerdings erhalte ich eine Fehlermeldung.

exit status 1 
too many arguments to function 'void printDigitsDruck(int)'

Der kommt von der "Kommastellen Definition"

  // Position setzen, Druck messen und anzeigen
  lcd.setCursor(6, 1);
  printDigitsDruck(pressure, 1);
  //lcd.print(pressure, 1);
  lcd.print(" bar  ");

nehme ich das ", 1" weg ist der Fehler verschwunden, er zeigt auf dem Display dann aber nur noch z.B "5 Bar" an... Eine Kommastelle sollte es schon sein :wink:

void printDigitsDruck(int digitsDruck)
{
  if (digitsDruck < 10)
    lcd.print(' ');
  lcd.print(digitsDruck);
}

Das kommt davon, wenn man keine Grundlagenkenntnisse hat.

float pressure = 95.25;

printDurck(pressure);

...

void printDruck(float druck) {
  lcd.setCursor(6,1);
  if (druck < 100) lcd.print(" ");
  lcd.print(druck,1);
  lcd.print(" bar  ");
}

Gruß Tommy

Danke für deine Antwort.

Ja ich komme halt nicht aus dem Bereich, möchte aber trotzdem mein Projekt realisieren und versuche zu verstehen und zu lernen.

Mit deinem Code komme ich allerdings nicht wirklich weiter. Ich bekomme Fehler, Wahrscheinlich füge ich es falsch ein.

exit status 1 
expected constructor, destructor, or type conversion before '(' token

Die Zeile wird dabei rot.

printDurck(pressure);

Sorry wenn ichs noch nicht so recht verstehe.
Wie kommst du denn auf diese "100"? bzw auf "95.25"?

Tippfehler: printDurk --> printDruck

Na Dein Druckwert ist ein float, wenn er Nachkommastellen hat und da habe ich einfach einen hin geschrieben. Das ist natürlich der Wert, den Du ausliest. Etwas denken solltest Du auch selbst, sonst lernst Du ja nichts.

Alles vorkauen werde ich nicht. Du musst die Hinweise verarbeiten und mitdenken.

Gruß Tommy

Tommy56:
Tippfehler: printDurk --> printDruck

Na da hab ich auch vor lauter Bäumen den Wald nicht mehr gesehen. Habe es bestimmt 10 mal gelesen aber den Tippfehler nicht entdeckt! :smiley:

Mich haben die Werte verwirrt.

#include <Time.h>
#include <DS1307RTC.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
int offset = 96.26; // Null Bar kalibrieren
int fullScale = 921.6; // maximaldruck kalibrieren
float pressure; // finaler Druck



// Manche (so wie meins) verwenden auch die Adresse 0x3F
// Setze die pins auf dem I2C-Chip, die für die LCD-Verbindungen verwendet werden:
//                    addr, en,rw,rs,d4,d5,d6,d7,bl,blpol
LiquidCrystal_I2C lcd(0x3F  , 20, 4);


void setup() {
  lcd.init(); //Im Setup wird der LCD gestartet
  lcd.backlight(); //Hintergrundbeleuchtung einschalten (lcd.noBacklight(); schaltet die Beleuchtung aus).
  Serial.begin(9600); //Öffnet den seriellen Port und legt die Baud Rate (9600) für die serielle Übertragung fest.
  setSyncProvider(RTC.get); //Dies ist die Funktion um die Zeit- und Datumsangabe von der RTC zu bekommen
}


void loop() {
  pressure = (analogRead(A0) - offset) * 10.0  / (fullScale - offset); // pressure conversion
  Serial.print("Pressure is  ");
  Serial.print(pressure);
  Serial.println("  bar");
  delay(1000);

  // 0.5 Sekunden warten
  delay(500);

  // Position setzen, Überschrift anzeigen
  lcd.setCursor(3, 0); //setCursor gibt an wo der Text beginnen soll. In diesem Fall beim dritten Zeichen in der ersten Reihe
  lcd.print("EINGANGSDRUCK: ");


  // Position setzen, Druck messen und anzeigen
  lcd.setCursor(6, 1);
  printDruck(pressure);
  //lcd.print(pressure, 1);
  lcd.print(" bar  ");

  lcd.setCursor(0, 3); //setCursor gibt an wo der Text beginnen soll. In diesem Fall beim ersten Zeichen in der vierten Reihe.
  printDigitsDate(hour());
  printDigits(minute());
  lcd.print(" ");
  lcd.print("Uhr");
  lcd.print(" ");
  printDigitsDate(day()); // Das Datum soll nun als
  lcd.print("."); // „Tag“, „.“ „Monat“ usw. angegeben werden.
  printDigitsDate(month());
  lcd.print(".");
  lcd.print(year());
}

void printDruck(float druck) {
  lcd.setCursor(6, 1);
  if (druck < 10) 
  lcd.print(" ");
  if (druck < 0)
  lcd.setCursor(6, 1);
  lcd.print(druck, 1);
}


void printDigitsDate(int digitsDate) //In diesem Abschnitt wird festgelgt, dass bei Zahlen <10 im automatisch eine 0 vor den Ziffern angezeigt wird.
{
  if (digitsDate < 10)
    lcd.print('0');
  lcd.print(digitsDate);
}
void printDigits(int digits) //In diesem Abschnitt wird festgelgt, dass bei Zahlen <10 im automatisch eine 0 vor den Ziffern angezeigt wird.
{
  lcd.print(":");
  if (digits < 10)
    lcd.print('0');
  lcd.print(digits);
}

so scheint es zu funktionieren, habe leider nicht genug Puste um 10 bar reinzublasen, allerdings genug Vakuum um -0,1 bar zu erzeugen, da bleibt es nun auch auf der richtigen Position!

Vielen Dank für deine Geduld.

Doc_Arduino:
Hallo,

[...] Verbinde alle Massepunkte möglichst Sternförmig.

Moin nochmal. Ich habe nun meinen zweiten Step-down regler bekommen. Einen habe ich auf 5V für den Sensor, das RTC Modul und das LCD eingestellt, den zweiten habe ich auf 7V eingestellt für das Board.
Ich habe alles ins Gehäuse gebaut.

Ich habe mir nun 2 "Verteilerleisten" gebaut. einmal 5V und einmal GND (Masse). -> s. Bild
Nun habe ich alles angeschlossen, die Massen beider Spannungsregler sowie aller Geräte zusammengeführt. Die 7V direkt über den VIN Pin sowie die Masse vom Board mit auf die Verteilerleiste ( wo auch alle anderen, incl die des 5V Spannungsregler draufliegen)
Versorgt wird alles von einem Mean Well HDR-30-12 Hutschienen Netzteil.

Als ich gestern die Druckluft angeschlossen hatte zeigte das Display bei knapp 11 Bar nur 8,3Par an :confused: Ich weiß nur nicht warum, zuvor waren es 11 Bar was auch stimmte ( mit Manuellen Manometer verglichen)
Wenn alles eine Weile Stromlos ist verliert das RTC scheinbar die Zeit / Datum, das Display zeigt dann nur noch 0 Uhr 1970 an.
Batterie habe ich schon getauscht.

Hat jemand noch eine Idee?
PS: Sieht aufgrund meiner Suche jetzt wieder sehr wüst aus in dem Gehäuse...

Ich bekomme dann im Seriellen Monitor beim Readtest den "Fehler"

"The DS1307 is stopped. Please run the SetTime
example to initialize the time and begin running."

Please run the SetTime example to initialize the time and begin running

Und?
Hast du versucht, die Uhr zu starten und eine sinnvolle Zeit einzustellen?
Läuft die Uhr danach?
Läuft diese weiter, auch "wenn alles eine Weile stromlos ist", nur über die Backup-Batterie der Uhr?

(Wenn die Antworten : "Hmm, ja, ja, nein" sind, ist die Batterie nicht richtig eingelegt oder leer.)

Oder willst du dich erstmal um die Druckmessung kümmern?

Die Uhr war gestellt lief auch erst. Nach 1-2 Stunden hat sie die Zeit verloren. Batterie sitzt und ist voll.

Bei der druckmessung scheint irgendwas im argen zu sein. Bevor ich es ins Gehäuse gebaut habe lief es mit dem gleichen Programm.
Nun gibt der Sensor bei ca. 10.5-10.7 bar (nach Manueller Anzeige) eine Signalspannung von 3.6-3,7V aus. Da es ein 1.2MPA Sensor mit einem Messbereich von 0,5-4,5V ist sollten das doch ~ 10Bar darstellen..richtig?

So ich habe heute einen nagelneuen Drucksensor bekommen.
Leider mit dem gleichen Ergebnis. Bei Abschaltdruck was ca. 10,5 Bar sein sollten zeigt mein Display nach wie vor 8,7Bar an. Am Sensor scheint es ja also nicht zu liegen.

Ich habe am Code eigentlich nichts geändert außer die RTC hinzu, ich habe auch schon mehrfach den Code durchgeschaut, finde allerdings keinen Fehler.

Achso: Sensor ist dieser hier!

Seht ihr ob bzw. wo es im Programm einen Fehler gibt?

#include <Time.h>
#include <DS1307RTC.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
int offset = 96.26; // Null Bar kalibrieren
int fullScale = 921.6; // maximaldruck kalibrieren
float pressure; // finaler Druck



// Manche (so wie meins) verwenden auch die Adresse 0x3F
// Setze die pins auf dem I2C-Chip, die für die LCD-Verbindungen verwendet werden:
//                    addr, en,rw,rs,d4,d5,d6,d7,bl,blpol
LiquidCrystal_I2C lcd(0x3F  , 20, 4);


void setup() {
  lcd.init(); //Im Setup wird der LCD gestartet
  lcd.backlight(); //Hintergrundbeleuchtung einschalten (lcd.noBacklight(); schaltet die Beleuchtung aus).
  Serial.begin(9600); //Öffnet den seriellen Port und legt die Baud Rate (9600) für die serielle Übertragung fest.
  setSyncProvider(RTC.get); //Dies ist die Funktion um die Zeit- und Datumsangabe von der RTC zu bekommen
}


void loop() {
  pressure = (analogRead(A0) - offset) * 10.0  / (fullScale - offset); // pressure conversion
  Serial.print("Pressure is  ");
  Serial.print(pressure);
  Serial.println("  bar");
//  delay(1000);

  // 0.3 Sekunden warten
  delay(300);

  // Position setzen, Überschrift anzeigen
  lcd.setCursor(4, 0); //setCursor gibt an wo der Text beginnen soll. In diesem Fall beim dritten Zeichen in der ersten Reihe
  lcd.print("SYSTEMDRUCK:");


  // Position setzen, Druck messen und anzeigen
  lcd.setCursor(6, 1);
  printDruck(pressure);
  //lcd.print(pressure, 1);
  lcd.print(" bar  ");

  lcd.setCursor(0, 3); //setCursor gibt an wo der Text beginnen soll. In diesem Fall beim ersten Zeichen in der vierten Reihe.
  printDigitsDate(hour());
  printDigits(minute());
  lcd.print(" ");
  lcd.print("Uhr");
  lcd.print(" ");
  printDigitsDate(day()); // Das Datum soll nun als
  lcd.print("."); // „Tag“, „.“ „Monat“ usw. angegeben werden.
  printDigitsDate(month());
  lcd.print(".");
  lcd.print(year());
}

void printDruck(float druck) {
  lcd.setCursor(6, 1);
  if (druck < 10) 
  lcd.print(" ");
  if (druck < 0)
  lcd.setCursor(6, 1);
  lcd.print(druck, 1);
}


void printDigitsDate(int digitsDate) //In diesem Abschnitt wird festgelgt, dass bei Zahlen <10 im automatisch eine 0 vor den Ziffern angezeigt wird.
{
  if (digitsDate < 10)
    lcd.print('0');
  lcd.print(digitsDate);
}
void printDigits(int digits) //In diesem Abschnitt wird festgelgt, dass bei Zahlen <10 im automatisch eine 0 vor den Ziffern angezeigt wird.
{
  lcd.print(":");
  if (digits < 10)
    lcd.print('0');
  lcd.print(digits);
}

Danke schonmal :slight_smile:

Ich bin langsam echt ratlos.. Habe nun die ganze Sensorverkabelung nochmal auseinander genommen, da ich diese ja ca. 10cm verlängern musste. Daran lag es auch nicht.
Gerade nochmal den nagelneuen Sensor incl. neuem ( dem Sensor beiliegendem) Kabel in Originallänge getestet, das gleiche. Spannung am A0 kommen 3,72V An bei Abschaltdruck, was ca. 10,5 bar sein sollten lt. Manometer.

PS: Die RTC Uhr läuft nun seit Tagen Problemlos.

(deleted)

Peter-CAD-HST:
Moin devilor
Wenn der Drucksensor eine lineare Kennlinie hat, dann kann die Umrechnung über die MAP-Funktion erfolgen:
Ausgangsspannung: 0,5-4,5 VDC
Arbeitsdruckbereich: 0-1,2 MPa
pressure = map(analogRead(A0),10,921,0,1200); // Ergebins in kPa
Viel Erfolg
Gruß Peter
und gesund bleiben

Hallo Peter,
vielen dank für deine Antwort.
Ich hatte gestern Abend auch noch bis nachts dran getüftelt [...]man war das eine kurze Nacht mit 3,5 std schlaf :stuck_out_tongue: [...]
Ich habe meinen Code mehrfach überarbeitet.. getestet usw. Nun bin ich auf ein bis auf 0.1bar übereinstimmendes Ergebnis mit dem Manuellen Manometer gekommen.

  pressure = (analogRead(A0) - offset) * 1.2 / (fullScale - offset); // pressure conversion
  pressurebar = pressure * 10.0; // Ergebnis in Bar

Ich habe Testhalber jetzt mal den 3,3V Pin misbraucht als Sensorwert.
Da bekomme ich mit meiner Formel 8,7-8,8 bar im Serial Monitor angezeigt, mit deiner Formel ( für Bar muss ich ja nochmal durch 100 dividieren) 9,0-9,1 bar.
Kannst du mir dem Verständnishalber erklären woher das kommen kann?

  pressure = map(analogRead(A0),10,921,0,1200); // Ergebins in kPa
  pressurebar = pressure/100; // Ergebnis in Bar

Diese ganze MAP-Funktion hinterblicke ich nicht so wirklich, was sind das für Zahlen? Ich habe schon die Beschreibung der Funktion gelesen, verstehe aber nicht wie ich diese Zahlen in Verbindung bringe... ( ich will ja auch etwas lernen und verstehen)

Vielen Dank erstmal :slight_smile:

(deleted)

Peter-CAD-HST:
Moin devilor,
schaue mal hier.
Ist eine handelsübeliche Berechnung über den Dreisatz :slight_smile:
Gruss Peter
und gesund bleiben

Moin, genau das habe ich mir bereits angesehen.
evtl. etwas konkreter: woher nimmst du die eingesetzten zahlen?
( 10, 921,0,1200 ) Die 921 kann ich mir als "fullScale" ja noch erklären, aber 10? die 1200 werden ja wahrscheinlich für die 1200kPa stehen, sprich 1,2Mpa.

so verstehe ich das:
10 - mir nicht klar, wäre ja "fromLOW"?
921 - Max. Wert des Sensors (4.5V)?
0 - von 0 kPa ?
1200 - max. 1200 kPa?

Warum kommt hierbei ein um 0,3 Bar anderes Ergebnis wie bei meiner Formel raus?

(deleted)