#define DHTTYPE DHT22 const int chipSelect = 10; const int DHTvcc = 6; const int DHTdat = 5; const int DHTgnd = 3; const int timeRate = 5; #include #include dht DHT; double DHTtemp , DHThumid; int DHTread; SdFat sd; SdFile logFile; void setup() { // setup IO pins to power DHT11 / DHT22 sensor pinMode (DHTdat, INPUT_PULLUP); pinMode (DHTvcc, OUTPUT); pinMode (DHTgnd, OUTPUT); digitalWrite(DHTvcc, HIGH); digitalWrite (DHTgnd, LOW); Serial.begin(57600); Serial.println("Pomiar temperatury i wilgotnosci z zapisem na karte SD"); Serial.println("Dane zapisywane do log.csv na karcie MicroSD"); delay(2000); DHTread = DHT.read22(DHTdat); switch (DHTread) { case DHTLIB_OK: Serial.println("Sensor OK."); break; default: Serial.println("ERROR: Problem z sensorem nie wykryto."); } ` if (!sd.begin(chipSelect)) { Serial.println("ERROR karty SD ."); } else { Serial.println("Karta SD ok!"); } } void loop() { delay(timeRate * 1000); if (!logFile.open("log.csv", O_RDWR | O_CREAT | O_AT_END)) { sd.errorHalt("Blad pliku log.csv"); } else { Serial.print("zapis danych. "); } DHTread = DHT.read22(DHTdat); DHTtemp = DHT.temperature; DHThumid = DHT.humidity; Serial.print("Temperatura: "); Serial.print(DHTtemp); Serial.print("C "); Serial.print(" Wilgotnosc: "); Serial.print(DHThumid); Serial.println("%"); logFile.print(" Temperatura: ");logFile.print(DHTtemp); logFile.print(" C"); logFile.print(","); logFile.print(" Wilgotność : "); logFile.println(DHThumid);logFile.print(" %"); // write data logFile.close(); }