สารบัญ:

โมดูลการ์ด SD พร้อม ESP8266: 6 ขั้นตอน
โมดูลการ์ด SD พร้อม ESP8266: 6 ขั้นตอน

วีดีโอ: โมดูลการ์ด SD พร้อม ESP8266: 6 ขั้นตอน

วีดีโอ: โมดูลการ์ด SD พร้อม ESP8266: 6 ขั้นตอน
วีดีโอ: ESP8266 กับ Micro SD Card Module 2024, กรกฎาคม
Anonim
Image
Image
โมดูลการ์ด SD พร้อม ESP8266
โมดูลการ์ด SD พร้อม ESP8266
โมดูลการ์ด SD พร้อม ESP8266
โมดูลการ์ด SD พร้อม ESP8266

ในชุดประกอบนี้ เรามีการ์ด SD ที่เชื่อมต่อกับ ESP8266 เราใส่ DHT22 ซึ่งวัดอุณหภูมิและความชื้นและส่งข้อมูลนี้ไปยังการ์ด SD

บนวงจรแสดงความชื้น 43.40 และอุณหภูมิ 26.80 ทุกครั้งที่ขึ้นข้อความว่า "เปิดไฟล์สำเร็จ" เป็นเพราะว่ารันครั้งเดียวในลูป สิ่งที่เกิดขึ้นในสถานการณ์นี้มีดังนี้: เฉพาะค่าที่ถูกเขียนลงในล็อกไฟล์ ดังนั้น ข้อความ "เปิดไฟล์สำเร็จ" เป็นเพียงคำแนะนำเท่านั้น และจะไม่มีการบันทึก

ขั้นตอนที่ 1: WiFi ESP8266 NodeMcu ESP-12E

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

ในที่นี้ เราจะให้รายละเอียดส่วนประกอบที่เราใช้ ในกรณีนี้คือ NodeMCU ESP12 พร้อมกับแผ่นข้อมูลของอุปกรณ์นั้น

ขั้นตอนที่ 2: เซ็นเซอร์ความชื้น

เซ็นเซอร์ความชื้น
เซ็นเซอร์ความชื้น

ในลำดับนั้น ฉันแสดงรายละเอียดเกี่ยวกับส่วนประกอบอื่นนี้คือ DHT22 พร้อมการปักหมุดตามลำดับ

ขั้นตอนที่ 3: โมดูลการ์ด SD

โมดูลการ์ด SD
โมดูลการ์ด SD

นี่คือโมดูลการ์ด SD ของเรา ดังที่คุณเห็นจาก pinout มันคือการเชื่อมต่อ SPI

ขั้นตอนที่ 4: การประกอบ

การประกอบ
การประกอบ

แผนภาพการประกอบขึ้นอยู่กับเครื่องอ่าน DHT22, NodeMCU ESP12 ฉันเลือกอันหลังเพราะต้องการ IO ในปริมาณที่เหมาะสม ดังนั้น ESP01 จะทำงานสำหรับแอสเซมบลีนี้ด้วย

ขั้นตอนที่ 5: ห้องสมุด

ห้องสมุด
ห้องสมุด

สำหรับแอสเซมบลีนี้ คุณต้องมีไลบรารี DHT ของ Arduino IDE เอง เพียงไปที่ "ร่าง> รวมไลบรารี> จัดการไลบรารี" เมื่อคุณดาวน์โหลด DHT คุณต้องทำสิ่งเดียวกันสำหรับไลบรารี SD

ขั้นตอนที่ 6: รหัสที่มา

ซอร์สโค้ดที่ใช้ในแอสเซมบลีนั้นเรียบง่ายและเป็นเพียงเพื่อแสดงว่าการ์ด SD ทำงานอยู่ คุณต้องแทรกความซับซ้อนทั้งหมดในภายหลัง แต่คุณสามารถใช้คุณสมบัติอื่น ๆ นับไม่ถ้วน อย่างไรก็ตาม สิ่งนี้ใช้ไม่ได้กับตัวอย่างนี้

// 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 // กำหนดเซ็นเซอร์ DHTPIN D2 // tipo // ตัวสร้างทำ objeto para comunicar com o เซ็นเซอร์ DHT dht (DHTPIN, DHTTYPE); //pino ligado ao CS do módulo SD Card #define CS_PIN D8;

ติดตั้ง

ในฟังก์ชันการตั้งค่า เราจะเริ่มการสื่อสารของวัตถุกับเซ็นเซอร์ และเริ่มต้นการ์ด SD ด้วย

การตั้งค่าเป็นโมฆะ () { Serial.begin (9600); Serial.print("Inicializando o cartão SD…"); //inicializa o objeto para comunicarmos com o เซ็นเซอร์ DHT dht.begin(); // การยืนยันสำหรับการ์ด SD está นำเสนอ e se pode ser inicializado if (!SD.begin (CS_PIN)) { Serial.println ("Falha, verifique se o cartão está presente."); //โปรแกรม encerrrado กลับมา; } //se chegou aqui é porque o cartão foi inicializado corretamente Serial.println("Cartão inicializado."); }

ห่วง

ในลูป เราอ่านค่าความชื้น ความชื้น และอุณหภูมิ นี้เหมือนกับภาษา C มาตรฐานมาก

//faz a leitura da umidade float umidade = dht.readHumidity(); Serial.print("Umidade: "); Serial.println(อุมิดาเดะ); //faz a leitura da temperatura float temperature = dht.readTemperature(); Serial.print("อุณหภูมิ: "); Serial.println(อุณหภูมิ); ไฟล์ 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 | dataFile.print (อุมิดาเดะ); dataFile.print(" | "); dataFile.println(อุณหภูมิ); //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. อื่น { Serial.println ("Falha ao abrir o arquivo LOG.txt"); } // ช่วงเวลาเดอ espera para uma nova leitura dos dados ล่าช้า (2000); }

แนะนำ: