Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
Bu montajda, ESP8266 -ya bağlı bir SD Kartımız var. İstilik və rütubəti ölçən və bu məlumatı SD karta göndərən bir DHT22 qoyduq.
Dövrədə 43.40 rütubət və 26.80 temperatur göstərir. Hər dəfə "faylı uğurla açma" mesajını göstərdiyi üçün, döngədə bir dəfə işlədiyi üçün. Bu ssenaridə baş verənlər aşağıdakı kimidir: log faylına yalnız dəyərlər yazılır və beləliklə "faylın uğurla açılması" mesajı yalnız bir məsləhətdir və qeyd edilmir.
Addım 1: WiFi ESP8266 NodeMcu ESP-12E
Burada istifadə etdiyimiz komponenti, bu halda NodeMCU ESP12 -ni, o cihazın məlumat cədvəli ilə birlikdə detallandırırıq.
Addım 2: Rütubət Sensoru
Ardıcıl olaraq, bu digər komponent, DHT22 ilə əlaqəli detalları göstərirəm.
Addım 3: SD Kart Modulu
Bu bizim SD Kart modulumuzdur. Pinoutdan gördüyünüz kimi, SPI bağlantısı ilə.
Addım 4: Montaj
Montaj diaqramı oxucuya, DHT22 -yə, NodeMCU ESP12 -ə əsaslanır. Sonuncunu seçdim, çünki ağlabatan bir miqdarda IO tələb edir. Beləliklə, ESP01 də bu məclis üçün işləyəcək.
Addım 5: Kitabxanalar
Bu montaj üçün Arduino IDE -nin DHT kitabxanasına ehtiyacınız var. DHT yükləyərkən sadəcə "Eskiz> Kitabxanaya Daxil Et> Kitabxanaları İdarə et" bölməsinə keçin. SD Kitabxana üçün də eyni şeyi etməlisiniz.
Addım 6: Mənbə Kodu
Montajda istifadə olunan mənbə kodu sadədir və sadəcə SD Kartın işlədiyini göstərməkdir. Bütün incəlikləri daha sonra daxil etməlisiniz, ancaq digər saysız -hesabsız xüsusiyyətlərdən istifadə edə bilərsiniz. Ancaq bu, bu nümunəyə aid deyil.
// biblioteca answerável pela comunicação com o Cartão SD #include // biblioteca answerável pa comunicação com o sensor DHT22 #include // pino de dados do DHT será ligado no D6 do esp #dehine DHTPIN D2 // sensor #dehine DHTTTYPE // DHT dht (DHTPIN, DHTTYPE) komunikatorları ilə əlaqə qurmaq; // bir SD kart və ya bir SD kart #tanım CS_PIN D8;
Qurmaq
Quraşdırma funksiyasında obyektimizin sensorla ünsiyyətinə başlayacağıq və həmçinin SD Kartı işə salacağıq.
void setup () {Serial.begin (9600); Serial.print ("Şəxsi məlumat kartları SD…"); // DHT dht.begin () ilə əlaqəli əlaqə qurmaq üçün istifadə edin; // verifikasiya SD kart təqdim edirsə (! SD.begin (CS_PIN)) {Serial.println ("Falha, verifique se o cartão está presente."); // geri dönmə proqramı; } // Serial.println ("Cartão inicializado.") ilə əlaqəli hər hansı bir problemi həll etmək; }
Döngə
Döngədə nəm, rütubət və temperatur oxuyuruq. Bu standart C dilinə çox bənzəyir.
// faz a leitura da umidade float umidade = dht.readHumidity (); Serial.print ("Umidade:"); Serial.println (ümidade); // faz a leitura da temperatura float temperatura = dht.readTemperature (); Serial.print ("Temperatura:"); Serial.println (temperatura); Fayl dataFile = SD.open ("LOG.txt", FILE_WRITE); // əlaqə qurmaq, əgər (dataFile) {Serial.println ("O arquivo foi aberto com sucesso.") xilas etmək; // heç bir arquivo yoxdur: linha və linha >> UMIDADE | TEMPERATURA dataFile.print (ümidad); dataFile.print ("|"); dataFile.println (temperatura); // dataFile.close () funksiyasını yerinə yetirir; } // arquivo não pôde xidmətlər göstərir. başqa {Serial.println ("Falha ao abrir o arquivo LOG.txt"); } // aralığında bir çox yeni məlumatlar var. gecikmə (2000); }