Isi kandungan:

Modul Kad SD Dengan ESP8266: 6 Langkah
Modul Kad SD Dengan ESP8266: 6 Langkah

Video: Modul Kad SD Dengan ESP8266: 6 Langkah

Video: Modul Kad SD Dengan ESP8266: 6 Langkah
Video: #6 NodeMCU/ ESp8266 Tutorial: Interface SD card 2024, Julai
Anonim
Image
Image
Modul Kad SD Dengan ESP8266
Modul Kad SD Dengan ESP8266
Modul Kad SD Dengan ESP8266
Modul Kad SD Dengan ESP8266

Dalam perhimpunan ini, kami mempunyai Kad SD yang disambungkan ke ESP8266. Kami meletakkan DHT22, yang mengukur suhu dan kelembapan dan menghantar maklumat ini ke kad SD.

Di litar, ia menunjukkan kelembapan 43.40 dan suhu 26.80. Setiap kali ia menunjukkan mesej "membuka fail dengan berjaya", itu kerana ia berjalan sekali sahaja. Apa yang berlaku dalam senario ini adalah seperti berikut: hanya nilai yang ditulis ke fail log, dan dengan itu, pesan "membuka fail dengan berjaya" hanyalah nasihat, dan tidak direkodkan.

Langkah 1: WiFi ESP8266 NodeMcu ESP-12E

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

Di sini kami memperincikan komponen yang kami gunakan, dalam hal ini NodeMCU ESP12, bersama dengan lembar data peranti tersebut.

Langkah 2: Sensor Kelembapan

Sensor Kelembapan
Sensor Kelembapan

Secara berurutan, saya menunjukkan perincian mengenai komponen lain ini, DHT22, dengan pin masing-masing.

Langkah 3: Modul Kad SD

Modul Kad SD
Modul Kad SD

Ini adalah modul Kad SD kami. Seperti yang anda lihat dari pinout, ia adalah dengan sambungan SPI.

Langkah 4: Perhimpunan

perhimpunan
perhimpunan

Gambarajah pemasangan bergantung pada pembaca, DHT22, NodeMCU ESP12. Saya memilih yang terakhir kerana memerlukan jumlah IO yang berpatutan. Oleh itu, ESP01 juga berfungsi untuk perhimpunan ini.

Langkah 5: Perpustakaan

Perpustakaan
Perpustakaan

Untuk perhimpunan ini, anda memerlukan perpustakaan DHT Arduino IDE itu sendiri. Cukup pergi ke "Sketsa> Sertakan Perpustakaan> Urus Perpustakaan" semasa anda memuat turun DHT. Anda mesti melakukan perkara yang sama untuk Perpustakaan SD.

Langkah 6: Kod Sumber

Kod sumber yang digunakan dalam pemasangan mudah, dan hanya untuk menunjukkan bahawa Kad SD berjalan. Anda harus memasukkan semua kecanggihan kemudian, tetapi anda boleh menggunakan ciri lain yang tidak terkira banyaknya. Walau bagaimanapun, ini tidak berlaku untuk contoh ini.

// 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 // sensor tipo #define DHTTYPE DHT22 // construtor do objeto para comunicar com o sensor DHT dht (DHTPIN, DHTTYPE); // pino ligado ao CS do módulo SD Card #tentukan CS_PIN D8;

Persediaan

Dalam fungsi Setup, kita akan memulakan komunikasi objek kita dengan sensor, dan juga menginisialisasi SD Card.

batal persediaan () {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 kembali; } // se chegou aqui é porque o cartão juga inicializado corretamente Serial.println ("Cartão inicializado."); }

Gelung

Dalam gelung, kita membaca kelembapan, kelembapan, dan suhu. Ini sangat serupa dengan bahasa C standard.

// 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); Data failFile = SD.open ("LOG.txt", FILE_WRITE); // se o arquivo foi aberto corretamente, escreve os dados nele if (dataFile) {Serial.println ("O arquivo juga 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. yang lain {Serial.println ("Falha ao abrir o arquivo LOG.txt"); } // interalo de espera para uma nova leitura dos dados. kelewatan (2000); }

Disyorkan: