دليل ESP32 40/55 - القراءة والكتابة إلى بطاقة Micro SD | مجموعة تعلم إنترنت الأشياء ESP32 من SunFounder
في هذا tutorial، سنتعلم كيفية القراءة من بطاقة micro SD وكتابة البيانات إليها باستخدام ESP32 ولوحة التمديد SunFounder ESP32. سيمكننا ذلك من تخزين البيانات واسترجاعها لاحقًا، وهو أمر ضروري للعديد من تطبيقات إنترنت الأشياء. بحلول نهاية هذا tutorial، سيكون لديك إعداد عملي يمكنه إنشاء وكتابة وقراءة الملفات من بطاقة micro SD.
لبدء الاستخدام، تأكد من أن بطاقة micro SD الخاصة بك مُنسَّقة بشكل صحيح بنظام FAT32، حيث أن هذا هو نظام الملفات المطلوب لجهاز ESP32 للتفاعل مع البطاقة. سنستخدم مكتبة SD_MMC، التي تُبسط عملية الوصول إلى الملفات على بطاقة micro SD. من المهم ملاحظة أن السعة القصوى لبطاقة micro SD يجب ألا تتجاوز 32 جيجابايت.
شرح الأجهزة
تشمل المكونات الأساسية في هذا المشروع متحكم ESP32 ووحدة بطاقة الذاكرة الصغيرة. يعد ESP32 متحكمًا متعدد الاستخدامات يتميز بقدرات Wi-Fi وBluetooth مدمجة، مما يجعله مثاليًا لتطبيقات إنترنت الأشياء. تسمح وحدة بطاقة الذاكرة الصغيرة لمتحكم ESP32 بالقراءة من البطاقة والكتابة إليها، مما يمكن من تخزين البيانات للتطبيقات المختلفة.
تعمل بطاقة micro SD من خلال استخدام نظام الملفات لتخزين البيانات بطريقة منظمة. تتواصل مع ESP32 من خلال واجهة SD_MMC، مما يسمح بقراءة وكتابة الملفات بكفاءة. يمكن استخدام هذا الإعداد لتسجيل البيانات، وحفظ الصور، أو أي تطبيق آخر حيث تتطلب البيانات الاستمرارية.
تعليمات التوصيل

لتوصيل بطاقة micro SD بلوحة ESP32، اتبع هذه الخطوات:
أولاً، قم بتوصيل دبابيس الطاقة والأرض. قم بتوصيل دبوس VCC لوحدة بطاقة micro SD بدبوس 3.3V على ESP32، وقم بتوصيل دبوس GND بأحد دبابيس GND على ESP32. بعد ذلك، قم بتوصيل دبابيس البيانات: قم بتوصيل دبوس CS (اختيار الشريحة) لوحدة بطاقة micro SD بالدبوس5على وحدة ESP32، دبوس MOSI (الإخراج الرئيسي الإدخال التبعي) إلى دبوس23، دبابيس MISO (ماستر إن سلايف أوت) إلى دبابيس19، ودبوس SCK (دبوس الساعة التسلسلية) إلى دبوس18تأكد من أن هذه الاتصالات مؤمنة لتجنب أي مشكلات في التواصل.
إذا كنت تستخدم لوحة توصيل مختلفة، قد تختلف أرقام الدبابيس، لذا يرجى الرجوع إلى الوثائق الخاصة باللوحة الخاصة بك. الأسلاك ضرورية لعملية قراءة وكتابة الملفات على بطاقة micro SD بنجاح.
أمثلة الشيفرة وشرح الخطوات
الآن، دعونا نلقي نظرة على الأجزاء الرئيسية من الشيفرة التي تتفاعل مع بطاقة micro SD. تبدأ الإعدادات بتهيئة الاتصال التسلسلي والتحقق مما إذا كانت بطاقة micro SD قد تم تركيبها بنجاح.
Serial.begin(115200); // Initialize serial communication
if (!SD_MMC.begin()) { // Check if SD card is mounted successfully
Serial.println("Failed to mount SD card"); // Print error message if SD card failed to mount
return;
}في هذا الجزء من الشيفرة، تم إعداد الاتصال التسلسلي على معدل باود يبلغ 115200، وهو أمر مهم لمراقبة المخرجات.SD_MMC.begin()تحاول الدالة تركيب بطاقة SD؛ إذا فشلت، يتم طباعة رسالة خطأ على شاشة التسلسل.
الجزء التالي من الكود ينشئ ملفًا جديدًا على بطاقة الذاكرة الميكرو SD ويكتب سطرًا من النص فيه.
File file = SD_MMC.open("/test.txt", FILE_WRITE);
if (!file) {
Serial.println("Failed to open file for writing"); // Print error message if file failed to open
return;
}
if (file.println("Test file write")) { // Write a line of text to the file
Serial.println("File write successful"); // Print success message if write operation is successful
} else {
Serial.println("File write failed"); // Print error message if write operation failed
}
file.close(); // Close the fileهنا، ملف باسمtest.txtيفتح في وضع الكتابة. إذا تم فتح الملف بنجاح، فإنه يكتب سطرًا من النص ويطبع رسالة نجاح. إذا فشلت عملية الكتابة، يتم طباعة رسالة خطأ بدلاً من ذلك. وأخيرًا، يتم إغلاق الملف لضمان حفظ التغييرات.
يقوم الكود أيضًا بقراءة الملفات من الدليل الجذر لبطاقة micro SD ويطبع أسمائها وأحجامها.
File root = SD_MMC.open("/"); // Open the root directory of SD card
while (File file = root.openNextFile()) { // Loop through all the files in the root directory
Serial.print(file.name()); // Print the filename
Serial.print("\t");
Serial.println(file.size()); // Print the filesize
file.close(); // Close the file
}يفتح هذا الجزء من الكود الدليل الجذر ويتنقل عبر جميع الملفات، مطبوعًا أسماءها وأحجامها على شاشة السيريال. هذا مفيد للتحقق من أن البيانات قد كُتبت بنجاح ورؤية محتويات بطاقة SD.
للمزيد من التفاصيل، يرجى الرجوع إلى الشيفرة الكاملة المحملة أدناه المقال.
عرض / ما يمكن توقعه
بعد رفع الكود وإعادة ضبط ESP32، يجب أن ترى رسائل في وحدة تسلسل البيانات تشير إلى ما إذا كانت بطاقة SD قد تم تركيبها بنجاح وما إذا كانت عمليات الملفات ناجحة. كما سترى قائمة بالملفات التي تم العثور عليها في الدليل الجذري، مما يؤكد أن البيانات قد كتبت بشكل صحيح (في الفيديو عند 13:45).
تشمل الفخاخ الشائعة التأكد من أن بطاقة micro SD تم تنسيقها بشكل صحيح ومتصلة، بالإضافة إلى التحقق من أن شاشة السيريال تم إعدادها على معدل البود الصحيح. إذا ظهرت أي مشكلات، تحقق مرة أخرى من الأسلاك والاتصالات الخاصة بك.
طوابع زمنية للفيديو
- 00:00 بدء
- 1:45 مقدمة لبطاقة Micro SD على ESP32
- ٣:٤٦ صفحة الوثائق
- ٤:٤٣ كود أردوينو
- اختيار لوحة ESP32 ومنفذ COM في Arduino IDE الساعة 8:09
- :51 عرض كتابة بطاقة MicroSD
- عرض الملفات المكتوبة على الكمبيوتر 11:12
Common Course Links
Common Course Files
الأشياء التي قد تحتاجها
-
علي إكسبريساشتري وحدة بطاقة microSD من علي إكسبريسs.click.aliexpress.com
-
بانجوداشترِ وحدة بطاقة microSD من بانغودbanggood.com
الموارد والمراجع
-
توثيقدورة ESP32 40/55 - صفحة مستندات SunFounder لبطاقة MicroSDdocs.sunfounder.com
-
خارجياشتري وحدة بطاقة microSD من علي إكسبريسs.click.aliexpress.com
-
خارجي
-
خارجي
-
خارجياشترِ وحدة بطاقة microSD من بانغودbanggood.com
ملفات📁
لا توجد ملفات متاحة.