mpmcws

DHT11 e SD

Jun 15th, 2018
80
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //SD + DHT11
  2. //Aprile 2018
  3. #include <SoftwareSerial.h>
  4. #include <DHT.h>
  5. #include <SPI.h>
  6. #include <SD.h>
  7.  
  8. // Variabili globali
  9. int DHTPIN = 2;
  10. const int chipSelect = 4;
  11. unsigned long Secs=0;
  12. #define DHTTYPE DHT11   // DHT 11
  13.  
  14. DHT dht(DHTPIN, DHTTYPE);
  15.  
  16. void setup() {
  17.   // Aprire la comunicazione seriale
  18.   Serial.begin(9600);
  19.   while (!Serial) {
  20.     ; // Attendere l`apertura della comunicazione seriale
  21.   }
  22.   dht.begin();
  23.  
  24.   Serial.print("Inizializzazione SD card...");
  25.  
  26.   // Se la card è presente inizia
  27.   if (!SD.begin(chipSelect)) {
  28.     Serial.println("SD Card non valida o non presente");
  29.     // non eseguire più il codice
  30.     return;
  31.   }
  32.   Serial.println("SD Card inizializzazione.");
  33. }
  34.  
  35. void loop() {
  36.   // crea una stringa per assemblare i dati di log
  37.   String dataString = "";
  38.   int h = dht.readHumidity();
  39.   // Leggi la temperatura in Celsius (di default)
  40.   int t = dht.readTemperature(false); // true= fahrenheit   false= celsius
  41.   unsigned long Secs=millis();
  42.   Secs=(millis/1000)
  43.  
  44.   // Aprire il file. Da notare che può essere aperto un solo file alla volta,
  45.   // quindi bisogna chiudere questa prima di aprirne un'altra.
  46.   File dataFile = SD.open("datalog.txt", FILE_WRITE);
  47.  
  48.   // Se è presente il file, scrivi su i millisecondi,umidità, temperatura:
  49.   if (dataFile) {
  50.     dataFile.println(String(Secs)+","+String(h)+","+String(t));
  51.     dataFile.close();
  52.     // Scrivi sul monitor seriale i millisecondi,umidità, temperatura:
  53.     Serial.println(String(Secs)+","+String(h)+","+String(t));
  54.     delay(10000);  // Ogni 10 secondi
  55.   }
  56.   // Se il file non è aperto, scrivi sul monitor seriale:
  57.   else {
  58.     Serial.println("Errore apertura datalog.txt");
  59.   }
  60. }
RAW Paste Data