Nesta montagem temos um SD Card conectado no ESP8266. Colocamos um DHT22, que mede temperatura e umidade e envia essas informações para o cartão SD.
Em www.fernandok.com vocês encontram o PDF e o .INO para download
https://www.youtube.com/channel/UCIRfWLRDsdVOjJfpy6Ne04Q/about
Ligado o circuito, ele mostra 43.40 de umidade e, de temperatura, 26.80. Toda vez que ele mostra aquela mensagem “abrindo o arquivo com sucesso” é porque ele rodou uma vez no loop. O que acontece aí é o seguinte: apenas os valores estão sendo gravados no arquivo log, ou seja, a mensagem "abrindo o arquivo com sucesso" está apenas como aviso, ela não é gravada.
WiFi ESP8266 NodeMcu ESP-12E
Aqui detalhamos o componente que utilizamos, neste caso o NodeMCU ESP12, juntamente com o datasheet desse dispositivo.
Sensor de umidade
Na sequência, exponho detalhes sobre este outro componente, o DHT22, com a respectiva pinagem.
Módulo SD Card
Este é o nosso módulo de SD Card. Como vocês podem ver pela pinagem, ele é conexão SPI.
Montagem
O diagrama de montagem conta com o leitor, o DHT22, o NodeMCU ESP12. Este último, escolhi porque precisa de uma quantidade de IOs razoável, ou seja, o ESP01 também daria certo para esta montagem.
Bibliotecas
Para essa montagem você precisa da biblioteca do DHT da própria IDE do Arduino. Basta acessar “Sketch> Incluir Biblioteca> Gerenciar Bibliotecas” que você baixa o DHT. A mesma coisa você tem que fazer para a Biblioteca SD.
Código Fonte
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
//biblioteca responsável pela comunicação com o Cartão SD #include <SD.h> //biblioteca responsável pela comunicação com o sensor DHT22 #include <DHT.h>
// 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; |
O código-fonte utilizado na montagem é simples, somente para mostrar o SD Card funcionando. Toda a sofisticação você tem que inserir depois, podendo utilizar outros inúmeros recursos, mas que não cabem a este exemplo.
Setup
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
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.");
} |
Na função Setup, vamos iniciar nosso objeto para comunicar com o sensor e também inicializar o SD Card.
Loop
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
//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);
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. delay(2000);
} |
No loop, lemos umidade e jogamos dentro do float de umidade, lemos temperatura e jogamos dentro do float de temperatura. Isto é muito parecido com a linguagem C padrão.
www.fernandok.com vocês encontram o PDF e o .INO para download
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por
Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!
Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)