INHOUDSOPGAWE:

SD -kaartmodule met ESP8266: 6 stappe
SD -kaartmodule met ESP8266: 6 stappe

Video: SD -kaartmodule met ESP8266: 6 stappe

Video: SD -kaartmodule met ESP8266: 6 stappe
Video: 😫 Перечисляем слабые места VW Touareg: неужели всё так печально? 2024, Julie
Anonim
Image
Image
SD -kaartmodule met ESP8266
SD -kaartmodule met ESP8266
SD -kaartmodule met ESP8266
SD -kaartmodule met ESP8266

In hierdie vergadering het ons 'n SD -kaart wat gekoppel is aan die ESP8266. Ons plaas 'n DHT22, wat temperatuur en humiditeit meet, en stuur hierdie inligting na die SD -kaart.

Op die kring toon dit 'n humiditeit van 43,40 en 'n temperatuur van 26,80. Elke keer dat die boodskap 'die lêer suksesvol oopmaak' verskyn, is dit omdat dit een keer in die loop was. Wat in hierdie scenario voorkom, is soos volg: slegs die waardes word na die loglêer geskryf, en daarom is die boodskap "die lêer suksesvol oopmaak" slegs 'n advies en word dit nie opgeteken nie.

Stap 1: WiFi ESP8266 NodeMcu ESP-12E

WiFi ESP8266 NodeMcu ESP-12E
WiFi ESP8266 NodeMcu ESP-12E

Hier beskryf ons die komponent wat ons gebruik, in hierdie geval die NodeMCU ESP12, saam met die datablad van die toestel.

Stap 2: Humiditeitsensor

Humiditeit sensor
Humiditeit sensor

In die volgorde wys ek besonderhede oor hierdie ander komponent, die DHT22, met die onderskeie vasmaak.

Stap 3: SD -kaartmodule

SD kaart module
SD kaart module

Dit is ons SD -kaartmodule. Soos u uit die pinout kan sien, is dit met SPI -verbinding.

Stap 4: Montering

Vergadering
Vergadering

Die samestellingsdiagram maak staat op die leser, die DHT22, die NodeMCU ESP12. Ek het laasgenoemde gekies omdat dit 'n redelike hoeveelheid IO's benodig. Die ESP01 sal dus ook vir hierdie vergadering werk.

Stap 5: Biblioteke

Biblioteke
Biblioteke

Vir hierdie vergadering benodig u die DHT -biblioteek van die Arduino IDE self. Gaan net na "Skets> Sluit biblioteek in> Beheer biblioteke" terwyl u die DHT aflaai. U moet dieselfde doen vir die SD -biblioteek.

Stap 6: Bronkode

Die bronkode wat in die samestelling gebruik word, is eenvoudig, en dit is slegs om aan te toon dat die SD -kaart werk. U moet later al die gesofistikeerdheid invoeg, maar u kan ander ontelbare funksies gebruik. Dit geld egter nie vir hierdie voorbeeld nie.

// biblioteca responsável pela comunicação com of Cartão SD #include // biblioteca responsável 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 // 'n oprigter vir 'n kommunikasie met 'n sensor DHT dht (DHTPIN, DHTTYPE); // pino ligado ao CS do módulo SD Card #define CS_PIN D8;

Stel op

In die instellingsfunksie begin ons die kommunikasie van ons voorwerp met die sensor, en begin ons ook die SD -kaart.

ongeldige opstelling () {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 terugkeer; } // se chegou aqui é porque o cartão foi inicializado corretamente Serial.println ("Cartão inicializado."); }

Lus

In die lus lees ons vog, humiditeit en temperatuur. Dit is baie soos die standaard C -taal.

// 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 ("Temperatuur:"); Serial.println (temperatuur); Lêer dataFile = 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 (temperatuur); // 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. anders {Serial.println ("Falha ao abrir o arquivo LOG.txt"); } // intervalo de espera para uma nova leitura dos dados. vertraging (2000); }

Aanbeveel: