ماژول کارت خوان Micro SD card Module با رابط SPi
ماژول کارت خوان Micro SD card Module با رابط SPi
ماژول Micro SD با رابط SPI (Serial Peripheral Interface) یک وسیله ذخیرهسازی فلش کوچک است که برای افزایش ظرفیت ذخیرهسازی در دستگاههای الکترونیکی کاربرد دارد. به کمک این ماژول می توانید به سادگی داده ها را از روی کارت SD خوانده و یا بر روی آن ذخیره کنید. این ماژول از پروتکل SPI جهت ارتباط با میکروکنترلرها استفاده می کند. راه اندازی این ماژول با آردوینو بسیار ساده بوده و جهت کار با این ماژول، کتابخانه تحت آردوینو توسعه یافته است.
این ماژولها به عنوان کارتهای حافظه جمعآوری شده و به عنوان یک واحد مستقل قابل استفاده هستند. رابط SPI یک رابط سریال ساده است که برای ارتباط با دستگاههای مختلف در مدارهای الکترونیکی استفاده میشود. ماژول Micro SD با رابط SPI شامل یک کارت حافظه Micro SD است که به یک مدار کنترلی متصل شده است. مدار کنترلی نقش تبدیل سیگنالهای رابط SPI به فرمت قابل فهم برای کارت حافظه را دارد و همچنین وظیفه مدیریت عملیات خواندن و نوشتن را بر عهده دارد. برای استفاده از ماژول Micro SD با رابط SPI، ابتدا باید آن را به میکروکنترلر یا سیستم الکترونیکی مورد نظر خود متصل کنید.
سیگنالهای کلاک، MISO و MOSI از طریق سیمهایی به ماژول ارسال میشوند و سیم Chip Select برای انتخاب دستگاه مورد نظر استفاده میشود. با استفاده از دستورات و پروتکل ارتباطی SPI، میتوانید دستورات خواندن، نوشتن، حذف و مدیریت دادههای ذخیرهشده در کارت حافظه Micro SD را ارسال کنید و اطلاعات را به صورت سریع و قابل اعتماد خواندن یا نوشتن کنید. از ماژول Micro SD با رابط SPI در بسیاری از پروژههای الکترونیکی استفاده میشود، از جمله رباتیک، اینترنت اشیا، سیستمهای جاسازی، دوربینهای دیجیتال، پخش کنندههای موسیقی و دستگاههای پوشیدنی میتوان اشاره کرد.
مشخصات فنی ماژول کارت خوان Micro SD
ولتاژ کاری 4.5 الی 5.5
جریان مصرفی 0.2 الی 200 میلی آمپر(80 میلی آمپر به صورت معمول)
دارای رابط سریال SPI جهت ارتباط با میکروکنترلرها
پشتیبانی از کارت های SD و SDHC
پشتیبانی از FAT16 و FAT32 توسط آردوینو
دارای سوکت میکرو SD
دارای حفره بر روی برد جهت مهارسازی و پیچ کردن
بررسی پایههای Pinout ماژول کارت خوان MicroSD با رابط SPI
ماژول Micro SD با رابط SPI دارای پینهای خاصی است که برای اتصال به سایر دستگاهها استفاده میشوند. در ادامه پایههای این ماژول را بررسی میکنیم.
- پایه VCC: این پین برای تامین تغذیه به ماژول استفاده میشود. ولتاژ ورودی معمولا 3.3 ولت است.
- پایه GND: این پین به منظور اتصال به زمین یا منبع تغذیه منفی استفاده میشود.
- پایه SCK (Serial Clock): این پین مربوط به سیگنال کلاک SPI است که برای هماهنگسازی تبادل داده بین ماژول و دستگاه متصل استفاده میشود. این سیگنال توسط میکروکنترلر یا دستگاه اصلی تولید و ارسال میشود.
- پایه MISO (Master In Slave Out): این پین مربوط به دادههای ورودی ارسال شده توسط ماژول است. این دادهها توسط ماژول Micro SD خوانده شده و به میکروکنترلر یا دستگاه اصلی برگردانده میشوند.
- پایه MOSI (Master Out Slave In): این پین برای ارسال دادههای خروجی از میکروکنترلر یا دستگاه اصلی به ماژول Micro SD استفاده میشود. این دادهها توسط ماژول خوانده شده و برای ذخیره سازی در کارت حافظه استفاده میشوند.
- پایه CS (Chip Select): این پین برای انتخاب ماژول Micro SD در ارتباط SPI استفاده میشود. وقتی سیگنال CS فعال شود (معمولاً به صورت منطقی پایین یا LOW)، ماژول Micro SD آماده برای دریافت دستورات SPI میشود.
دقت کنید که برخی از ماژولهای Micro SD ممکن است دارای پینهای اضافی مانند پینهای برقی (VCC و GND) یا پینهای مربوط به کارتهای حافظه دیگری مانند SD Card Adapter باشند. در هر صورت، پینهای فوق برای ماژول Micro SD با رابط SPI پرکاربردترین پینها هستند.
به همراه ماژول کارت خوان Micro SD SPI چه اقلامی باید خریداری شود؟
برای استفاده از ماژول Micro SD با رابط SPI، علاوه بر خود ماژول، باید اقلام زیر را هم خریداری کنید.
- کارت حافظه Micro SD: این ماژول برای استفاده نیاز به یک کارت حافظه Micro SD دارد. شما باید یک کارت حافظه Micro SD با ظرفیت مورد نیاز خریداری کنید. توصیه میشود از کارتهای حافظه با سرعت خواندن و نوشتن بالا استفاده کنید تا عملکرد بهینهتری داشته باشید.
- میکروکنترلر یا دستگاه اصلی: برای کنترل و ارتباط با ماژول Micro SD، نیاز به یک میکروکنترلر یا دستگاه اصلی دارید. میکروکنترلرهایی مانند Arduino، Raspberry Pi بردهای STM یا بردهای ESP32 یا میکروکنترلرهای ARM میتوانند به عنوان دستگاه کنترلی استفاده شوند.
- برد اتصال: برای اتصال ماژول Micro SD و میکروکنترلر، شما به یک برد اتصال نیاز دارید. این برد معمولا شامل پینها و سوکتهای مورد نیاز برای اتصال ماژول و میکروکنترلر است.
- سیمها و کابلها: برای اتصال پینهای ماژول Micro SD و میکروکنترلر به یکدیگر، نیاز به سیمها و کابلهای مناسب دارید. این شامل سیمهای جامپر، کابلهای رابط SPI و سایر کابلهای مورد نیاز برای اتصال است.
- منبع تغذیه: برای تغذیه ماژول Micro SD، باید از یک منبع تغذیه استفاده کنید. این ممکن است شامل منبع تغذیه خارجی با ولتاژ مناسب برای ماژول باشد یا در صورت استفاده از برد اتصال، از منبع تغذیه میکروکنترلر استفاده کنید.
حتماً قبل از خرید این اقلام، دقت کنید که با مشخصات و نیازهای ماژول Micro SD و سیستم خود همخوانی دارند.
کاربردهای ماژول کارت خوان Micro SD
ساخت دستگاه های دیتا لاگر
استفاده به عنوان حافظه کمکی در میکروکنترلرها
ذخیره صدا و استفاده در سیستم های سخنگو
نکات فنی مهم ماژول کارت خوان Micro SD SPI
1- پیش از راه اندازی و استفاده، ابتدا کارت SD را فرمت کامل نمایید.
2- در هنگام اتصال تغذیه، پلاریته را دقت فرمایید.
3-ولتاژ اعمالی نباید از حداقل کمتر و از حداکثر بیشتر شود.
4- جهت ذخیره سازی داده ها با فرمت اکسل، نام فایل را مورد نظر را با پسوند CSV. ذخیره کرده و هر فیلد را با عبارت "," از یکدیگر جداکنید.
راه اندازی ماژول کارت خوان Micro SD SPI با آردوینو
برای راه اندازی ماژول Micro SD با آردوینو، مراحل زیر را دنبال کنید:
اتصالات سختافزاری:
اتصال پین VCC ماژول به منبع تغذیه 3.3 ولت
اتصال پین GND ماژول به زمین (GND) آردوینو
اتصال پین SCK ماژول به پین 13 آردوینو
اتصال پین MISO ماژول به پین 12 آردوینو
اتصال پین MOSI ماژول به پین 11 آردوینو
اتصال پین CS ماژول به یک پین دلخواه (به عنوان مثال، پین 10 آردوینو)
نصب کتابخانه SD:
از منوی "Sketch" در برنامه آردوینو، بخش "Include Library" را انتخاب کنید. سپس به "SD" بروید و آن را انتخاب کنید. این کتابخانه به عنوان رابط برنامهنویسی برای کار با کارتهای حافظه SD و Micro SD استفاده میشود.
کد نمونه:
از منوی "File" در برنامه آردوینو، بخش "Examples" را انتخاب کنید. در قسمت "Examples"، به بخش "SD" بروید و نمونه "CardInfo" را انتخاب کنید. این نمونه یک برنامه ساده است که اطلاعات کارت Micro SD را خوانده و در Serial Monitor نمایش میدهد.
آپلود و اجرا:
وقتی کد نمونه باز شد، از طریق کابل USB، آردوینو را به کامپیوتر متصل کنید. در برنامه آردوینو، بر روی دکمه "Upload" کلیک کنید تا کد روی برد آردوینو آپلود و اجرا شود. برنامه Serial Monitor را اجرا کنید (از طریق منوی "Tools" در برنامه آردوینو) و سرعت baud را به 9600 تنظیم کنید. در صفحه Serial Monitor، شما باید اطلاعات مربوط به کارت Micro SD خود را مشاهده کنید. با اجرای این مراحل، ماژول Micro SD با آردوینو راهاندازی شده و قادر به خواندن و نوشتن دادهها از و به کارت حافظه Micro SD خواهید بود. شما میتوانید این راهاندازی را برای توسعه برنامههایی که نیاز به ذخیره سازی داده دارند، استفاده کنید.
نمونه کد دیتالاگر دمار طوبت با DHT11
این کد، دما و رطوبت را از سنسور DHT11 خوانده و آنها را به همراه زمان ذخیره میکند. دادهها در فایل "datalog.txt" در کارت حافظه Micro SD ذخیره میشود. در هر اجرای حلقه loop()، دما و رطوبت خوانده شده را در Serial Monitor نمایش میدهد و همچنین در فایل ذخیره میکند. برای اجرای این کد، کتابخانههای SD و DHT را قبل از استفاده نصب کنید.
#include <SPI.h>
#include <SD.h>
#include <DHT.h>
#define DHTPIN 2 // پین دیتا سنسور DHT11 را به پین 2 آردوینو متصل کنید
#define DHTTYPE DHT11 // استفاده از سنسور DHT11
#define CS_PIN 10 // پین Chip Select ماژول Micro SD را به پین 10 آردوینو متصل کنید
DHT dht(DHTPIN, DHTTYPE);
File dataFile;
void setup() {
Serial.begin(9600);
dht.begin();
// ارتباط با ماژول Micro SD را برقرار کنید
if (!SD.begin(CS_PIN)) {
Serial.println("Failed to initialize SD card.");
return;
}
Serial.println("Initializing SD card...");
if (SD.exists("datalog.txt")) {
Serial.println("datalog.txt already exists. Appending data.");
} else {
Serial.println("Creating datalog.txt file.");
}
dataFile = SD.open("datalog.txt", FILE_WRITE);
if (dataFile) {
dataFile.println("Temperature (C), Humidity (%)");
dataFile.close();
Serial.println("SD card initialized successfully.");
} else {
Serial.println("Error opening datalog.txt file.");
}
}
void loop() {
// خواندن دما و رطوبت از سنسور DHT11
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
// نمایش دما و رطوبت در Serial Monitor
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.print(" °C, Humidity: ");
Serial.print(humidity);
Serial.println(" %");
// ذخیره دما و رطوبت در کارت حافظه Micro SD
dataFile = SD.open("datalog.txt", FILE_WRITE);
if (dataFile) {
dataFile.print(temperature);
dataFile.print(",");
dataFile.println(humidity);
dataFile.close();
Serial.println("Data saved to SD card.");
} else {
Serial.println("Error opening datalog.txt file.");
}
delay(2000);
}
راه اندازی ماژول کارت خوان Micro SD SPI با میکروپایتون
برای راه اندازی ماژول Micro SD با استفاده از میکروپایتون، می توانید از کتابخانه micropython-sdcard استفاده کنید. برای شروع، مراحل زیر را دنبال کنید.
آمادهسازی محیط: نصب میکروپایتون بر روی میکروکنترلر یا بردی که از میکروپایتون پشتیبانی میکند. اتصال ماژول Micro SD به میکروکنترلر. معمولاً این شامل اتصال پینهای SPI مانند CLK، MOSI، MISO و CS به معادلهای مربوطه در میکروکنترلر است.
نصب کتابخانه micropython-sdcard: دانلود کتابخانه micropython-sdcard از منبع معتبر. کپی کردن فایل sdcard.py به میکروکنترلر یا برد میکروپایتونی شما.
کد نمونه: با استفاده از ادیتور متنی مورد علاقه خود، یک فایل جدید بسازید و کد زیر را در آن قرار دهید.
import sdcard
import os
# مسیر فایل سیستم Micro SD را تعیین کنید
sd_path = '/sd'
# بررسی و اتصال به کارت Micro SD
if sdcard.is_present():
print("Micro SD card is detected.")
sd = sdcard.SDCard()
vfs = os.VfsFat(sd)
os.mount(vfs, sd_path)
print("Micro SD card is mounted.")
else:
print("Micro SD card is not detected.")
# آزمایش نوشتن داده به فایل
data = "Hello, Micro SD Card!"
file_path = sd_path + '/data.txt'
with open(file_path, 'w') as f:
f.write(data)
print("Data is written to the file:", data)
# آزمایش خواندن داده از فایل
with open(file_path, 'r') as f:
read_data = f.read()
print("Data read from the file:", read_data)
# جدا کردن اتصال ماژول Micro SD
os.umount(sd_path)
print("Micro SD card is unmounted.")
آپلود و اجرا: فایل را ذخیره کنید و آن را به میکروکنترلر یا برد میکروپایتونی منتقل کنید. از طریق رابط مورد استفاده، از این کد بر روی میکروکنترلر یا برد میکروپایتونی خود اجرا کنید. خروجی و نتایج را از طریق کنسول یا UART مشاهده کنید. با اجرای این مراحل، ماژول Micro SD با میکروپایتون راهاندازی میشود و شما قادر به خواندن و نوشتن دادهها در کارت حافظه Micro SD خواهید بود. توجه داشته باشید که مسیر فایل سیستم Micro SD را با توجه به تنظیمات خود در کد تعیین کنید.
آموزش استفاده از ماژول کارت حافظه SD CARD با برد آردوینو
با توجه به حجم حافظه محدود EEPROM آردوینوها ، گاهی اوقات در اختیار داشتن یک حافظه جانبی با ظرفیت بیشتر برای ذخیره سازی دادههای سنسورها و همچنین ثبت گزارشات ضروری میباشد. شما با توجه به این ماژول میتوانید اطلاعات مورد نظر خود را بر روی SD card آپلود کنید.
پروژه ساخت دیتالاگر دما با DHT22 و ذخیره مقادیر در SDcard
ثبت کننده داده یا دیتالاگر وسیلهای الکترونیکی است که دادههایی را که به وسیلهٔ سنسور های موجود در دستگاه یا حسگر خارجی تامین میشوند را در طول زمان یا در رابطه با مکان ذخیره میکند. اکثر دیتالاگرها بر پایه یک پردازنده دیجیتال طراحی و ساخته میشوند. data logger وسیله ای الکترونیکی است که برای ذخیره داده ها در طول زمان استفاده می شود، معمولاً به عنوان ثبت کننده اطلاعات شناخته می شود. ثبت کننده های داده در هر مکان که در شرایط ضبط بیش از یک دوره زمانی مزیت داشته باشد، استفاده می شود.
مشخصات
- کاربری
- مناسب برای استفاده صنعتی
- نوع ماژول
- کارت خوان - Card Reader
- سطح تجربه مورد نیاز
- نیمه حرفه ای
- ابعاد
- 40x23mm
- ولتاژ مورد نياز
- 3.3 یا 5 ولت DC
- فیبر مدار چاپی
- فایبرگلاس دورو متالیزه
- چاپ مس
- دارای چاپ آبی
- تعداد پایه ها
- 6 پایه
- ترتیب پایه ها
- GND, VCC, MISO, MOSI, SCK, CS
- کشور سازنده
- چین
- نوع کانکتور
- پین هدر
- پروتکل ارتباطی
- SPI
- جریان مصرفی درحالت فعال
- از 0.2 تا 200 میلی آمپر، 80 میلی آمپر مقدار معمول
- سایر توضیحات
- دارای اسلات ورودی Micro SD
- حافظه ديتا
- از نوع SD
- کانالهای ارتباطی
- پروتکل SPI
- نوع مبدل
- پروتکل SPI
توسط همین ماژول هم میتوانید اقدام به اجرای درخواستتان کنید. البته اگر فقط بخواهید یک سلول باتری لیتیومی را مدیریت شارژ کنید، همان گزینه ماژول TP4056 مناسب خواهد بود.
امکان راه اندازی چند سنسور DHT با ESP8266 با استفاده از MicroPython وجود دارد. سنسورهای DHT با پروتکل دیجیتال و از طریق پایههای GPIO قابل اتصال به میکروکنترلرها هستند.
برای ساخت یک سیستم کنترل دما با برد میکروکنترلر ESP32، به موارد زیر نیاز دارید:
یک برد میکروکنترلر ESP32
یک سنسور دما مثل DHT DS18B20
یک المان سرد کننده
با استفاده از کتابخانه DHT.h، میتوانید از سنسور دما برای خواندن دمای محیط استفاده کنید. سپس، میتوانید از این دما برای کنترل المان گرمایشی یا سرمایشی استفاده کنید.
در خصوص برنامه نویسی از کتابخانه DHT و در صورت نیاز کتابخانه وای فای برای ارسال دادهها به پلتفرم IoT باید استفاده کنید.