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
Variablenprobleme
01.09.2013, 13:26 (Dieser Beitrag wurde zuletzt bearbeitet: 02.09.2013 10:48 von carphunter.)
Beitrag #1
Question Variablenprobleme
Hey Leute Smile

Ich habe ein kleines Problem...
Ich möchte auf einem LC Display die gemessene Temperatur (Variable "temperatur") ausgeben.

Mein Code sieht so aus:
Code:
/* Temp Anfang!! */
        int LM35 = A0;
        float SensorValue = 0;
        float temperatur = 0;
        float temp[5];
      /* Temp ENDE!! */

        /* LCD  Display Anfang!! */
              #include <SoftwareSerial.h>

              #define txPin 2

              SoftwareSerial LCD = SoftwareSerial(0, txPin);
                    // since the LCD does not send data back to the Arduino, we should only define the txPin
              const int LCDdelay=10;  // conservative, 2 actually works

                
                   // wbp: goto with row & column
              void lcdPosition(int row, int col) {
                  LCD.write(0xFE);   //command flag
                  LCD.write((col + row*64 + 128));    //position
                  delay(LCDdelay);
              }
              
              void clearLCD(){
                  LCD.write(0xFE);   //command flag
                  LCD.write(0x01);   //clear command.
                  delay(LCDdelay);
              }
            
             void backlightOn() {  //turns on the backlight
                  LCD.write(0x7C);   //command flag for backlight stuff
                  LCD.write(157);    //light level.
                  delay(LCDdelay);
            }

            void backlightOff(){  //turns off the backlight
                  LCD.write(0x7C);   //command flag for backlight stuff
                  LCD.write(128);     //light level for off.
                  delay(LCDdelay);
            }
            
            void serCommand(){   //a general function to call the command flag for issuing all other commands  
                  LCD.write(0xFE);
            }
       /* LCD Display ENDE!! */
      
  void setup() {
      Serial.begin(9600); //temp
      
      /* LCD Display Anfang!! */
        pinMode(txPin, OUTPUT);
        LCD.begin(9600);
        clearLCD();
        lcdPosition(0,0);
        LCD.print(temperatur);
        LCD.print(" Grad");
      /* LCD Display ENDE!! */
  }

  void loop() {
    /* Temp Anfang!! */
SensorValue = analogRead(LM35); //temp
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(SensorValue, DEC);
//Serial.print(” –> “);
Serial.print(temperatur, 1); //Ausgabe der Temperatur mit einer Nachkommastelle
Serial.println("Grad Celsius");
  /* Temp Ende */
  

      
  }


Liege ich richtig, dass die Reihenfolge der Ausgabecodes nicht stimmt?

Weil mein LCD 0.00 Grad ausgiebt, was ja eigentlich die gesetzte globale Variable ist...

Kann mir jemand helfen, dass ich die schon berechnete Variable [temperatur] "vor" die Ausgabe des LCD bekomme?

Ich hoffe, ihr versteht, was ich meine Big Grin


Mfg und vielen Dank im Voraus
Carphunter
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Gehe zu:


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