Niestety w swoich zasobach nie miałem DTH22 jedynie DTH11 przerobiłem troszkę twój programik pod DTH11 i zapis na karcie jest poprawny niezależnie czy daję mu do zapisu dane byte , int czy float .Zerknij może na coś wpadniesz .
Jedyne co rzuca mi się w oczy to zdeklaruj " float temperature " przed setup aby była widoczna dla całego programu i zapisz na kartę " temperature " a nie " adress " bo nie wiem w jakiej formie DTH wysyła dane .
Jedyne co rzuca mi się w oczy to zdeklaruj " float temperature " przed setup aby była widoczna dla całego programu i zapisz na kartę " temperature " a nie " adress " bo nie wiem w jakiej formie DTH wysyła dane .
Kod:
#include <SPI.h>
#include <SD.h>
#include <DHT11.h>
DHT11 dht11(3);
float temp, humi;
void setup() {
Serial.begin(9600);
Serial.print("Initializing SD card...");
if (!SD.begin(10)) {
Serial.println("Card failed, or not present");
return;
}
Serial.println("card initialized.");
}
void loop() {
int err;
if((err=dht11.read(humi, temp))==0)
{
Serial.print("temperature:");
Serial.print(temp);
Serial.print(" humidity:");
Serial.print(humi);
Serial.println();
File dataFile = SD.open("datalog.txt", FILE_WRITE);
if (dataFile) {
dataFile.print("wilgotnosc : ");
dataFile.print(humi);
dataFile.print(" ");
dataFile.print("temperatura : ");
dataFile.print(temp);
dataFile.println(" ");
dataFile.close();
}
}
}
Ważne aby robić co się lubi albo lubić co się robi .
Arduino UNO, TINY, PRO MINI
Pomoc nagradzamy punktami reputacji
Arduino UNO, TINY, PRO MINI
Pomoc nagradzamy punktami reputacji