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
  Compiler Fehler Harti 8 207 16.06.2017 17:51
Letzter Beitrag: Harti
  delay(...) im Code ok? donut 4 175 08.06.2017 20:16
Letzter Beitrag: donut
  Arduino Sensor zeigt falsche Werte an Sandro2504 4 178 04.06.2017 09:03
Letzter Beitrag: hotsystems
  Textdokument in Arduino Code umwandeln Tellen 9 313 03.06.2017 16:30
Letzter Beitrag: Tellen
  Fehler bei Zeitmessung Fox 15 317 24.05.2017 09:19
Letzter Beitrag: SkobyMobil
  Waveform auf Nextion Display GuaAck 6 369 12.04.2017 19:08
Letzter Beitrag: SkobyMobil
  TFT Pixel to Code oOSpikeOo 5 280 06.04.2017 18:49
Letzter Beitrag: Tommy56
  neues OLED Display nötig an vorhandenem uC Systemswerlich Ersatz hd311 7 248 26.03.2017 11:16
Letzter Beitrag: hd311
  Pinbelegung TFT-Display ILI9341 mingo 19 750 23.03.2017 17:49
Letzter Beitrag: oOSpikeOo
  Tri-State Code ?? Franz54 3 225 12.02.2017 19:23
Letzter Beitrag: Franz54

Gehe zu:


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