Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. #include <WProgram.h>
  2. #include <Wire.h>
  3. #include <DS1307.h>
  4. #include <SD.h>
  5.  
  6. // vytvoří pole čísel do kterých se bude ukládat čas
  7. int rtc[7];
  8. // CS pro četčku karet na pinu 4
  9. // (pro Arduino UNO a Ethernet Shield
  10. const int chipSelect = 4;
  11.  
  12. void setup()
  13. {    
  14.   // nastaví seriovou komunakaci na 9600
  15.   Serial.begin(9600);
  16.  
  17.   Serial.print("Inicializace SD karty...");
  18.   // make sure that the default chip select pin is set to
  19.   // output, even if you don't use it:
  20.   pinMode(10, OUTPUT);
  21.  
  22.   // see if the card is present and can be initialized:
  23.   if (!SD.begin(chipSelect)) {
  24.     Serial.println("/nKarta nenalezena...");
  25.     // don't do anything more:
  26.     return;
  27.   }
  28.   Serial.println("/n Karta inicializovana...");
  29.  
  30.  
  31.  
  32. }
  33. void loop()
  34. {
  35.   // zapíše data z modulu do pole čísel rtc
  36.   RTC.get(rtc,true);  
  37.   // připraví pole znaků pro čas
  38.   char cas[9];  
  39.   // zapíše do pole znaků cas hodnoty z rtc
  40.   sprintf(cas, "%02d:%02d:%02d", rtc[2],rtc[1],rtc[0]);  
  41.  
  42.   String dataString = ""; // inicializuje proměnou pro data
  43.   dataString = cas; // čas do proměné data
  44.   dataString = dataString + " :"; // vhodný oddělovač
  45.   dataString = dataString + String(analogRead(0));
  46.    
  47.    // otevře soubor data.txt
  48.    File dataFile = SD.open("data.txt", FILE_WRITE);
  49.  
  50.   // když soubor existuje zapíše do něj
  51.   if (dataFile) {
  52.     // samotný zápis - zapíše a skočí na nový řádek
  53.     dataFile.println(dataString);
  54.     dataFile.close();
  55.    
  56.     Serial.print("Zapisuji do souboru data - ");
  57.     Serial.println(dataString);
  58.   }  
  59.   // při chybě vypíše hlášku
  60.   else {
  61.     Serial.println("Chyba - nemohu otevřít soubor !!!");
  62.   }
  63.   // Čeká 5 sekund
  64.   delay(5000);
  65.  
  66. }