جدول المحتويات:

وحدة بطاقة SD مع ESP8266: 6 خطوات
وحدة بطاقة SD مع ESP8266: 6 خطوات

فيديو: وحدة بطاقة SD مع ESP8266: 6 خطوات

فيديو: وحدة بطاقة SD مع ESP8266: 6 خطوات
فيديو: حل مشكلة الكارت الميموري بكل اعطاله في ثواني معدودة 🖤💛 بطاقة sd 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

واي فاي ESP8266 NodeMcu ESP-12E
واي فاي ESP8266 NodeMcu ESP-12E

نحن هنا بالتفصيل المكون الذي نستخدمه ، في هذه الحالة NodeMCU ESP12 ، جنبًا إلى جنب مع ورقة البيانات الخاصة بهذا الجهاز.

الخطوة الثانية: مستشعر الرطوبة

جهاز استشعار الرطوبة
جهاز استشعار الرطوبة

في التسلسل ، أعرض تفاصيل حول هذا المكون الآخر ، DHT22 ، مع التثبيت الخاص به.

الخطوة 3: وحدة بطاقة SD

وحدة بطاقة SD
وحدة بطاقة SD

هذه هي وحدة بطاقة SD الخاصة بنا. كما ترون من pinout ، فإنه مع اتصال SPI.

الخطوة 4: التجميع

المجسم
المجسم

يعتمد مخطط التجميع على القارئ DHT22 و NodeMCU ESP12. اخترت هذا الأخير لأنه يحتاج إلى قدر معقول من IOs. وبالتالي ، فإن ESP01 سيعمل أيضًا لهذا التجميع.

الخطوة 5: المكتبات

مكتبات
مكتبات

بالنسبة لهذا التجميع ، تحتاج إلى مكتبة DHT الخاصة بـ Arduino IDE نفسها. ما عليك سوى الانتقال إلى "Sketch> Include Library> Manage Libraries" أثناء تنزيل 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 // tipo do sensor #define DHTTYPE // المورِّد يفعل objeto para comunicar com o sensor 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 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 return؛ } // se chegou aqui é porque o cartão foi inicializado corretamente Serial.println ("Cartão inicializado.") ؛ }

حلقة

في الحلقة ، نقرأ الرطوبة والرطوبة ودرجة الحرارة. هذا يشبه إلى حد كبير لغة سي القياسية.

// faz a leitura da umidade float umidade = dht.readHumidity () ؛ Serial.print ("Umidade:") ؛ Serial.println (أوميداد) ؛ // faz a leitura da temperatura تعويم درجة الحرارة = 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 | TEMPERATURA dataFile.print (umidade) ؛ 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")؛ } // interalo de espera para uma nova leitura dos dados. تأخير (2000) ؛ }

موصى به: