Turinys:

SD kortelės modulis su ESP8266: 6 žingsniai
SD kortelės modulis su ESP8266: 6 žingsniai

Video: SD kortelės modulis su ESP8266: 6 žingsniai

Video: SD kortelės modulis su ESP8266: 6 žingsniai
Video: Using Micro SD Card and Data logging with Arduino | Arduino Step by Step Course Lesson 106 2024, Liepa
Anonim
Image
Image
SD kortelės modulis su ESP8266
SD kortelės modulis su ESP8266
SD kortelės modulis su ESP8266
SD kortelės modulis su ESP8266

Šiame surinkime mes turime SD kortelę, prijungtą prie ESP8266. Mes įdėjome DHT22, kuris matuoja temperatūrą ir drėgmę ir siunčia šią informaciją į SD kortelę.

Grandinėje jis rodo 43,40 drėgmę ir 26,80 temperatūrą. Kiekvieną kartą, kai rodomas pranešimas „sėkmingai atidarant failą“, taip yra todėl, kad jis vieną kartą buvo paleistas cikle. Pagal šį scenarijų taip: į žurnalo failą įrašomos tik vertės, todėl pranešimas „sėkmingai atidaryti failą“yra tik patariamasis ir nėra įrašomas.

1 veiksmas: „WiFi ESP8266 NodeMcu ESP-12E“

„WiFi“ESP8266 „NodeMcu ESP-12E“
„WiFi“ESP8266 „NodeMcu ESP-12E“

Čia mes išsamiai aprašome komponentą, kurį naudojame, šiuo atveju „NodeMCU ESP12“, kartu su to įrenginio duomenų lapu.

2 žingsnis: drėgmės jutiklis

Drėgmės jutiklis
Drėgmės jutiklis

Iš eilės aš rodau išsamią informaciją apie šį kitą komponentą, DHT22, su atitinkamu prisegimu.

3 žingsnis: SD kortelės modulis

SD kortelės modulis
SD kortelės modulis

Tai yra mūsų SD kortelės modulis. Kaip matote iš kištuko, jis yra su SPI ryšiu.

4 žingsnis: Surinkimas

Surinkimas
Surinkimas

Surinkimo schema remiasi skaitytuvu DHT22, NodeMCU ESP12. Aš pasirinkau pastarąjį, nes jam reikia pagrįsto kiekio IO. Taigi, ESP01 taip pat tiktų šiam surinkimui.

5 žingsnis: bibliotekos

Bibliotekos
Bibliotekos

Šiam surinkimui jums reikia paties „Arduino IDE“DHT bibliotekos. Atsisiųsdami DHT tiesiog eikite į „Eskizas> Įtraukti biblioteką> Tvarkyti bibliotekas“. Tą patį turite padaryti ir su SD biblioteka.

6 žingsnis: šaltinio kodas

Surinkime naudojamas šaltinio kodas yra paprastas ir tik parodo, kad SD kortelė veikia. Visą įmantrumą turite įterpti vėliau, tačiau galite naudoti ir daugybę kitų funkcijų. Tačiau tai netaikoma šiam pavyzdžiui.

// biblioteka atsako į žaidimą com comunicação com o Cartão SD #include // biblioteca responseável pela comunicação com o sensor DHT22 #include // pino de dados do DHT seria ligado no D6 do esp #define DHTPIN D2 // tipo do sensor #define DHTTYPE DHT22 // construtor do objeto para comunicar com o sensor DHT dht (DHTPIN, DHTTYPE); // pino ligado ao CS do method SD Card #define CS_PIN D8;

Sąranka

Naudodami sąrankos funkciją pradėsime objekto ryšį su jutikliu, taip pat inicijuosime SD kortelę.

void setup () {Serial.begin (9600); Serial.print („Inicializando o cartão SD…“); // inicializa o objeto para comunicarmos com o sensor 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; } // se chegou aqui é porque o cartão foi inicializado corretamente Serial.println ("Cartão inicializado."); }

Kilpa

Kilpoje mes skaitome drėgmę, drėgmę ir temperatūrą. Tai labai panašu į standartinę C kalbą.

// 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 ("Temperatūra:"); Serial.println (temperatūra); Failo duomenysFailas = SD.open ("LOG.txt", FILE_WRITE); // se 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 (temperatūra); // 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. vėlavimas (2000 m.); }

Rekomenduojamas: