Sommario:

Modulo scheda SD con ESP8266: 6 passaggi
Modulo scheda SD con ESP8266: 6 passaggi

Video: Modulo scheda SD con ESP8266: 6 passaggi

Video: Modulo scheda SD con ESP8266: 6 passaggi
Video: Tutorial Arduino ITA 27: modulo WiFi ESP8266 2024, Luglio
Anonim
Image
Image
Modulo scheda SD con ESP8266
Modulo scheda SD con ESP8266
Modulo scheda SD con ESP8266
Modulo scheda SD con ESP8266

In questo assieme, abbiamo una scheda SD collegata all'ESP8266. Mettiamo un DHT22, che misura la temperatura e l'umidità e invia queste informazioni alla scheda SD.

Sul circuito mostra un'umidità di 43,40 e una temperatura di 26,80. Ogni volta che mostra il messaggio "apertura del file con successo", è perché è stato eseguito una volta nel ciclo. Ciò che si verifica in questo scenario è il seguente: solo i valori vengono scritti nel file di registro e quindi il messaggio "apertura del file riuscita" è solo un avviso e non viene registrato.

Passaggio 1: WiFi ESP8266 NodeMcu ESP-12E

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

Qui dettagliamo il componente che utilizziamo, in questo caso il NodeMCU ESP12, insieme alla scheda tecnica di quel dispositivo.

Passaggio 2: sensore di umidità

Sensore di umidità
Sensore di umidità

Nella sequenza, mostro i dettagli su questo altro componente, il DHT22, con i rispettivi pin.

Passaggio 3: modulo scheda SD

Modulo scheda SD
Modulo scheda SD

Questo è il nostro modulo SD Card. Come puoi vedere dal pinout, è con connessione SPI.

Passaggio 4: assemblaggio

Assemblea
Assemblea

Lo schema di montaggio si basa sul lettore, il DHT22, il NodeMCU ESP12. Ho scelto quest'ultimo perché ha bisogno di una quantità ragionevole di IO. Pertanto, l'ESP01 funzionerebbe anche per questo assieme.

Passaggio 5: biblioteche

Biblioteche
Biblioteche

Per questo assembly, è necessaria la libreria DHT dell'IDE Arduino stesso. Basta andare su "Schizzo> Includi libreria> Gestisci librerie" mentre scarichi il DHT. Devi fare la stessa cosa per la libreria SD.

Passaggio 6: codice sorgente

Il codice sorgente utilizzato nell'assembly è semplice ed è solo per mostrare che la scheda SD è in esecuzione. Devi inserire tutta la raffinatezza in seguito, ma puoi utilizzare altre innumerevoli funzionalità. Tuttavia, questo non si applica a questo esempio.

//biblioteca responsável pela comunicação com o 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 // costruttore fa oggetto per comunicare con il sensore DHT dht(DHTPIN, DHTTYPE); //pino legato ao CS do modulo SD Card #define CS_PIN D8;

Impostare

Nella funzione Setup, avvieremo la comunicazione del nostro oggetto con il sensore e inizializzeremo anche la SD Card.

void setup(){ Serial.begin(9600); Serial.print("Inizializando o cartão SD…"); //inicializa o objeto para comunicarmos com o sensor DHT dht.begin(); // verifica se o cartão SD è presente e se pode ser inicializado if (!SD.begin(CS_PIN)) { Serial.println("Falha, verifique se o cartão è presente."); //programma encerrrado return; } //se chegou aqui é porque o cartão foi inicializado corretamente Serial.println("Cartao inicializado."); }

Ciclo continuo

Nel ciclo, leggiamo umidità, umidità e temperatura. Questo è molto simile al linguaggio C standard.

//faz a leitura da umidode float umidode = dht.readHumidity(); Serial.print("Umidade: "); Serial.println(umidade); //faz a leitura da temperatura float temperatura = dht.readTemperature(); Serial.print("Temperatura: "); Serial.println(temperatura); File 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(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. ritardo (2000); }

Consigliato: