ماهي وحدة بطاقة الذاكرة Micro SD Card ومـواجـهتها مع الاردوينو اكتب تعليقُا

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

- Micro SD Card

واجهت فكرة بين الحين والآخر ، حيث تحتاج إلى طريقة لتخزين كمية كبيرة من بيانات السجل وغيرها من المعلومات لمشروع الاردوينو خاصتك ؟، على سبيل المثال مسجل GPS .

يكمن الحل في استخدام ما يوجد في كل كاميرا رقمية ومشغل mp3 : بطاقات فلاش! وغالبا ما تسمى Micro SD Card أو بطاقة الذاكرة  . قدرتهم على حزم GigaBytes من البيانات في مساحة أصغر من عملة جعلتها شيء لا غنى عنه في حياتنا .

نظرة عامة على وحدة بطاقة الذاكرة Micro SD Card

تحتوي وحدة بطاقة Micro SD Card على عنصرين رئيسيين مما يجعل من السهل بلا شك إضافة تسجيل البيانات إلى مشروع الاردوينو التالي :

Micro-SD-TF-Card-Module-module-contains-level-shifter-and-regulator
  • الجهد التشغيلي لأية بطاقة الذاكرة مايكرو إس دي قياسي هو 3.3 فولت . لذلك لا يمكننا توصيله مباشرة بالدوائر التي تستخدم منطق 5 فولت .
  • في الواقع ، فإن أي الفولتية تتجاوز 3.6V سيضر بشكل دائم بطاقة الذاكرة Micro SD Card . لهذا السبب ؛ تحتوي الوحدة على منظم تسرب منخفض للغاية على متن الشريحة يقوم بتحويل الفولتية من 3.3 فولت إلى 6 فولت إلى 3.3 فولت تقريبًا .

هناك بالفعل طريقتان للتفاعل مع بطاقة الذاكرة Micro SD Card وهما وضع SPI ووضع SDIO .

يعد وضع SDIO أسرع بكثير ويتم استخدامه في الهواتف المحمولة والكاميرات الرقمية وما إلى ذلك ، ولكنه أكثر تعقيدًا ويتطلب توقيع مستندات غير معلنة .

لهذا السبب ، من المحتمل ألا يواجه الهاوي مثلنا أبدًا رمز واجهة وضع SDIO . بدلاً من ذلك ، تعتمد كل وحدة بطاقة الذاكرة Micro SD Card على وضع SPI “سرعة أقل وأقل حمل” يسهل على أي متحكم استخدامه .

إعداد وحدة بطاقة الذاكرة Micro SD Card

قبل إدخال بطاقة الذاكرة micro SD في الوحدة وتوصيلها بـ الاردوينو ، يجب تهيئة بطاقة الذاكرة بشكل صحيح .

إذا كان لديك بطاقة الذاكرة SD جديدة ، فمن المحتمل أن تكون مهيأة مسبقًا باستخدام نظام ملفات FAT . ومع ذلك ، قد تواجهك مشكلات في كيفية قيام المصنع بتنسيق بطاقة الذاكرة ، أو إذا كانت بطاقة الذاكرة قديمة ، فيجب إعادة تنسيقها . في كلتا الحالتين ، من الجيد دائمًا تهيئة بطاقة الذاكرة قبل استخدامها ، حتى لو كانت جديدة !

نوصي بشدة باستخدام الأداة المساعدة الرسمية لتنسيق بطاقة الذاكرة SD – مكتوبة من قِبل جمعية SD ، فهي تحل العديد من المشكلات التي تصاحب التنسيق السيئ ! قم بتنزيل المنسق وقم بتشغيله على جهاز الكمبيوتر الخاص بك ، ما عليك سوى اختيار محرك الأقراص الصحيح والنقر فوق تنسيق .

SD-Formatter-Screenshot

أطراف وحدة بطاقة الذاكرة Micro SD Card

وحدة بطاقة الذاكرة SD الصغيرة بسيطة إلى حد ما للاتصال . لديه ستة دبابيس كالتالي :

Micro-SD-TF-Card-Module-Pinout-SPI
  •  VCC يوفر الطاقة للوحدة ويجب توصيله بفتحة 5V على Arduino .
  • GND يجب أن تكون مرتبطة إلى GND الاردوينو .
  • MISO هو خرج SPI من وحدة بطاقة الذاكرة Micro SD Card .
  • MOSI هو إدخال SPI إلى وحدة بطاقة الذاكرة Micro SD Card .
  • SCK يقبل نبضات الساعة التي تزامن نقل البيانات الناتجة عن Arduino .
  • SS يستخدم لتمكين وتعطيل أجهزة معينة على ناقل SPI .

الأسلاك - توصيل وحدة بطاقة الذاكرة Micro SD Card مع الاردوينو

الآن بعد أن أصبحت بطاقة الذاكرة جاهزة للاستخدام ، يمكننا توصيل لوحة بطاقة الذاكرة Micro SD Card !
في البدء ، أدخل وحدة بطاقة Micro SD Card في اللوح . قم بتوصيل اطراف الطاقة من والي الاردوينو . الآن ما زلنا مع الاطراف التي يتم استخدامها للاتصال SPI .

نظرًا لأن بطاقة الذاكرة Micro SD Card تتطلب الكثير من نقل البيانات ، فستقدم أفضل أداء عند توصيلها بأدوات SPI على المتحكم الدقيق . دبابيس SPI هي أسرع بكثير من “ضجيجا بت” .

لاحظ أن كل لوحة اردوينو بها دبابيس SPI مختلفة يجب توصيلها وفقًا لذلك . الرجوع للجدول أدناه لفهم سريع .

5

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

Arduino-Wiring-Fritzing-Connections-with-Micro-SD-TF-Card-Module
تنبيه : في حال لم تكن متأكد من قدرتك على تنفيذ خطوات المشروع يرجى استشارة شخص متخصص في هذا المجال.

كود الاردوينو - قراءة وكتابة البيانات لوحدة الذاكرة Micro SD Card

سيقوم الكود التالي بعمل عرض أساسي لكتابة وقراءة البيانات من الملف .

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

File myFile;

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

void setup()
{
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  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.print("Writing to test.txt...");
    myFile.println("testing 1, 2, 3.");
    // close the file:
    myFile.close();
    Serial.println("done.");
  } else {
    // if the file didn't open, print an error:
    Serial.println("error opening test.txt");
  }

  // re-open the file for reading:
  myFile = SD.open("test.txt");
  if (myFile) {
    Serial.println("test.txt:");

    // read from the file until there's nothing else in it:
    while (myFile.available()) {
      Serial.write(myFile.read());
    }
    // close the file:
    myFile.close();
  } else {
    // if the file didn't open, print an error:
    Serial.println("error opening test.txt");
  }
}

void loop()
{
  // nothing happens after setup
}

عندما يتم تحميل الكود ، إذا كان كل شيء على ما يرام ، سوف يظهر ما يلي على الشاشة التسلسلية .

Micro-SD-Card-SD-library-Output-on-Serial-Monitor

إذا قمت بإعادة تعيين الاردوينو والسماح للكود بالتشغيل مرة أخرى ؛ يتم إلحاق البيانات الجديدة المكتوبة بالملف دون الكتابة فوق البيانات السابقة .

Micro-SD-Card-SD-library-Second-Output-on-Serial-Monitor

أنتهت !!!

اترك تعليقاً

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