Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
Dans cet assemblage, nous avons une carte SD connectée à l'ESP8266. Nous mettons un DHT22, qui mesure la température et l'humidité et envoie ces informations à la carte SD.
Sur le circuit, il affiche une humidité de 43,40 et une température de 26,80. Chaque fois qu'il affiche le message "ouverture du fichier avec succès", c'est parce qu'il s'est exécuté une fois dans la boucle. Ce qui se passe dans ce scénario est le suivant: seules les valeurs sont écrites dans le fichier journal et, par conséquent, le message « ouverture du fichier avec succès » n'est qu'un avis et il n'est pas enregistré.
Étape 1: Wi-Fi ESP8266 NodeMcu ESP-12E
Nous détaillons ici le composant que nous utilisons, dans ce cas le NodeMCU ESP12, ainsi que la fiche technique de cet appareil.
Étape 2: Capteur d'humidité
Dans la séquence, je montre des détails sur cet autre composant, le DHT22, avec l'épinglage respectif.
Étape 3: Module de carte SD
C'est notre module de carte SD. Comme vous pouvez le voir sur le brochage, il s'agit d'une connexion SPI.
Étape 4: Assemblage
Le schéma de montage s'appuie sur le lecteur, le DHT22, le NodeMCU ESP12. J'ai choisi ce dernier car il nécessite une quantité raisonnable d'E/S. Ainsi, l'ESP01 fonctionnerait également pour ce montage.
Étape 5: Bibliothèques
Pour cet assemblage, vous avez besoin de la bibliothèque DHT de l'IDE Arduino lui-même. Allez simplement dans "Esquisse> Inclure la bibliothèque> Gérer les bibliothèques" lorsque vous téléchargez le DHT. Vous devez faire la même chose pour la bibliothèque SD.
Étape 6: Code source
Le code source utilisé dans l'assemblage est simple, et c'est juste pour montrer que la carte SD fonctionne. Vous devez insérer toute la sophistication plus tard, mais vous pouvez utiliser d'autres fonctionnalités innombrables. Cependant, cela ne s'applique pas à cet exemple.
//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 DHTTYPE // construtor do objeto para comunicar com o sensor DHT dht(DHTPIN, DHTTYPE); //pino ligado ao CS do modulo SD Card #define CS_PIN D8;
Installer
Dans la fonction de configuration, nous allons démarrer la communication de notre objet avec le capteur, et également initialiser la carte SD.
void setup(){ Serial.begin(9600); Serial.print("Inicializando o cartão SD…"); //initializa o objeto para comunicarmos com o sensor DHT dht.begin(); // vérifier si la carte SD est présentée et si elle est lancée si (!SD.begin(CS_PIN)) { Serial.println("Falha, verifique si la carte est présentée."); //programa encerrrado return; } //se chegou aqui é porque o cartão fo inicializado corretamente Serial.println("Cartão inicializado."); }
Boucle
Dans la boucle, nous lisons l'humidité, l'humidité et la température. Cela ressemble beaucoup au langage C standard.
//faz a leitura da umidade float umidade = dht.readHumidity(); Serial.print("Umidade: "); Serial.println(umidade); //faz a leitura da temperature float temperature = dht.readTemperature(); Serial.print("Température: "); Serial.println(température); Fichier 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 successo."); //formatação no arquivo: linha a linha >> UMIDADE | TEMPERATURA dataFile.print(umidade); dataFile.print(" | "); dataFile.println(température); //fecha ou 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 ouvrir ou arquivo LOG.txt"); } //Intervalo de espera para uma nova leitura dos dados. retard (2000); }