Índice:

Módulo de cartão SD com ESP8266: 6 etapas
Módulo de cartão SD com ESP8266: 6 etapas

Vídeo: Módulo de cartão SD com ESP8266: 6 etapas

Vídeo: Módulo de cartão SD com ESP8266: 6 etapas
Vídeo: Módulo SD Card com ESP8266 2024, Julho
Anonim
Image
Image
Módulo de cartão SD com ESP8266
Módulo de cartão SD com ESP8266
Módulo de cartão SD com ESP8266
Módulo de cartão SD com ESP8266

Nesta montagem, temos um cartão SD conectado ao ESP8266. Colocamos um DHT22, que mede temperatura e umidade e envia essas informações para o cartão SD.

No circuito, mostra umidade de 43,40 e temperatura de 26,80. Cada vez que mostra a mensagem "abrindo o arquivo com sucesso", é porque foi executado uma vez no loop. O que ocorre neste cenário é o seguinte: apenas os valores estão sendo gravados no arquivo de log, portanto, a mensagem "abrindo o arquivo com sucesso" é apenas um aviso, e não é registrado.

Etapa 1: WiFi ESP8266 NodeMcu ESP-12E

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

Aqui detalhamos o componente que usamos, neste caso o NodeMCU ESP12, junto com o datasheet desse dispositivo.

Etapa 2: sensor de umidade

Sensor de umidade
Sensor de umidade

A seguir, apresento detalhes sobre esse outro componente, o DHT22, com a respectiva pinagem.

Etapa 3: Módulo de cartão SD

Módulo de cartão SD
Módulo de cartão SD

Este é o nosso módulo de cartão SD. Como você pode ver pela pinagem, é com conexão SPI.

Etapa 4: Montagem

conjunto
conjunto

O diagrama de montagem depende do leitor, o DHT22, o NodeMCU ESP12. Escolhi o último porque ele precisa de uma quantidade razoável de pedidos de veiculação. Assim, o ESP01 também funcionaria para esta montagem.

Etapa 5: Bibliotecas

Bibliotecas
Bibliotecas

Para esta montagem, você precisa da biblioteca DHT do próprio Arduino IDE. Basta ir para "Sketch> Incluir Biblioteca> Gerenciar Bibliotecas" ao fazer o download do DHT. Você deve fazer a mesma coisa para a Biblioteca SD.

Etapa 6: Código Fonte

O código-fonte utilizado na montagem é simples, e serve apenas para mostrar que o SD Card está funcionando. Você tem que inserir toda a sofisticação posteriormente, mas pode usar outros inúmeros recursos. No entanto, isso não se aplica a este exemplo.

// biblioteca responsável pela comunicação com o Cartão SD # inclui // 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 // construtor do objeto para comunicar com o sensor DHT dht (DHTPIN, DHTTYPE); // pino ligado ao CS do módulo SD Card #define CS_PIN D8;

Configurar

Na função de configuração, vamos iniciar a comunicação do nosso objeto com o sensor e também inicializar o cartão SD.

void setup () {Serial.begin (9600); Serial.print ("Inicializando o cartão SD…"); // inicializa o objeto para comunicar-se 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, se o cartão está presente."); // programa encerrrado return; } // se chegou aqui é porque o cartão foi inicializado corretamente Serial.println ("Cartão inicializado."); }

Ciclo

No loop, lemos umidade, umidade e temperatura. É muito parecido com a linguagem C padrão.

// 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); Arquivo dataFile = SD.open ("LOG.txt", FILE_WRITE); // se o arquivo foi aberto corretamente, se o arquivo foi aberto 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 nomes-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. atraso (2000); }

Recomendado: