Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
V tejto zostave máme kartu SD pripojenú k ESP8266. Vložili sme DHT22, ktorý meria teplotu a vlhkosť a odoslal tieto informácie na kartu SD.
Na okruhu ukazuje vlhkosť 43,40 a teplotu 26,80. Zakaždým, keď sa zobrazí správa „Úspešné otvorenie súboru“, je to preto, že sa v cykle spustil raz. V tomto scenári sa vyskytne nasledovné: Do súboru denníka sa zapisujú iba hodnoty, a preto správa „Úspešné otvorenie súboru“je iba odporúčaním a nie je zaznamenané.
Krok 1: WiFi ESP8266 NodeMcu ESP-12E
Tu podrobne uvádzame komponent, ktorý používame, v tomto prípade NodeMCU ESP12, spolu s údajovým listom tohto zariadenia.
Krok 2: Senzor vlhkosti
V uvedenom poradí uvádzam podrobnosti o tomto inom komponente, DHT22, s príslušným pripnutím.
Krok 3: Modul karty SD
Toto je náš modul karty SD. Ako vidíte na vývode, je to s pripojením SPI.
Krok 4: Zostavenie
Schéma montáže sa opiera o čítačku DHT22, NodeMCU ESP12. Vybral som si to druhé, pretože potrebuje primerané množstvo IO. ESP01 by teda fungoval aj pre túto zostavu.
Krok 5: Knižnice
Na toto zostavenie potrebujete knižnicu DHT samotného Arduino IDE. Pri sťahovaní DHT choďte na „Náčrt> Zahrnúť knižnicu> Spravovať knižnice“. To isté musíte urobiť pre knižnicu SD.
Krok 6: Zdrojový kód
Zdrojový kód použitý v zostave je jednoduchý a má iba ukázať, že karta SD beží. Neskôr musíte vložiť všetku sofistikovanosť, ale môžete použiť ďalšie nespočetné množstvo funkcií. To však neplatí pre tento príklad.
// biblioteca responzel pela comunicação com o Cartão SD #include // biblioteca responzel pela comunicação com o sensor DHT22 #include // pino de dados do DHT será ligado no D6 do esp #define DHTPIN D2 // tipo do sensor #define DHTTYPE DHT22 // konštruktér do objektu pre komunikátor com o senzor DHT dht (DHTPIN, DHTTYPE); // pino ligado ao CS do módu SD karta #definovať CS_PIN D8;
Nastaviť
Vo funkcii nastavenia spustíme komunikáciu nášho objektu so senzorom a tiež inicializujeme kartu SD.
void setup () {Serial.begin (9600); Serial.print ("Inicializando o cartão SD …"); // inicializa o objeto para comunicarmos com o senzor DHT dht.begin (); // verifica se o cartão SD está presente e se pode ser inicializado if (! SD.begin (CS_PIN)) {Serial.println ("Falha, verifique se o cartão está presente."); // programa encerrrado return; } // hľadáme prvé a prvé inicializačné koreláty Serial.println („Cartão inicializado.“); }
Slučka
V slučke čítame vlhkosť, vlhkosť a teplotu. Je to veľmi podobné štandardnému jazyku C.
// faz a leitura da umidade float umidade = dht.readHumidity (); Serial.print ("Umidade:"); Serial.println (umidade); // faz a leitura da temperatura float temperatura = dht.readTemperature (); Serial.print ("Temperatura:"); Serial.println (temperatura); Súbor dataFile = SD.open ("LOG.txt", FILE_WRITE); // sa o arquivo foi aberto corretamente, escreve os dados nele if (dataFile) {Serial.println ("O arquivo foi aberto com sucesso."); // formatação no arquivo: linha a linha >> UMIDADE | TEMPERATURA dataFile.print (umidade); dataFile.print ("|"); dataFile.println (temperatura); // fecha o arquivo após usá-lo dataFile.close (); } // se o arquivo não pôde ser aberto os dados não serão gravados. else {Serial.println ("Falha ao abrir o arquivo LOG.txt"); } // intervalo de espera para uma nova leitura dos dados. oneskorenie (2000); }