الأربعاء، 25 سبتمبر، 2013

بطاقة الذاكرة SD Card

SD Card





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

تتميز هذه الأنواع من الذواكر بأنواع متعددة , فهناك M2 و MMC و SD و SDHC و MicroSD و لها خصائص وسعات تخزينية قصوى مختلفة .




بكل الأحوال , سنتحدث عن كيفية ربط ذواكر ال SD مع الأردوينو , سواء كانت 
SDHC  او MicroSD .

هناك العديد من النماذج المختلفة من مصنعين مختلفين , فهناك من :

سباركفن SparkFun







ادافروت Adafruit 


و هناك أنواع أخرى مثل هذا , و هو الأكثر شيوعاً 





و هناك أغطية Shields تحتوي على مداخل للذواكر SD Card للأردوينو . يمكن استخدامها أيضاً .





أي نوع من الأغطية Shields التي تتوفر فيها SD Card يجب ان تراعي الأمور التالية :

أن تكون تحتوي على 3.3V converter logic لأن هذه الذواكر لا تعمل على 5 فولت مباشرة لأنها تنعطب بسهولة , يستخدم احياناً CD 4050 كمبدل رقمي بين 3.3 و 5 فولت .




سوف اشرح شرح متوافق مع كل هذه الأنواع و ما سيختلف فقط هو توافقية أحد هذه الأنواع ل 3.3 ام لا .

اذا كنت تستخدم غطاء Shield يوجد به 
3.3V converter logic فتستطيع التوصيل مباشرة مع الأردوينو , اذا لم تكن تملك واحداً فستحتاج فقط اما ل CD4050  او سنحتاج مقاومات 510 اوم عدد 3 .

يعتمد الأتصال مع الذواكر SD Card مع الأردوينو على البروتوكول SPI الذي يسمح بانتقال سريع للبيانات بين الأردوينو و المعلومات المخزنة بالذاكرة . 


ستحتاج في هذه التجربة ل :



1) بطاقة أردوينو 
2)غطاء الذاكرة SD Card 
3) ذاكرة sd card اي سعة متوفرة لغاية 16Gb 
4) اسلاك توصيل 
5)مقاومات 510 اوم عدد 3
6) لوحة توصيل Bread board


التوصيل :




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


SCLK>>>D13 "with resistor 510 ohm"
MISO>>>D12
MOSI>>>D11 "with resistor 510 ohm"
CS>>>>>D4   "with resistor 510 ohm"
VCC>>>>3.3V
Gnd>>>>Gnd


البرنامج  : يقوم بفتح الذاكرة و يقوم بطباعة جملة  في ملف سينشئه داخل الذاكرة , و ثم يقوم بفتح نفس الملف في مسار الذاكرة و يقرأ الجملة المطبوعة داخله .
/*
  SD card read/write code 
  
 * SD card attached to SPI bus as follows:
 ** MOSI - pin 11
 ** MISO - pin 12
 ** CLK - pin 13
 ** CS - pin 4
 this code create a file named Geno.txt and write a text 
 then read it again from sd card directory
 
 Created by Mohannad Rawashdeh, taken from arduino example 
 http://www.genotronex.com
  
 */
 
#include <SPI.h>
#include <SD.h>
#define SD_Pin 4 
File Genotronex;

void setup()
{
  Serial.begin(9600);
  Serial.print(" SD card Begun please wait...");
   pinMode(10, OUTPUT);// To avoid any error on select pin ,change it to 53 in MEGA
   
  if (!SD.begin(SD_Pin)) {
    Serial.println(" failed! try again");
    return;
  }
  Serial.println(" OK, Ready to use.");
  
  Genotronex = SD.open("Geno.txt", FILE_WRITE);
  
  // if the file opened okay, write to it:
  if (Genotronex) {
    Serial.print("Writing to Geno.txt...");
     Genotronex.print("More info please visit :");
    Genotronex.println(" www.genotronex.com ");
 // close the file:
    Genotronex.close();
    Serial.println("done.");
  } else {
    // if the file didn't open, print an error:
    Serial.println("error opening Geno.txt");
  }
  
  // re-open the file for reading:
  Genotronex = SD.open("Geno.txt");
  if (Genotronex) {
    Serial.println("Geno.txt contain :");
    
    // read from the file until there's nothing else in it:
    while (Genotronex.available()) {
     Serial.write(Genotronex.read());
    }
    // close the file:
    Genotronex.close();
  } else {
   // if the file didn't open, print an error:
    Serial.println("error opening and Read Geno.txt");
  }
}

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






و هذا الذي سيظهر على الشاشة بعد تحميل البرنامج .




التعامل مع هذه المكتبة سهل و يمكن مراجعة الأوامر الخاصة بالمكتبة على موقع أردوينو  SD Library

1 التعليقات :

 
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.