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
  TFT Display Tool für Planung des Screenaufbaus rev.antun 16 581 29.11.2017 16:03
Letzter Beitrag: rev.antun
  Neuling Fehler beim Kompilieren guenni71 6 277 26.11.2017 16:48
Letzter Beitrag: hotsystems
  M enue System zeigt Fehler rev.antun 11 450 23.11.2017 12:22
Letzter Beitrag: rev.antun
  Fehler in gleitkomma Berechnung BennIY 5 356 04.11.2017 19:10
Letzter Beitrag: Tommy56
Lightbulb Wie kann ich Daten vom Nextion Display auf Arduino Mega2560 senden und benutzen MarkusA 14 967 02.11.2017 23:10
Letzter Beitrag: MarkusA
  Suche Hilfe für den Fehler in der Datei Holzwurm56 5 382 01.11.2017 14:26
Letzter Beitrag: Holzwurm56
  Daten übergabe ans Nextion Display Franz54 53 2.798 09.10.2017 09:16
Letzter Beitrag: Franz54
  Code wird langsamer mit der Laufzeit Wampo 9 582 05.10.2017 11:32
Letzter Beitrag: SkobyMobil
  Nextion Display komma Zahlen darstellen becki133 8 698 18.09.2017 18:26
Letzter Beitrag: becki133
Tongue Visual Studio Code als Editor für die Entwicklung von Arduino Code Klaus(i) 1 356 03.09.2017 19:15
Letzter Beitrag: Mathias

Gehe zu:


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