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

وحدة بطاقة 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) ؛ }

موصى به: