Mundarija:

ESP8266 bilan SD -karta moduli: 6 qadam
ESP8266 bilan SD -karta moduli: 6 qadam

Video: ESP8266 bilan SD -karta moduli: 6 qadam

Video: ESP8266 bilan SD -karta moduli: 6 qadam
Video: Lesson 38: Using MLX90614 Infrared Contactless Temperature Sensor | Arduino Step By Step Course 2024, Iyul
Anonim
Image
Image
ESP8266 bilan SD -karta moduli
ESP8266 bilan SD -karta moduli
ESP8266 bilan SD -karta moduli
ESP8266 bilan SD -karta moduli

Ushbu yig'ilishda bizda ESP8266 ga ulangan SD -karta bor. Biz DHT22 -ni qo'yamiz, u harorat va namlikni o'lchaydi va bu ma'lumotni SD -kartaga yuboradi.

Devredeki namlik 43,40 va harorat 26,80 ni ko'rsatadi. Har safar "faylni muvaffaqiyatli ochish" xabarini ko'rsatganida, u aylanada bir marta ishlagan. Bu stsenariyda quyidagilar ro'y beradi: faqat log faylga qiymatlar yoziladi va shuning uchun "faylni muvaffaqiyatli ochish" xabari faqat maslahat bo'ladi va u yozib olinmaydi.

1-qadam: WiFi ESP8266 NodeMcu ESP-12E

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

Bu erda biz ishlatadigan komponentni batafsil bayon qilamiz, bu holda NodeMCU ESP12 va ushbu qurilmaning ma'lumotlar jadvali.

2 -qadam: namlik sensori

Namlik sensori
Namlik sensori

Men ketma -ketlikda, bu boshqa komponent - DHT22 haqida batafsil ma'lumotni ko'rsataman.

3 -qadam: SD -karta moduli

SD -karta moduli
SD -karta moduli

Bu bizning SD -karta moduli. Pinoutdan ko'rinib turibdiki, bu SPI ulanishi bilan.

4 -qadam: yig'ish

O'rnatish
O'rnatish

O'rnatish sxemasi o'quvchi, DHT22, NodeMCU ESP12 ga asoslangan. Men ikkinchisini tanladim, chunki unga o'rtacha miqdordagi IO kerak. Shunday qilib, ESP01 ham ushbu yig'ilish uchun ishlaydi.

5 -qadam: kutubxonalar

Kutubxonalar
Kutubxonalar

Ushbu yig'ilish uchun sizga Arduino IDE -ning DHT kutubxonasi kerak. DHT -ni yuklab olayotganda "Sketch> Kutubxonani qo'shish> Kutubxonalarni boshqarish" bo'limiga o'ting. Siz SD kutubxonasi uchun xuddi shunday qilishingiz kerak.

6 -qadam: Manba kodi

Assambleyada ishlatiladigan manba kodi oddiy va bu faqat SD -kartaning ishlayotganligini ko'rsatishdir. Keyinchalik barcha murakkabliklarni kiritishingiz kerak bo'ladi, lekin siz boshqa son -sanoqsiz xususiyatlardan foydalanishingiz mumkin. Biroq, bu misol uchun qo'llanilmaydi.

// biblioteca javoblari pa comunicação com o Cartao SD #o'z ichiga // biblioteca javoblari, datchik DHT22 #qo'shish // dintlar DHT xizmatini bajaradi, D6 dan espgacha #DHTPIN D2 ni aniqlamaydi #DHTTTE DHTTEPE aniqlang // DHT dht (DHTPIN, DHTTYPE) datchiklari bilan aloqa o'rnatuvchi; // SD -karta uchun CSO -ni tanlang yoki CS_PIN D8 -ni aniqlang;

Sozlash

O'rnatish funktsiyasida biz ob'ekt bilan sensor bilan aloqani boshlaymiz, shuningdek SD -kartani ishga tushiramiz.

void setup () {Serial.begin (9600); Serial.print ("Inicializando o cartão SD…"); // DHT dht.begin () uchun hisob -kitoblarni amalga oshirishda yordam beradi; // 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."); // qaytish dasturi; } // chegou aqui é porque o cartão foi inicializado corretamente Serial.println ("Cartão inicializado."); }

Loop

Davrada biz namlik, namlik va haroratni o'qiymiz. Bu standart C tiliga juda o'xshaydi.

// 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); Fayl 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."); // armatura yo'q: linha va linya >> UMIDADE | TEMPERATURA dataFile.print (umidad); dataFile.print ("|"); dataFile.println (temperatura); // ma'lumotlarFile.close () ni tanlang; } // se o arquivo não pôde ser at aberto os dados não serão gravados. boshqa {Serial.println ("Falha ao abrir o arquivo LOG.txt"); } // vaqt oralig'ida, bu yangi bosqichda. kechikish (2000); }

Tavsiya: