Inhaltsverzeichnis:

SD-Kartenmodul mit ESP8266 - Gunook
SD-Kartenmodul mit ESP8266 - Gunook

Video: SD-Kartenmodul mit ESP8266 - Gunook

Video: SD-Kartenmodul mit ESP8266 - Gunook
Video: Arduino Datenlogger Shield mit SD Karte und RTC Uhrzeit Modul - Programmierung und Aufzeichnung 2024, Juli
Anonim
Image
Image
SD-Kartenmodul mit ESP8266
SD-Kartenmodul mit ESP8266
SD-Kartenmodul mit ESP8266
SD-Kartenmodul mit ESP8266

In dieser Baugruppe haben wir eine SD-Karte mit dem ESP8266 verbunden. Wir setzen einen DHT22 ein, der Temperatur und Luftfeuchtigkeit misst und diese Informationen an die SD-Karte sendet.

Auf der Strecke zeigt es eine Luftfeuchtigkeit von 43,40 und eine Temperatur von 26,80 an. Jedes Mal, wenn die Meldung "Datei erfolgreich geöffnet" angezeigt wird, liegt dies daran, dass sie einmal in der Schleife ausgeführt wurde. In diesem Szenario geschieht Folgendes: Es werden nur die Werte in die Protokolldatei geschrieben, daher ist die Meldung "Datei erfolgreich geöffnet" nur ein Hinweis und wird nicht aufgezeichnet.

Schritt 1: WiFi ESP8266 NodeMcu ESP-12E

WLAN ESP8266 NodeMcu ESP-12E
WLAN ESP8266 NodeMcu ESP-12E

Hier beschreiben wir die von uns verwendete Komponente, in diesem Fall die NodeMCU ESP12, zusammen mit dem Datenblatt dieses Geräts.

Schritt 2: Feuchtigkeitssensor

Feuchtigkeitssensor
Feuchtigkeitssensor

In der Sequenz zeige ich Details zu dieser anderen Komponente, dem DHT22, mit der jeweiligen Belegung.

Schritt 3: SD-Kartenmodul

SD-Kartenmodul
SD-Kartenmodul

Dies ist unser SD-Kartenmodul. Wie Sie an der Pinbelegung sehen können, ist es mit SPI-Anschluss.

Schritt 4: Montage

Montage
Montage

Das Montagediagramm basiert auf dem Reader, dem DHT22, der NodeMCU ESP12. Ich habe mich für letzteres entschieden, weil es eine vernünftige Anzahl von IOs benötigt. Somit würde das ESP01 auch für diese Baugruppe funktionieren.

Schritt 5: Bibliotheken

Bibliotheken
Bibliotheken

Für diese Baugruppe benötigen Sie die DHT-Bibliothek der Arduino-IDE selbst. Gehen Sie einfach zu "Skizze> Bibliothek einschließen> Bibliotheken verwalten", wenn Sie das DHT herunterladen. Dasselbe müssen Sie für die SD-Bibliothek tun.

Schritt 6: Quellcode

Der in der Assembly verwendete Quellcode ist einfach und soll nur zeigen, dass die SD-Karte läuft. Sie müssen die ganze Raffinesse später einfügen, aber Sie können andere unzählige Funktionen verwenden. Dies gilt jedoch nicht für dieses Beispiel.

//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 DHT22 // Konstruktor tun Objekt für comunicar com o Sensor DHT dht (DHTPIN, DHTTYPE); //pino ligado ao CS tun modulare SD-Karte #define CS_PIN D8;

Aufstellen

In der Setup-Funktion starten wir die Kommunikation unseres Objekts mit dem Sensor und initialisieren auch die SD-Karte.

Void setup () {Serial.begin (9600); Serial.print ("Inicializando oder cartão SD…"); // Initialisierung oder Objekt für die Kommunikation mit dem 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."); //Programme encerrrado return; } // se chegou aqui é porque oder cartão foi inicializado corretamente Serial.println ("Cartão inicializado."); }

Schleife

In der Schleife lesen wir Feuchtigkeit, Luftfeuchtigkeit und Temperatur. Dies ist der Standardsprache C sehr ähnlich.

//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 ("Temperatur: "); Serial.println (Temperatur); Datei 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 (Temperatur); //fecha oder 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 oder arquivo LOG.txt"); } //Intervalo de espera para uma nova leitura dos dados. Verzögerung (2000); }

Empfohlen: