Talaan ng mga Nilalaman:

Module ng SD Card Sa ESP8266: 6 na Hakbang
Module ng SD Card Sa ESP8266: 6 na Hakbang

Video: Module ng SD Card Sa ESP8266: 6 na Hakbang

Video: Module ng SD Card Sa ESP8266: 6 na Hakbang
Video: Using Micro SD Card and Data logging with Arduino | Arduino Step by Step Course Lesson 106 2024, Nobyembre
Anonim
Image
Image
Module ng SD Card Na May ESP8266
Module ng SD Card Na May ESP8266
Module ng SD Card Sa ESP8266
Module ng SD Card Sa ESP8266

Sa pagpupulong na ito, mayroon kaming isang SD Card na konektado sa ESP8266. Naglalagay kami ng DHT22, na sumusukat sa temperatura at halumigmig at ipinapadala ang impormasyong ito sa SD card.

Sa circuit, nagpapakita ito ng halumigmig na 43.40 at temperatura na 26.80. Sa tuwing ipinapakita nito ang mensahe na "matagumpay na binubuksan ang file," ito ay dahil tumakbo ito nang isang beses sa loop. Ang nangyayari sa senaryong ito ay ang mga sumusunod: ang mga halaga lamang ang nakasulat sa file ng log, at sa gayon, ang mensahe na "matagumpay na binubuksan ang file" ay isang payo lamang, at hindi ito naitala.

Hakbang 1: WiFi ESP8266 NodeMcu ESP-12E

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

Dito namin detalyado ang sangkap na ginagamit namin, sa kasong ito ang NodeMCU ESP12, kasama ang datasheet ng aparatong iyon.

Hakbang 2: Sensor ng Humidity

Humority Sensor
Humority Sensor

Sa pagkakasunud-sunod, nagpapakita ako ng mga detalye tungkol sa iba pang sangkap na ito, ang DHT22, na may kani-kanilang pag-pin.

Hakbang 3: Modyul ng SD Card

Module ng SD Card
Module ng SD Card

Ito ang aming module ng SD Card. Tulad ng nakikita mo mula sa pinout, ito ay may koneksyon sa SPI.

Hakbang 4: Assembly

Assembly
Assembly

Ang diagram ng pagpupulong ay umaasa sa mambabasa, ang DHT22, ang NodeMCU ESP12. Pinili ko ang huli dahil nangangailangan ito ng makatwirang halaga ng mga IO. Kaya, gagana rin ang ESP01 para sa pagpupulong na ito.

Hakbang 5: Mga Aklatan

Mga aklatan
Mga aklatan

Para sa pagpupulong na ito, kailangan mo ng DHT library ng Arduino IDE mismo. Pumunta lamang sa "Sketch> Isama ang Library> Pamahalaan ang Mga Aklatan" sa pag-download mo ng DHT. Kailangan mong gawin ang parehong bagay para sa SD Library.

Hakbang 6: Source Code

Ang source code na ginamit sa pagpupulong ay simple, at upang maipakita lamang na tumatakbo ang SD Card. Kailangan mong ipasok ang lahat ng pagiging sopistikado sa paglaon, ngunit maaari mong gamitin ang iba pang mga hindi mabilang na tampok. Gayunpaman, hindi ito nalalapat sa halimbawang ito.

// biblioteca responsável pela comunicação com o Cartão SD # isama // biblioteca responsável pela comunicação com o sensor DHT22 #include // pino de maging 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;

Pag-set up

Sa pagpapaandar na Setup, sisimulan namin ang komunikasyon ng aming object sa sensor, at isimulan din ang SD Card.

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."); }

Loop

Sa loop, nabasa namin ang kahalumigmigan, kahalumigmigan, at temperatura. Ito ay katulad ng karaniwang wikang C.

// 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 magiging 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 magiging não serão gravados. iba pa {Serial.println ("Falha ao abrir o arquivo LOG.txt"); } // intervalo de espera para uma nova leitura dos dados. pagkaantala (2000); }

Inirerekumendang: