Përmbajtje:

Moduli i Kartës SD Me ESP8266: 6 Hapa
Moduli i Kartës SD Me ESP8266: 6 Hapa

Video: Moduli i Kartës SD Me ESP8266: 6 Hapa

Video: Moduli i Kartës SD Me ESP8266: 6 Hapa
Video: ESP32 Tutorial 15 - DC Motor Speed Control with ESP32 L293D | SunFounder's ESP32 IoT Learnig kit 2024, Korrik
Anonim
Image
Image
Moduli i Kartës SD Me ESP8266
Moduli i Kartës SD Me ESP8266
Moduli i Kartës SD Me ESP8266
Moduli i Kartës SD Me ESP8266

Në këtë asamble, ne kemi një Kartë SD të lidhur me ESP8266. Ne vendosim një DHT22, e cila mat temperaturën dhe lagështinë dhe e dërgon këtë informacion në kartën SD.

Në qark, ajo tregon lagështi prej 43.40 dhe një temperaturë prej 26.80. Sa herë që shfaq mesazhin "hapja e skedarit me sukses", është sepse ajo u ekzekutua një herë në lak. Ajo që ndodh në këtë skenar është si më poshtë: vetëm vlerat po shkruhen në skedarin log, dhe kështu, mesazhi "hapja e skedarit me sukses" është vetëm një këshillë dhe nuk regjistrohet.

Hapi 1: WiFi ESP8266 NodeMcu ESP-12E

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

Këtu ne detajojmë përbërësin që përdorim, në këtë rast NodeMCU ESP12, së bashku me fletën e të dhënave të asaj pajisjeje.

Hapi 2: Sensori i lagështisë

Sensori i lagështisë
Sensori i lagështisë

Në sekuencë, unë tregoj detaje në lidhje me këtë përbërës tjetër, DHT22, me fiksimin përkatës.

Hapi 3: Moduli i Kartës SD

Moduli i Kartës SD
Moduli i Kartës SD

Ky është moduli ynë i Kartës SD. Siç mund ta shihni nga pinout, është me lidhje SPI.

Hapi 4: Asambleja

Kuvendi
Kuvendi

Diagrami i montimit mbështetet në lexuesin, DHT22, NodeMCU ESP12. Zgjodha këtë të fundit sepse ka nevojë për një sasi të arsyeshme të IO -ve. Kështu, ESP01 do të punonte gjithashtu për këtë asamble.

Hapi 5: Bibliotekat

Bibliotekat
Bibliotekat

Për këtë asamble, keni nevojë për bibliotekën DHT të vetë Arduino IDE. Thjesht shkoni te "Sketch> Përfshi Bibliotekën> Menaxhoni Bibliotekat" ndërsa shkarkoni DHT. Ju duhet të bëni të njëjtën gjë për Bibliotekën SD.

Hapi 6: Kodi Burimor

Kodi burim i përdorur në asamble është i thjeshtë, dhe është vetëm për të treguar që karta SD po funksionon. Ju duhet të futni të gjithë sofistikimin më vonë, por mund të përdorni veçori të tjera të panumërta. Sidoqoftë, kjo nuk vlen për këtë shembull.

// biblioteca responsável pela comunicação com o Cartão SD #përfshijnë // 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 DHT22 // ndërtues për të përcaktuar funksionin e sensorit DHT dht (DHTPIN, DHTTYPE); // pino ligjërata për CS ose për kartën SD #përcaktoni CS_PIN D8;

Konfigurimi

Në funksionin Setup, ne do të fillojmë komunikimin e objektit tonë me sensorin, dhe gjithashtu do të inicializojmë Kartën SD.

void setup () {Serial.begin (9600); Serial.print ("Inicializo o cartão SD …"); // inicializa ose objeto para comunicarmos com o sensor DHT dht.begin (); // verifikimi i kartës SD është paraqitur në kodin zyrtar nëse (! SD.fillon (CS_PIN)) {Serial.println ("Falha, verifiko se çfarë kartele është e pranishme."); // programi encerrrado return; } // se chegou aqui é porque o cartão foi inicializado corretamente Serial.println ("Cartão inicializado."); }

Lak

Në lak, ne lexojmë lagështi, lagështi dhe temperaturë. Kjo është shumë e ngjashme me gjuhën standarde 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 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. vonesa (2000); }

Recommended: