Anfänger braucht Hilfe zu Fehleranzeige

Hallo Profis
Ich habe mit Arduino erst angefangen und schon tauchen die ersten Probleme auf.
Ich habe einen Arduino Uno (SainSmart) und folgendes Sketch das eigentlich funktioniert geladen.
Leider werden mir zwei undefinierte Zeichen angezeigt die ich mir nicht erklären kann.
Wäre nett wenn mir jemand helfen könnte.
Also hier der Code.
Bild füge ich ein wenn es klappt.

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

int TMP36 = A1;
int temperatur = 0;
int temp[10];
int time = 50;

void setup()
{
 //Serial.begin(9600);
 lcd.begin(20, 4);
}

void loop()
{

 temp[0] = map(analogRead(TMP36), 0, 410, -50, 150);
 delay(time);
 temp[1] = map(analogRead(TMP36), 0, 410, -50, 150);
 delay(time);
 temp[2] = map(analogRead(TMP36), 0, 410, -50, 150);
 delay(time);
 temp[3] = map(analogRead(TMP36), 0, 410, -50, 150);
 delay(time);
 temp[4] = map(analogRead(TMP36), 0, 410, -50, 150);
 delay(time);
 temp[5] = map(analogRead(TMP36), 0, 410, -50, 150);
 delay(time);
 temp[6] = map(analogRead(TMP36), 0, 410, -50, 150);
 delay(time);
 temp[7] = map(analogRead(TMP36), 0, 410, -50, 150);
 delay(time);
 temp[8] = map(analogRead(TMP36), 0, 410, -50, 150);
 delay(time);
 temp[9] = map(analogRead(TMP36), 0, 410, -50, 150);

 temperatur = (temp[0] + temp[1] + temp[2] + temp[3] + temp[4] + temp[5] + temp[6] + temp[7] + temp[8] + temp[9]) / 10; // Alles in eine Zeile!

 //Serial.print(temperatur);
 //Serial.println(" Grad Celsius");
 lcd.setCursor(0, 0);
 lcd.print(temperatur);
 lcd.println(" Grad Celsius");

}

Forum1.jpg

Du kannst solltest auf das LCD nicht mit lcd.println schreiben. Da gibt es die Anweisung nicht. werden dann meist Steuerzeichen angezeigt.

Kannst du mir bitte auch sagen wie es richtig sein muss?

AlterMann: Kannst du mir bitte auch sagen wie es richtig sein muss?

Nur mit lcd.print.

Vielen Dank für den Tipp! Jetzt funktioniert es. Kannst du mir bitte noch sagen, ob es möglich ist eine Nachkommastelle der Temperatur anzuzeigen?

AlterMann: Vielen Dank für den Tipp! Jetzt funktioniert es. Kannst du mir bitte noch sagen, ob es möglich ist eine Nachkommastelle der Temperatur anzuzeigen?

Dann darfst du als Variable kein "int" nehmen, sondern "float".

Ok Danke Damit kann ich zwar erst mal nichts anfangen (blutiger Anfänger) aber ich werde mich morgen damit beschäftigen. Nochmals Danke

HotSystems: Du kannst auf das LCD nicht mit lcd.println schreiben. Da gibt es die Anweisung nicht.

Das stimmt so nicht. Die Methode gibt es schon. Die kommt ja durch Vererbung aus der Print Klasse. Allerdings schreibt die am Ende CR + LF und das LCD schreibt dann zwei "komische" aus seinem character RAM. Die sind auch fest definiert, aber diese LCDs haben praktisch alle einen japanischen Zeichensatz

Serenifly: Das stimmt so nicht. Die Methode gibt es schon.

Ok, falsch formuliert.

HotSystems:
Dann darfst du als Variable kein “int” nehmen, sondern “float”.

Stimmt auch nicht ganz.
Map arbeitet mit int. Darum funktioniert map nicht mit float.
Man kann die Zahlen mit 10 multiplizieren ( auf -500 bis 1500 mappen) und dann beim Mittelwert bilden durch 100.0 teilen “float Temperatur = Summe/100.0”; dann erhält man eine Float-Zahl mit 1 Nachkomastelle.

@AlterMann
Versuch mal die Mittelwertbildung in einer for Schleife zu machen. Da kannst DU 10 Zeilen durch 1 ersetzen.
Grüße Uwe

uwefed: Stimmt auch nicht ganz. Map arbeitet mit int. Darum funktioniert map nicht mit float. Man kann die Zahlen mit 10 multiplizieren ( auf -500 bis 1500 mappen) und dann beim Mittelwert bilden durch 100.0 teilen "float Temperatur = Summe/100.0"; dann erhält man eine Float-Zahl mit 1 Nachkomastelle.

Ja, ok. Das mit Map habe ich übersehen.... Danke für die Richtigstellung.

Danke @ uwefed

Habe den Code auf -500 bis 1500 geändert und bekomme die Anzeige dreistellig angezeigt. Aber wie muss jetzt das "float Temperatur = Summe/100.0" einfügen. Sorry habe vom Coden noch keine Ahnung!

Versuch mal die Mittelwertbildung in einer for Schleife zu machen. Da kannst DU 10 Zeilen durch 1 ersetzen.

Das kann ich noch nicht :confused:

https://www.arduino.cc/en/Reference/For