سایت در حال بارگذاری است ...
info@aktronics.net هر روز 9 صبح الی 4 بعد از ظهر بجز پنجشنبه و جمعه ایران، تهران

آموزش استفاده از ماژول های کارتخوان SD و Micro SD

با توجه به محدود بودن حافظه ی میکروکنترلر ها، معمولا برای ثبت دیتاهای طولانی و لاگ ها از کارت های حافظه ی SD و Micro SD در پروژه ها استفاده می شود. این کارت ها با کارایی فوق العاده بالا و قیمت مناسبشان می توانند گزینه ی مناسبی برای اکثر پروژه های الکترونیکی باشند. استفاده از این ماژول های کارتخوان به نسب ساده است و پروتکل ارتباطی آن ها معمولا به صورت SPI می باشد.

برای اتصال کارتخوان های SD و Micro SD اتصال چهار پین ارتباطی MISO/MOSI/SCK/CS و دو پین تغذیه ی VCC/GND الزامی هست. جدول زیر به وضوح پین های مربوطه را برای برد های UNO و Mega نمایش می دهد، در صورتی که از برد متفاوتی استفاده می کنید. با دقت به پین های برد خودتان ارتباط را به صورت صحیح بین ماژول و برد برقرار کنید.

<tr”></tr”>

SD/MicroSD Mega Uno
CS ۵۳ ۱۰
SCK ۵۲ ۱۳
MOSI ۵۱ ۱۱
MISO ۵۰ ۱۲
VCC VCC VCC
GND GND GND

 

بعد از برقراری ارتباط می توانید با استفاده از اسکچ زیر ماژول کارتخوان SD یا Micro SD خودتان را تست کنید. این کد طوری طراحی شده است که وضعیت یک فایل نمونه را در پنجره ی سریال نمایش دهد، در صورت عدم وجود آن را به وجود بیاورد و در صورت وجود فایل مورد نظر آن را حذف کند، این کد را می توانید با استفاده از این لینک دریافت نمایید. در صورتی که کار با برنامه ی آردوینو را بلد نیستید این آموزش را مطالعه نمایید.

/*
تست نمایش، نوشتن و حذف فایل از روی کارت حافظه
*/
 
#include <SPI.h>
#include <SD.h>

File myFile;

void setup() {
  Serial.begin(9600);
  while (!Serial) {
    ;
  }


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

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

  if (SD.exists("example.txt")) {
    Serial.println("example.txt exists.");
  } else {
    Serial.println("example.txt doesn't exist.");
  }

  Serial.println("Creating example.txt...");
  myFile = SD.open("example.txt", FILE_WRITE);
  myFile.close();

  if (SD.exists("example.txt")) {
    Serial.println("example.txt exists.");
  } else {
    Serial.println("example.txt doesn't exist.");
  }

  Serial.println("Removing example.txt...");
  SD.remove("example.txt");

  if (SD.exists("example.txt")) {
    Serial.println("example.txt exists.");
  } else {
    Serial.println("example.txt doesn't exist.");
  }
}

void loop() {
}

 

با توجه به مصرف تغذیه ی بسیار پایین و سرعت بالای ارتباطی کارت های حافظه ی SD و Micro SD استفاده از این نوع حافظه می تواند راه حلی مناسب و عاقلانه برای پروژه هایی که نیازمند حافظه ی بیشتر از حافظه ی پیش فرض میکروکنترلر هستند باشند. استفاده از این کارت ها آسان است و فضای بسیار کمی را نیز اشغال می کنند پس به راحتی می توانید با استفاده از این ماژول های کارتخوان به نیاز خود دست پیدا کنید.

ابوالفضل خزائی

147 مطلب منتشر شده

سلام من ابوالفضل خزائی میزبان شما در این سایت هستم، یک مهندس و مدرس الکترونیک با دو دهه تجربه در زمینه ی مهندسی الکترونیک، مکانیک و مکاترونیک. در این سایت سعی کردیم با آموزش های رایگان راهنمای شما باشیم و با دوره های تخصصی مختلف آموزگار شما باشیم تا شما را با کمترین مشکل در کوتاه ترین زمان ممکن وارد بازار کار کنیم و به نتیجه مطلوب برسانیم. امیدواریم از مطالب ما نهایت لذت و استفاده را ببرید.

درباره این مطلب نظر دهید !