ربط بطاقة الذاكرة مع NodeMCU وتحميل بيانات عليها اكتب تعليقُا

 تم نشر هذا المشروع لجميع الأشخاص المهتمين في مجال تصنيع وابتكار المشاريع الإلكترونية والبرمجية، و نود التنويه أن موقع انا الكتروني يخلي مسؤوليته التامة في حال لم يعمل المشروع لدى العميل أو في حال الاستخدام الخاطئ للمكونات الإلكترونية والكهربائية التي قد تؤدي لحدوث الحرائق أو غيرها لا سمح الله.

مقدمـــــــــة عن المشروع

مقدمـــــــــة عن المشروع

في هذه المشؤوع ، لدينا بطاقة SD متصلة مع ESP8266 . وباستخدام DHT22 ، والذي يقيس درجة الحرارة والرطوبة ويرسل هذه المعلومات إلى بطاقة SD . أذن هذه هي فكرة المشروع قياس درجة الحرارة والرطوبة وأرسالها الى بطاقة SD .

عند فتح بطاقة الذاكرة من خلال الكمبيوتر ستجد معلومات درجة الحرارة مخزنة عليها في ملف نصي ويمكنك طابعتها علي الورق .

متطلبات المشروع

  •  NodeMCU
  • SD Card module
  • Humidity Sensor
  • connecting wires
تنبيه : في حال لم تكن متأكد من قدرتك على تنفيذ خطوات المشروع يرجى استشارة شخص متخصص في هذا المجال.

طريقة العمل والتوصيل

F8SCGMMJFIIRHSH.LARGE_-1000x651

وفقا للمخطط أعلاه يتم توصيل المكونات السابقة الذكر .

ملاحظة : في حالة أنك تستخدم حساس درجة الحرارة والرطوبة من النوع موديول مثل الموجود في المنتجات ذات الصلة , فأنك في هذه الحالة لا داعي لاستخدام المقاومة الموجودة في المخطط أعلاه , ويمكنك ربط الحساس مباشرة .

لتحميل الكود البرمجي اضغط هنا

الكـــــــــود البرمجي

//biblioteca responsável pela comunicação com o Cartão SD
#include <SD.h>
//biblioteca responsável pela comunicação com o sensor DHT22
#include <DHT.h>
 
// 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 SD Card
#define CS_PIN  D8;
void setup()
{
  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(umidade);
  //faz a leitura da temperatura
  float temperatura = dht.readTemperature();
  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");
  }
 
  //intervalo de espera para uma nova leitura dos dados.
  delay(2000);
 
}

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *