Digitale Eingangsdruck Anzeige für Druckluftanlage

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.