Taula de continguts:

Mòdul de targeta SD amb ESP8266: 6 passos
Mòdul de targeta SD amb ESP8266: 6 passos

Vídeo: Mòdul de targeta SD amb ESP8266: 6 passos

Vídeo: Mòdul de targeta SD amb ESP8266: 6 passos
Vídeo: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Juliol
Anonim
Image
Image
Mòdul de targeta SD amb ESP8266
Mòdul de targeta SD amb ESP8266
Mòdul de targeta SD amb ESP8266
Mòdul de targeta SD amb ESP8266

En aquest muntatge, tenim una targeta SD connectada a l’ESP8266. Posem un DHT22, que mesura la temperatura i la humitat i envia aquesta informació a la targeta SD.

Al circuit, mostra una humitat de 43,40 i una temperatura de 26,80. Cada vegada que es mostra el missatge "obrint el fitxer amb èxit", és perquè es va executar un cop al bucle. El que passa en aquest escenari és el següent: només s'escriuen els valors al fitxer de registre i, per tant, el missatge "obrir el fitxer amb èxit" només és un avís i no es registra.

Pas 1: WiFi ESP8266 NodeMcu ESP-12E

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

Aquí detallem el component que fem servir, en aquest cas el NodeMCU ESP12, juntament amb el full de dades d’aquest dispositiu.

Pas 2: sensor d'humitat

Sensor d'humitat
Sensor d'humitat

A la seqüència, mostro detalls sobre aquest altre component, el DHT22, amb la fixació respectiva.

Pas 3: mòdul de targeta SD

Mòdul de targeta SD
Mòdul de targeta SD

Aquest és el nostre mòdul de targeta SD. Com podeu veure al pinout, és amb connexió SPI.

Pas 4: Muntatge

muntatge
muntatge

El diagrama de muntatge es basa en el lector, el DHT22, el NodeMCU ESP12. He escollit aquest últim perquè necessita una quantitat raonable d’OI. Per tant, l’ESP01 també funcionaria per a aquest muntatge.

Pas 5: biblioteques

Biblioteques
Biblioteques

Per a aquest muntatge, necessiteu la biblioteca DHT del propi IDE Arduino. Només cal que aneu a "Esbós> Inclou biblioteca> Gestiona biblioteques" mentre baixeu el DHT. Heu de fer el mateix per a la biblioteca SD.

Pas 6: codi font

El codi font utilitzat en el muntatge és senzill i és només per demostrar que la targeta SD s'està executant. Més endavant, heu d’inserir tota la sofisticació, però podeu utilitzar altres innombrables funcions. Tot i això, això no s'aplica a aquest 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à lligat no D6 do esp #define DHTPIN D2 // tipo do sensor #define DHTTYPE DHT22 // construtor do objecte for comunicar com o sensor DHT dht (DHTPIN, DHTTYPE); // pino ligado ao CS do módulo SD Card #define CS_PIN D8;

Configuració

A la funció Configuració, iniciarem la comunicació del nostre objecte amb el sensor i també inicialitzarem la targeta SD.

configuració nul·la () {Serial.begin (9600); Serial.print ("Inicializando o cartão SD …"); // inicialització o objecte per a comunicar-se amb el sensor DHT dht.begin (); // verificació del cartró SD està present i podeu ser inicialitzat si (! SD.begin (CS_PIN)) {Serial.println ("Falha, verifique se o cartão está presente."); // programa encerrado return; } // se chegou aqui é porque o cartão foi inicializado corretamente Serial.println ("Carto inicialitzat."); }

Bucle

Al bucle, llegim la humitat, la humitat i la temperatura. Això s’assembla molt al llenguatge C estàndard.

// 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); Fitxer dataFile = SD.open ("LOG.txt", FILE_WRITE); // se o arquivo foi obert corretamente, escreve os dados nele if (dataFile) {Serial.println ("O arquivo foi oberto 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 obrir o arquivo LOG.txt"); } // intervalo de espera para uma nova leitura dos dados. endarreriment (2000); }

Recomanat: