Mục lục:

Mô-đun thẻ SD với ESP8266: 6 bước
Mô-đun thẻ SD với ESP8266: 6 bước

Video: Mô-đun thẻ SD với ESP8266: 6 bước

Video: Mô-đun thẻ SD với ESP8266: 6 bước
Video: Hướng dẫn giao tiếp uart giữa board arduino với kít wifi esp8266 - Tự học lập trình IOT 2024, Tháng mười một
Anonim
Image
Image
Mô-đun thẻ SD với ESP8266
Mô-đun thẻ SD với ESP8266
Mô-đun thẻ SD với ESP8266
Mô-đun thẻ SD với ESP8266

Trong lắp ráp này, chúng tôi có một Thẻ SD được kết nối với ESP8266. Chúng tôi đặt một DHT22, đo nhiệt độ và độ ẩm và gửi thông tin này đến thẻ SD.

Trên mạch, nó cho thấy độ ẩm là 43,40 và nhiệt độ là 26,80. Mỗi khi nó hiển thị thông báo "mở tệp thành công" là do nó đã chạy một lần trong vòng lặp. Điều gì xảy ra trong trường hợp này như sau: chỉ các giá trị đang được ghi vào tệp nhật ký và do đó, thông báo "mở tệp thành công" chỉ là một lời khuyên và nó không được ghi lại.

Bước 1: WiFi ESP8266 NodeMcu ESP-12E

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

Ở đây chúng tôi trình bày chi tiết thành phần chúng tôi sử dụng, trong trường hợp này là NodeMCU ESP12, cùng với biểu dữ liệu của thiết bị đó.

Bước 2: Cảm biến độ ẩm

Cảm biến độ ẩm
Cảm biến độ ẩm

Trong trình tự, tôi hiển thị chi tiết về thành phần khác này, DHT22, với ghim tương ứng.

Bước 3: Mô-đun thẻ SD

Mô-đun thẻ SD
Mô-đun thẻ SD

Đây là mô-đun Thẻ SD của chúng tôi. Như bạn có thể thấy từ sơ đồ chân, nó có kết nối SPI.

Bước 4: Lắp ráp

cuộc họp
cuộc họp

Sơ đồ lắp ráp dựa trên đầu đọc, DHT22, NodeMCU ESP12. Tôi chọn cái sau vì nó cần một lượng IO hợp lý. Do đó, ESP01 cũng sẽ hoạt động cho lắp ráp này.

Bước 5: Thư viện

Thư viện
Thư viện

Đối với lắp ráp này, bạn cần có thư viện DHT của chính Arduino IDE. Chỉ cần đi tới "Phác thảo> Bao gồm Thư viện> Quản lý Thư viện" khi bạn tải xuống DHT. Bạn phải làm điều tương tự đối với Thư viện SD.

Bước 6: Mã nguồn

Mã nguồn được sử dụng trong lắp ráp rất đơn giản và nó chỉ để hiển thị rằng Thẻ SD đang chạy. Bạn phải chèn tất cả sự tinh vi sau đó, nhưng bạn có thể sử dụng vô số tính năng khác. Tuy nhiên, điều này không áp dụng cho ví dụ này.

// biblioteca responseável pela comunicação com o Cartão SD # include // biblioteca responseá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 // construtor do objeto para comunicar com o sensor DHT dht (DHTPIN, DHTTYPE); // pino ligado ao CS do módulo Thẻ SD #define CS_PIN D8;

Cài đặt

Trong chức năng Thiết lập, chúng tôi sẽ bắt đầu giao tiếp của đối tượng với cảm biến và cũng khởi chạy Thẻ SD.

void setup () {Serial.begin (9600); Serial.print ("Inicializando o cartão SD…"); // inicializa o objeto para comunicarmos com o sensor DHT dht.begin (); // verifyfica 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."); // return chương trình encerrrado; } // se chegou aqui é porque o cartão foi inicializado corretamente Serial.println ("Cartão inicializado."); }

Vòng

Trong vòng lặp, chúng tôi đọc độ ẩm, độ ẩm và nhiệt độ. Điều này rất giống với ngôn ngữ C tiêu chuẩn.

// faz a leitura da umidade float umidade = dht.readHumidity (); Serial.print ("Umidade:"); Serial.println (umidade); // faz a leitura da temperatura float temperatura = dht.readTempentic (); 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"); } // khoảng thời gian để espera para uma nova leitura dos dados. chậm trễ (2000); }

Đề xuất: