كيفية برمجة الاردوينو لتسجيل بيانات درجة الحرارة مع بطاقة الذاكرة اكتب تعليقُا

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

كيفية برمجة الاردوينو لتسجيل بيانات درجة الحرارة مع بطاقة SD

يوضح مشروع الاردوينو هذا كيفية إنشاء مسجل بيانات درجة الحرارة باستخدام بطاقة SD ، ومستشعر درجة الحرارة الرقمي DS18B20 .
يقرأ الاردوينو درجة الحرارة من مستشعر DS18B20 ويحفظها إلى ملف نصي مخزن على بطاقة SD . يتم عرض قيم درجة الحرارة على جهاز العرض التسلسلي لجهاز الكمبيوتر .

لمعرفة كيفية التعامل مع الاردوينو باستخدام بطاقة الذاكرة SD ، قم بزيارة المشروع التالي :

لمعرفة كيفية التعامل مع الاردوينو باستخدام مستشعر DS18B20 ، ألق نظرة على هذا المشروع التالي :

منتجات المشروع

Untitled2
هذه قائمة بجميع المكونات المطلوبة لبناء مشروع برمجة الاردوينو لتسجيل بيانات درجة الحرارة مع بطاقة الذاكرة  .
  1. لوحة أردوينو مع كابل يوأس بي
  2. عدد 10 أسلاك التوصيل ذكر الي ذكر
  3. لوح تجارب كبيرة
  4. مذود طاقة 5 فولت
  5. موديول قارئ بطاقة ذاكرة SD مع بطاقة SD
  6. مستشعر الحرارة DS18B20 أي نوع
  7. عدد 3 مقاومات 220 أوم
11

مسجل بيانات درجة حرارة اردوينو مع بطاقة الذاكرة :

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

في هذا المشروع ، استخدمت وحدة بطاقة micro SD ، يتم تغذية هذه الوحدة من مصدر الدائرة 5V الذي يأتي من لوحة الاردوينو . تحتوي بطاقة الذاكرة على منظم جهد AMS1117-3V3 يستخدم لتزويد بطاقة SD بجهد 3.3 فولت . تحتوي بطاقة الذاكرة أيضًا على IC وهو 74LVC125A ويستخدم كمترجم مستوى (من 5V إلى 3.3V) .

Arduino-Wiring-Fritzing-Connections-with-Micro-SD-TF-Card-Module

الكود البرمجي لمسجل بيانات درجة حرارة اردوينو مع بطاقة الذاكرة :

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

1
2

الان يمكنك تحميل الكود البرمجي والاستمتاع بالتجربة , وأذا كنت تواجه أي مشكلة الرجاء ترك تعليقك بالاسفل أو مراسلتنا علي وسائل التواصل المتاحة بالمتجر.

تنبيه : في حال لم تكن متأكد من قدرتك على تنفيذ خطوات المشروع يرجى استشارة شخص متخصص في هذا المجال.
لتحميل الكود البرمجي اضغط هنا
#include <OneWire.h>
#include <DallasTemperature.h>

#include <SPI.h>
#include <SD.h>

File myFile;

// change this to match your SD shield or module;
const int chipSelect = 10;

// Data wire is plugged into digital pin 2 on the Arduino
#define ONE_WIRE_BUS 2

// Setup a oneWire instance to communicate with any OneWire device
OneWire oneWire(ONE_WIRE_BUS);  

// Pass oneWire reference to DallasTemperature library
DallasTemperature sensors(&oneWire);

void setup(void)
{ 
  sensors.begin();  // Start up the library
  Serial.begin(9600);
}

void loop(void)
{ 
  // Send the command to get temperatures
  sensors.requestTemperatures(); 

  while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }


  Serial.print("Initializing SD card...");

  if (!SD.begin()) {
    Serial.println("initialization failed!");
    return;
  }
  Serial.println("initialization done.");

  // open the file. note that only one file can be open at a time,
  // so you have to close this one before opening another.
  myFile = SD.open("test.txt", FILE_WRITE);

  // if the file opened okay, write to it:
  if (myFile) {
    Serial.println("Writing to test.txt...");
      //print the temperature in Celsius
  Serial.print("Temperature: ");
  Serial.print(sensors.getTempCByIndex(0));
  Serial.print((char)176);//shows degrees character
  Serial.print("C  |  ");
  
  //print the temperature in Fahrenheit
  Serial.print((sensors.getTempCByIndex(0) * 9.0) / 5.0 + 32.0);
  Serial.print((char)176);//shows degrees character
  Serial.println("F");
      //print the temperature in Celsius
        myFile.print("Temperature");
        myFile.print(sensors.getTempCByIndex(0));
        myFile.print((char)176);
        myFile.print("C  |  ");
        
          //print the temperature in Fahrenheit
        myFile.print((sensors.getTempCByIndex(0) * 9.0) / 5.0 + 32.0);
        myFile.print((char)176);
        myFile.println("F");
          delay(500);
    // close the file:
    myFile.close();
    Serial.println("done.");
  } else {
    // if the file didn't open, print an error:
    Serial.println("error opening test.txt");
  }
  
  delay(100);
}

مع أطيب الامنيات بالتوفيق ….

أنتهت !!!

اترك تعليقاً

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