INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Brauche Hilfe, Was Stimmt an meinem Sketch nicht
19.03.2020, 22:02
Beitrag #1
Brauche Hilfe, Was Stimmt an meinem Sketch nicht
Hallo Freunde, ich habe ein kleines Problem, ich habe eine Temperaturanzeige mit 3 DS18B20 zusammengebaut und einen Sketch aus dem internet hochgeladen. Das funktioniert alles ohne Probleme, aber jetzt habe ich das problem das ich es nicht schaffe die Temp auf dem LCD darzustellen. Ich habe es zwar geschafft das es am LCD die Temp anzeigt aber bei allen 3 Sensoren nur -127°C. Was muss ich am Sketch ändern das es funktioniert?

mit ratlosen GrüßenHuhHuh

Code:
#include <OneWire.h>
#include <DallasTemperature.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 13, 11, 7, 8, 9, 10);

// Data wire is plugged into port 2 on the Arduino
#define ONE_WIRE_BUS 2

// Setup a oneWire instance to communicate with any OneWire devices
OneWire oneWire(ONE_WIRE_BUS);

// Pass our oneWire reference to Dallas Temperature.
DallasTemperature sensors(&oneWire);

// Addresses of 3 DS18B20s
uint8_t sensor1[8] = { 0x28, 0x59, 0xA3, 0x29, 0x0B, 0x00, 0x00, 0xF9 };
uint8_t sensor2[8] = { 0x28, 0xE5, 0x93, 0x29, 0x0B, 0x00, 0x00, 0x07 };
uint8_t sensor3[8] = { 0x28, 0xC7, 0xE4, 0x29, 0x0B, 0x00, 0x00, 0xE3 };

void setup(void)
{
  Serial.begin(9600);
  sensors.begin();

  lcd.begin(16,2);
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("Solar Temperatur");
  lcd.setCursor(5,1);
  lcd.print("Anzeige");
  delay(2000);
}

void loop(void)

{
  sensors.requestTemperatures();


  Serial.print("Sensor 1: ");
  printTemperature(sensor1);
  float  tempC1 = sensors.getTempC("0x28, 0x59, 0xA3, 0x29, 0x0B, 0x00, 0x00, 0xF9");
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("Sensor 1:");
  lcd.setCursor(0,1);
  lcd.print(tempC1);
  lcd.print((char)223);
  lcd.print("C");
  delay(3000);

  
  Serial.print("Sensor 2: ");
  printTemperature(sensor2);
  float  tempC2 = sensors.getTempC("0x28, 0xE5, 0x93, 0x29, 0x0B, 0x00, 0x00, 0x07");
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("Sensor 2:");
  lcd.setCursor(0,1);
  lcd.print(tempC2);
  lcd.print((char)223);
  lcd.print("C");
  delay(3000);

  
  Serial.print("Sensor 3: ");
  printTemperature(sensor3);
  float  tempC3 = sensors.getTempC("0x28, 0xC7, 0xE4, 0x29, 0x0B, 0x00, 0x00, 0xE3");
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("Sensor 3:");
  lcd.setCursor(0,1);
  lcd.print(tempC3);
  lcd.print((char)223);
  lcd.print("C");
  Serial.println();
  delay(3000);
}

void printTemperature(DeviceAddress deviceAddress)
{
  float tempC = sensors.getTempC(deviceAddress);
  Serial.print(tempC);
  Serial.print((char)176);
  Serial.print("C  |  ");
  Serial.print(DallasTemperature::toFahrenheit(tempC));
  Serial.print((char)176);
  Serial.println("F");
  
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.03.2020, 22:48
Beitrag #2
RE: Brauche Hilfe, Was Stimmt an meinem Sketch nicht
Hallo,

vermutlich ist das float das Problem.

Gib doch einfach mal statt TempC1 einen Zahlenwert und statt TempC2 ein Variable vom Type byte aus.

Gruß GuaAck
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.03.2020, 23:01 (Dieser Beitrag wurde zuletzt bearbeitet: 19.03.2020 23:01 von Andi-1090.)
Beitrag #3
RE: Brauche Hilfe, Was Stimmt an meinem Sketch nicht
(19.03.2020 22:48)GuaAck schrieb:  Hallo,

vermutlich ist das float das Problem.

Gib doch einfach mal statt TempC1 einen Zahlenwert und statt TempC2 ein Variable vom Type byte aus.

Gruß GuaAck

Wie und was und wo genau sollte ich es eingeben? Sorry, bin ein ziemlicher anfänger. Blush
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.03.2020, 23:26
Beitrag #4
RE: Brauche Hilfe, Was Stimmt an meinem Sketch nicht
Ich kenne den Sensor leider nicht versuch doch mal folgendes:
https://draeger-it.blog/arduino-lektion-...r-ds18b20/
Dann was sagt der Serial Monitor zu den Werten ?
Weil im letztten Abschnitt zeigst du alles auf dem Serial Monitor an. müsste dann ja eigentlich nur auf LCd umgeschrieben werden.

Code:
void printTemperature(DeviceAddress deviceAddress)
{
  float tempC = sensors.getTempC(deviceAddress);
  Serial.print(tempC);
  Serial.print((char)176);
  Serial.print("C  |  ");
  Serial.print(DallasTemperature::toFahrenheit(tempC));
  Serial.print((char)176);
  Serial.println("F");
  
}

Serial.print(tempC); in lcd.print(tempC); usw.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.03.2020, 23:31
Beitrag #5
RE: Brauche Hilfe, Was Stimmt an meinem Sketch nicht
(19.03.2020 23:26)senseman schrieb:  Ich kenne den Sensor leider nicht versuch doch mal folgendes:
https://draeger-it.blog/arduino-lektion-...r-ds18b20/
Dann was sagt der Serial Monitor zu den Werten ?
Weil im letztten Abschnitt zeigst du alles auf dem Serial Monitor an. müsste dann ja eigentlich nur auf LCd umgeschrieben werden.

Code:
void printTemperature(DeviceAddress deviceAddress)
{
  float tempC = sensors.getTempC(deviceAddress);
  Serial.print(tempC);
  Serial.print((char)176);
  Serial.print("C  |  ");
  Serial.print(DallasTemperature::toFahrenheit(tempC));
  Serial.print((char)176);
  Serial.println("F");
  
}

Serial.print(tempC); in lcd.print(tempC); usw.

Hab ich auch probiert, dan kam eine fehlermeldung, im seriellen monitor zeigt es mir die Temperatur richtig an, nur nicht am lcd.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.03.2020, 23:43
Beitrag #6
RE: Brauche Hilfe, Was Stimmt an meinem Sketch nicht
Warum nimmst du nicht einfach ein Beispiel aus der Library ?
Es funktioniert normal auch mit float, das ist sicher nicht dein Problem.

Aktuell lese ich problemlos 6 Sensoren aus, mache es aber nicht per Adresse, sondern per Index.
Hier mein Beispiel:
Code:
void readSensoren(void)
{
  if (millis() - lastTempRequest >= delayInMillis)
  {
    sensorValue1 = sensors.getTempCByIndex(0);              // Warmwasser
    sensorValue2 = sensors.getTempCByIndex(1);              // Zirkulation
    sensorValue3 = sensors.getTempCByIndex(2);              // Vorlauf
    sensorValue4 = sensors.getTempCByIndex(3);              // Rücklauf
    sensorValue5 = sensors.getTempCByIndex(4);              // Fußboden
    sensorValue0 = sensors.getTempCByIndex(5);              // Raumtemperatur
    
    sensors.requestTemperatures();
    delayInMillis = 1000 / (1 << (12 - resolution));
    lastTempRequest = millis();
  }
  delay(2);
} // Ende readSensoren
Die Variablen sind alle float.
Die kannst du direkt auf einem Display anzeigen.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.03.2020, 00:00
Beitrag #7
RE: Brauche Hilfe, Was Stimmt an meinem Sketch nicht
(19.03.2020 23:43)hotsystems schrieb:  Warum nimmst du nicht einfach ein Beispiel aus der Library ?
Es funktioniert normal auch mit float, das ist sicher nicht dein Problem.

Aktuell lese ich problemlos 6 Sensoren aus, mache es aber nicht per Adresse, sondern per Index.
Hier mein Beispiel:
Code:
void readSensoren(void)
{
  if (millis() - lastTempRequest >= delayInMillis)
  {
    sensorValue1 = sensors.getTempCByIndex(0);              // Warmwasser
    sensorValue2 = sensors.getTempCByIndex(1);              // Zirkulation
    sensorValue3 = sensors.getTempCByIndex(2);              // Vorlauf
    sensorValue4 = sensors.getTempCByIndex(3);              // Rücklauf
    sensorValue5 = sensors.getTempCByIndex(4);              // Fußboden
    sensorValue0 = sensors.getTempCByIndex(5);              // Raumtemperatur
    
    sensors.requestTemperatures();
    delayInMillis = 1000 / (1 << (12 - resolution));
    lastTempRequest = millis();
  }
  delay(2);
} // Ende readSensoren
Die Variablen sind alle float.
Die kannst du direkt auf einem Display anzeigen.

Über index habe ich es vor ungefähr einer woche schon mal versucht. Aber dan bin ich nicht mehr klar gekommen und hatte schon aufgegeben. Dan hab ich es doch nochmal über die addresse versucht und es hat mehr oder weniger funktioniert, ich möchte nicht nochmal von vorne anfangen sondern das bestehende problem lösen.
Hier die Seite mit dem Originalen Sketch
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.03.2020, 00:25
Beitrag #8
RE: Brauche Hilfe, Was Stimmt an meinem Sketch nicht
So z. B.
Code:
....statt TempC1
  lcd.print(67); // Anzeige 67 auf dem LCD
... statt TempC2
  byte neuerWert=23;
  lcd.print(neuerWert); // Anzeige 23 auf dem LCD
...
Gruß GuaAck

(19.03.2020 23:01)Andi-1090 schrieb:  
(19.03.2020 22:48)GuaAck schrieb:  Hallo,

vermutlich ist das float das Problem.

Gib doch einfach mal statt TempC1 einen Zahlenwert und statt TempC2 ein Variable vom Type byte aus.

Gruß GuaAck

Wie und was und wo genau sollte ich es eingeben? Sorry, bin ein ziemlicher anfänger. Blush
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Benötige dringende Hilfe bei CHAR DO3GE 4 182 07.10.2020 10:41
Letzter Beitrag: Tommy56
  Simple if Bedingung funktioniert nicht (Anfänger) Maxcruiser 12 444 22.09.2020 16:12
Letzter Beitrag: hotsystems
  Sketch auf anderem Rechner Telefonmann 2 193 21.09.2020 17:23
Letzter Beitrag: hotsystems
  Werte im Sketch in Variablen speichern Bitklopfer 4 348 06.09.2020 10:25
Letzter Beitrag: Bitklopfer
  Hochladen eines Sketches funktioniert nicht otti123 29 2.873 05.09.2020 15:33
Letzter Beitrag: hotsystems
  Sketch von Uno auf Mega portieren Clixmaster 12 786 15.08.2020 18:36
Letzter Beitrag: hotsystems
  RGB Controller Hilfe bei der Programmierung Jumbo_27 1 280 15.08.2020 17:32
Letzter Beitrag: Tommy56
  Brauch Hilfe bei Laser Nevelierung mit Traktor Schild SiR WonG 4 711 26.07.2020 10:00
Letzter Beitrag: SiR WonG
  Uno startet nicht j.klomfass 4 611 08.07.2020 10:09
Letzter Beitrag: j.klomfass
  Arduino Programm funktioniert auf nano nicht Arduino DMX Master 10 1.462 15.06.2020 13:07
Letzter Beitrag: Arduino DMX Master

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste