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
Display zeigt nichts mehr an. Code-Logik Fehler?
02.12.2014, 00:14
Beitrag #1
Question Display zeigt nichts mehr an. Code-Logik Fehler?
Hallo und Guten Tag,
ich habe mit meinem Code ein problem und ich finde den Fehler einfach nicht, ich bin noch ein neuling in sachen Arduino.

Erstmal das Setting:
Arduino UNO
DfRobot Shield
Temperatur Sensor LM35

Erst hatte ich den Code beispiel von einer seite genommen der wie folgt aus gesehen hat:

Code:
int LM35 = A1;
float SensorValue = 0;
float temperatur = 0;
float temp[5];

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

void loop() {
SensorValue = analogRead(LM35);
temp[1] = (5.0 * analogRead(LM35) * 100.0) / 1024;
delay(1000); // 1 Sekunde Pause zwischen den Messungen machen
temp[2] = (5.0 * analogRead(LM35) * 100.0) / 1024;
delay(1000);
temp[3] = (5.0 * analogRead(LM35) * 100.0) / 1024;
delay(1000);
temp[4] = (5.0 * analogRead(LM35) * 100.0) / 1024;
delay(1000);
temp[5] = (5.0 * analogRead(LM35) * 100.0) / 1024;

temperatur = (temp[1] + temp[2] + temp[3] + temp[4] + temp[5])/5; //Mittelwert aus 5 Messungen bilden

Serial.print(temperatur, 1); //Ausgabe der Temperatur mit einer Nachkommastelle
Serial.println("Grad Celsius");
}

Das ging prima, nun hab ich das LCD Shield bekommen und fing sofort an mich daran zu versuchen, nur jedes mal wenn ich mein Code einfüge zeigte das Display nichts mehr an.

Ich habe es als Funktionsaufruf versucht und auch ohne, es spielte keine rolle.
Schmeiß ich jedoch den Code wieder raus funktioniert es, nur halt ohne Temperatur.

Meine Vermutung ist das es irgendwie ein "Logik?" fehler ist, nur ich habe keine ahnung "wo/was" da ich noch neu auf dem Arduino gebiet bin.
Der Compiler läuft normal durch.

Ich gucke schon seit Stunden keine ahnung evt. könntet ihr mir da weiterhelfen?

Hier der Endgültige Code, habe die stellen makiert mit "Hier" die wenn ich sie Auskommentiere das Display wieder geht, makiert.

Grüße,
Remos
Code:
int LM35 = A1;
float SensorValue = 0;
float temperatur = 0;
float temp[5];

#include <LiquidCrystal.h>

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);        // select the pins used on the LCD panel
  

void setup(){
    lcd.begin(16, 2);                       // start the library
}


int GetTemp(){  
  SensorValue = analogRead(LM35);
temp[1] = (5.0 * analogRead(LM35) * 100.0) / 1024;
delay(1000); // 1 Sekunde Pause zwischen den Messungen machen
temp[2] = (5.0 * analogRead(LM35) * 100.0) / 1024;
delay(1000);
temp[3] = (5.0 * analogRead(LM35) * 100.0) / 1024;
delay(1000);
temp[4] = (5.0 * analogRead(LM35) * 100.0) / 1024;
delay(1000);
temp[5] = (5.0 * analogRead(LM35) * 100.0) / 1024;

temperatur = (temp[1] + temp[2] + temp[3] + temp[4] + temp[5])/5; //Mittelwert aus 5 Messungen bilden
}

void loop(){
    
GetTemp(); // <-- Hier

             lcd.setCursor(0, 0);                   // set the LCD cursor   position
             lcd.print("T: ");              
             lcd.print(temperatur);             // <-- Hier
             lcd.print("C");              
     //}
    delay(500);
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.12.2014, 10:00 (Dieser Beitrag wurde zuletzt bearbeitet: 02.12.2014 10:00 von Thorsten Pferdekämper.)
Beitrag #2
RE: Display zeigt nichts mehr an. Code-Logik Fehler?
Hi,
wenn Du ein Array der Länge 5 definierst (float temp[5]), dann geht der Index von 0 bis 4. (Das ist C++, nicht ABAP.) Wenn Du in temp[5] was reinschreibst, dann überschreibt das irgendeinen Speicherbereich hinter dem Array. Was dann passiert ist oft nicht wirklich vorherzusagen. Es kann gut gehen, kann aber auch praktisch beliebige Fehler erzeugen.
Der Fehler liegt also schon im kopierten Coding.
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.12.2014, 15:27 (Dieser Beitrag wurde zuletzt bearbeitet: 02.12.2014 15:27 von Remos.)
Beitrag #3
RE: Display zeigt nichts mehr an. Code-Logik Fehler?
Hi Thorsen,
ja genau daran hats gelegen ich habe die Funktion GetTemp angepasst und habe von 0-4 rechnen lassen statt von 1-5 jetzt gehts, wenn auch das display noch nicht korrekt arbeitet(kleiner denkfehler) aber das werde ich selber raus bekommen Smile

Vielen Dank,
Dennis B.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Daten übergabe ans Nextion Display Franz54 53 1.550 09.10.2017 09:16
Letzter Beitrag: Franz54
  Code wird langsamer mit der Laufzeit Wampo 9 270 05.10.2017 11:32
Letzter Beitrag: SkobyMobil
  Nextion Display komma Zahlen darstellen becki133 8 382 18.09.2017 18:26
Letzter Beitrag: becki133
Tongue Visual Studio Code als Editor für die Entwicklung von Arduino Code Klaus(i) 1 254 03.09.2017 19:15
Letzter Beitrag: Mathias
  433 MHz - Empfaenger + OLED display Matthias_Arduino 4 256 03.09.2017 17:25
Letzter Beitrag: hotsystems
Wink Arduino TFT Display MEGA 2560 Samsuino 47 3.180 24.07.2017 12:45
Letzter Beitrag: Harry Hirsch
  Nextion Display führt keine gesendeten Befehle aus re.eule 12 1.773 13.07.2017 21:46
Letzter Beitrag: SkobyMobil
  Volume Up falscher Tastatur Hex-Code Maxi290997 7 504 03.07.2017 21:49
Letzter Beitrag: Maxi290997
  Compiler Fehler Harti 8 519 16.06.2017 17:51
Letzter Beitrag: Harti
  delay(...) im Code ok? donut 4 446 08.06.2017 20:16
Letzter Beitrag: donut

Gehe zu:


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