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
Anzeige von Daten
16.06.2017, 19:00
Beitrag #9
RE: Anzeige von Daten
(15.06.2017 17:17)FreDicnc schrieb:  ok hier der Komplette code. Das Problem ist ich möchte anschliessend eine Excel Tabelle daraus machen.
Gruss Dirk
Dann musst Du jeden Datensatz in eine Zeile schreiben und zwischen allen Datenfeldern das gleiche Trennzeichen setzen, also z.B. ";" oder "|".

Probier das am einfachsten mit einer einfachen am PC geschriebenen Textdatei, welches Zeichen Excel am liebsten hat.
Es kann auch notwendig sein, dass die Datei nicht "datei.txt" sondern "datei.csv" heißen muss.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
24.06.2017, 11:09
Beitrag #10
RE: Anzeige von Daten
So hat lange gedauert nun is es fertig.
Temperatur Datenlogger mit SD-Card und LCD display.
erweiterbar bis 250 Fühler. Nutze im moment nur 4 werde aber auf 10 aufbauen.
Nun der Code....umständlich aber funkt......
Code:
#include <LiquidCrystal.h>
#include <SPI.h>
#include <SD.h>
#include <Wire.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include "RTClib.h"
LiquidCrystal lcd(10, 9, 5, 4, 3, 2);

          
uint32_t syncTime = 0;              
#define ECHO_TO_SERIAL   1          
#define WAIT_TO_START    0                            
#define greenLEDpin 13                
int timescore = 0;
const int chipSelect = 10;          
File logfile;                        


#define ONE_WIRE_BUS_PIN 8          
OneWire oneWire(ONE_WIRE_BUS_PIN);    
DallasTemperature sensors(&oneWire);

DeviceAddress Probe_01 = { 0x28, 0xFF, 0x22, 0x0D, 0x8A, 0x16, 0x03, 0x02 };  
DeviceAddress Probe_02 = { 0x28, 0xFF, 0xEa, 0xE1, 0x89, 0x16, 0x03, 0xA1 };  
DeviceAddress Probe_03 = { 0x28, 0xFF, 0x31, 0x1B, 0x8A, 0x16, 0x03, 0x01 };
DeviceAddress Probe_04 = { 0x28, 0xFF, 0x43, 0x23, 0x8A, 0x16, 0x03, 0xbb };  
float Temp_1, Temp_2,Temp_3, Temp_4 ;            


RTC_DS1307 RTC;                      



void setup(void)
{
  pinMode(greenLEDpin, OUTPUT);
  Serial.begin(9600);
  Serial.println("");
  Serial.print("Datenlogger ");  
  lcd.clear();
  lcd.begin(16, 2);
  lcd.setCursor(0, 0);
  lcd.print("Datenlogger");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
  lcd.setCursor(0, 1);
  lcd.print("");
   delay(5000);
  
  sensors.begin();                    
  sensors.setResolution(Probe_01, 10);
  sensors.setResolution(Probe_02, 10);
  sensors.setResolution(Probe_03, 10);
  sensors.setResolution(Probe_04, 10);

  Serial.println();
  Serial.print("Folgende Fühler gefunden = ");  
  Serial.println(sensors.getDeviceCount());  
  Serial.println("========================= ");
  Serial.println("Temp_1 = Probe_01 ");
  Serial.println("Temp_2 = Probe_02 ");
  Serial.println("Temp_3 = Probe_03 ");
  Serial.println("Temp_4 = Probe_04 ");
  Serial.println("========================= ");
  Serial.println ("Messrate 10 sec.");
  Serial.println("LED blinkt bei Aufzeichnung ");
  Serial.println("");
  Serial.println("");  
  
#if WAIT_TO_START
  Serial.println("Type any character to start");
  
  while (!Serial.available());
#endif //WAIT_TO_START



  Serial.print("Initialisierung der Speicherkarte.....");
   lcd.clear();
  lcd.begin(16, 2);
  lcd.setCursor(0, 0);
  lcd.print("Initialisierung");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
  lcd.setCursor(0, 1);
  lcd.print("der Speicherkarte");
   delay(5000);
  pinMode(10, OUTPUT);
  

  if (!SD.begin(chipSelect)) {
    error("Karten Fehler oder nicht gesteckt");
     lcd.clear();
  lcd.begin(16, 2);
  lcd.setCursor(0, 0);
  lcd.print("Karten Fehler oder");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
  lcd.setCursor(0, 1);
  lcd.print("Karte nicht gesteckt");
   delay(5000);
  }
  Serial.println("initialisiere Karte.");
  
  
  char filename[] = "LOGGER00.TXT";
  for (uint8_t i = 0; i < 100; i++) {
    filename[6] = i/10 + '0';
    filename[7] = i%10 + '0';
    if (! SD.exists(filename)) {
      
      logfile = SD.open(filename, FILE_WRITE);
      break;  // leave the loop!
    }
  }
  
  if (! logfile) {
    error("kann Datei nicht erstellen");
  }
  
  Serial.print("Logging to: ");
  Serial.println(filename);
  lcd.begin(16, 2);
  lcd.setCursor(0, 0);
  lcd.print("Datei Name");
  lcd.setCursor(0, 1);
  lcd.print(filename);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
  
   delay(5000);

  
  Wire.begin();  
  if (!RTC.begin()) {
    logfile.println("RTC Fehler");
  #if ECHO_TO_SERIAL
    Serial.println("RTC Fehler");
  #endif  //ECHO_TO_SERIAL
  }

  logfile.println("time,,Probe_01,Probe_02,Probe_03,Probe_04");  
    
  #if ECHO_TO_SERIAL
   Serial.println("time,,Probe_01,Probe_02,Probe_03,Probe_04");
    
  #endif //ECHO_TO_SERIAL
  
}

void loop(void)
{

  sensors.requestTemperatures();      
  DateTime now;


  
  
  digitalWrite(greenLEDpin, HIGH);
  

  #if ECHO_TO_SERIAL

  #endif

  
  now = RTC.now();

  logfile.print(now.hour(), DEC);
  logfile.print(":");
  logfile.print(now.minute(), DEC);
  logfile.print(":");
  logfile.print(now.second(), DEC);
  logfile.print(' ');
  
#if ECHO_TO_SERIAL

  Serial.print(now.hour(), DEC);
  Serial.print(":");
  Serial.print(now.minute(), DEC);
  Serial.print(":");
  Serial.print(now.second(), DEC);
  Serial.print(' ');
  
#endif //ECHO_TO_SERIAL


  logfile.print(" ");    

Temp_1 = sensors.getTempC(Probe_01);
Temp_2 = sensors.getTempC(Probe_02);
Temp_3 = sensors.getTempC(Probe_03);
Temp_4 = sensors.getTempC(Probe_04);


#if ECHO_TO_SERIAL
  Serial.print(" ");  
  Serial.print(Temp_1);
  Serial.print(" ");    
  Serial.print(Temp_2);
   Serial.print(" ");  
  Serial.print(Temp_3);
  Serial.print(" ");    
  Serial.print(Temp_4);
  logfile.print(" ");    
  logfile.print(Temp_1);
  logfile.print(" ");
  logfile.print(Temp_2);
logfile.print(" ");    
  logfile.print(Temp_3);
  logfile.print(" ");
  logfile.print(Temp_4);
  
    lcd.clear();
    lcd.begin(16, 2);
    lcd.setCursor(0, 0);
    lcd.print(Temp_1);lcd.print(" C Aussen");
    lcd.setCursor(0, 1);
    lcd.print(now.hour(), DEC);lcd.print(":");lcd.print(now.minute(), DEC);lcd.print(":");lcd.print(now.second(), DEC);lcd.print("  ");lcd.print(now.day(), DEC);lcd.print(".");lcd.print(now.month(), DEC);lcd.print(".");lcd.print(now.year(), DEC);
    delay(10000);
    
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print(Temp_2);lcd.print(" C Kessel");
    lcd.setCursor(0, 1);
    lcd.print(now.hour(), DEC);lcd.print(":");lcd.print(now.minute(), DEC);lcd.print(":");lcd.print(now.second(), DEC);lcd.print("  ");lcd.print(now.day(), DEC);lcd.print(".");lcd.print(now.month(), DEC);lcd.print(".");lcd.print(now.year(), DEC);
    delay(10000);
    
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print(Temp_3);lcd.print(" C Vorlauf 1");
    lcd.setCursor(0, 1);
    lcd.print(now.hour(), DEC);lcd.print(":");lcd.print(now.minute(), DEC);lcd.print(":");lcd.print(now.second(), DEC);lcd.print("  ");lcd.print(now.day(), DEC);lcd.print(".");lcd.print(now.month(), DEC);lcd.print(".");lcd.print(now.year(), DEC);
    delay(10000);
    
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print(Temp_4);lcd.print(" C Boiler");
    lcd.setCursor(0, 1);
    lcd.print(now.hour(), DEC);lcd.print(":");lcd.print(now.minute(), DEC);lcd.print(":");lcd.print(now.second(), DEC);lcd.print("  ");lcd.print(now.day(), DEC);lcd.print(".");lcd.print(now.month(), DEC);lcd.print(".");lcd.print(now.year(), DEC);
    delay(10000);
    
    

  
#endif


  logfile.print(" ");
  logfile.println();
  
#if ECHO_TO_SERIAL
  Serial.println();
#endif // ECHO_TO_SERIAL
  digitalWrite(greenLEDpin, LOW);
  logfile.flush();
  //delay(30000);
}




void printTemperature(DeviceAddress deviceAddress)
{

float tempC = sensors.getTempC(deviceAddress);

   if (tempC == -127.00)
   {
   Serial.print("Fehler Fühler  ");
   }
   else
   {
   }  
}


void error(char *str)
{
  Serial.print("error: ");
  Serial.println(str);
  


}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Fehlerhafte Anzeige der LiquidCrystal und debug.h do1xxy 16 199 14.07.2018 17:29
Letzter Beitrag: Tommy56
  Problem mit TFT Display Anzeige wechseln Thor Wallhall 10 875 06.07.2018 20:51
Letzter Beitrag: Thor Wallhall
  Hilfe bei der Programmierung Digitaluhr ,mit Anzeige 32x8 Lora 1 416 10.03.2018 11:44
Letzter Beitrag: hotsystems
  NTC für LCD-Anzeige.Weiter bekomme ich nicht hin malsehen 17 1.339 09.03.2018 20:28
Letzter Beitrag: malsehen
  Daten vom Arduino Mega an Nextion Diskusguppy 4 552 25.02.2018 13:29
Letzter Beitrag: hotsystems
  ILI9341 MEGA2560 keine BMP anzeige tillmg 4 490 08.02.2018 20:18
Letzter Beitrag: georg01
  Hilfe!!! bei 7-Segment Anzeige Markus2018 9 878 31.01.2018 21:14
Letzter Beitrag: Tommy56
Information DHT 22 Daten per 433 Mhz senden Niklas 5 911 10.12.2017 17:15
Letzter Beitrag: hotsystems
Lightbulb Wie kann ich Daten vom Nextion Display auf Arduino Mega2560 senden und benutzen MarkusA 14 2.295 02.11.2017 23:10
Letzter Beitrag: MarkusA
  Daten übergabe ans Nextion Display Franz54 53 5.070 09.10.2017 09:16
Letzter Beitrag: Franz54

Gehe zu:


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