วิธีใช้โมดูลการ์ด Micro SD กับ Arduino

How to Use the Micro SD Card Module with Arduino

โมดูลการ์ด Micro SD ช่วยให้ Arduino อ่านและเขียนข้อมูลไปยังการ์ด microSD ทำให้เหมาะสำหรับการบันทึกข้อมูลการจัดเก็บเซ็นเซอร์หรือการจัดการไฟล์ในโครงการ Arduino บทช่วยสอนนี้จะแนะนำคุณผ่านการเชื่อมต่อและใช้โมดูลการ์ด Micro SD กับ Arduino


สิ่งที่คุณต้องการ

  1. โมดูลการ์ด Micro SD
  2. คณะกรรมการ Arduino (เช่น Uno, Mega, Nano)
  3. การ์ด microSD (จัดรูปแบบเป็น FAT32)
  4. เครื่องหั่นขนมปังและสายจัมเปอร์
  5. คอมพิวเตอร์ที่ติดตั้ง Arduino IDE

ขั้นตอนที่ 1: ทำความเข้าใจโมดูลการ์ด Micro SD

โมดูลใช้โปรโตคอล SPI เพื่อสื่อสารกับ Arduino มันมีหน่วยงานกำกับดูแลแรงดันไฟฟ้าออนบอร์ดทำให้สามารถทำงานกับไมโครคอนโทรลเลอร์ 5V และ 3.3V

Micro SD Card Module Pinout

เข็มหมุด การทำงาน
VCC แหล่งจ่ายไฟ (3.3V/5V)
gnd พื้น
มิโซะ เอาต์พุตข้อมูล SPI
Mosi อินพุตข้อมูล SPI
SCK นาฬิกา SPI
CS เลือกชิป

ขั้นตอนที่ 2: การเดินสายโมดูลการ์ด Micro SD ไปยัง Arduino

นี่คือวิธีการเชื่อมต่อโมดูลการ์ด Micro SD กับ Arduino Uno:

Micro SD PIN พิน Arduino
VCC 5V
gnd gnd
มิโซะ PIN 12
Mosi พิน 11
SCK PIN 13
CS พิน 10

บันทึก: หากคุณใช้บอร์ด Arduino ที่แตกต่างกันให้ตรวจสอบให้แน่ใจว่าพิน SPI นั้นตรงกับ pinout ของคณะกรรมการของคุณ


ขั้นตอนที่ 3: ติดตั้งไลบรารีที่ต้องการ

ห้องสมุด SD ถูกสร้างขึ้นใน Arduino IDE และทำให้การอ่านง่ายขึ้นและเขียนลงในการ์ด SD

ขั้นตอนในการตรวจสอบการติดตั้งไลบรารี:

  1. เปิด Arduino IDE
  2. ไป ร่าง > รวมห้องสมุด.
  3. ตรวจสอบให้แน่ใจว่ามีการแสดงรายการไลบรารี "SD" ถ้าไม่ติดตั้งจากตัวจัดการไลบรารี

ขั้นตอนที่ 4: อัปโหลดรหัส

นี่คือตัวอย่างตัวอย่างในการเขียนและอ่านข้อมูลจากการ์ด SD:

รหัสตัวอย่าง: การเขียนและการอ่านข้อมูล

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

#define CS_PIN 10 // Chip Select pin for the SD card module

File myFile;

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

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

  if (!SD.begin(CS_PIN)) {
    Serial.println("SD card initialization failed!");
    return;
  }
  Serial.println("SD card initialized.");

  // Write to the SD card
  myFile = SD.open("test.txt", FILE_WRITE);

  if (myFile) {
    Serial.println("Writing to test.txt...");
    myFile.println("Hello, SD card!");
    myFile.close();
    Serial.println("Write complete.");
  } else {
    Serial.println("Error opening test.txt for writing.");
  }

  // Read from the SD card
  myFile = SD.open("test.txt");
  if (myFile) {
    Serial.println("Reading from test.txt...");

    while (myFile.available()) {
      Serial.write(myFile.read());
    }
    myFile.close();
  } else {
    Serial.println("Error opening test.txt for reading.");
  }
}

void loop() {
  // Nothing to do here
}

ขั้นตอนที่ 5: ทดสอบการตั้งค่า

  1. เชื่อมต่อ Arduino กับคอมพิวเตอร์ของคุณผ่าน USB
  2. เปิด Arduino IDE และเลือกที่ถูกต้อง กระดาน และ ท่าเรือ ภายใต้ เครื่องมือ เมนู.
  3. อัปโหลดรหัสไปยัง Arduino โดยคลิก อัพโหลด.
  4. เปิดมอนิเตอร์อนุกรม (เครื่องมือ > จอภาพอนุกรม) และตั้งค่าอัตราการรับส่งข้อมูลเป็น 9600.
  5. สังเกตข้อความเกี่ยวกับการเริ่มต้นการ์ด SD การเขียนข้อมูลและการอ่านข้อมูลในจอภาพอนุกรม

ตัวเลือก: การจัดรูปแบบการ์ด SD

ตรวจสอบให้แน่ใจว่าการ์ด SD ของคุณถูกจัดรูปแบบเป็น FAT16 หรือ FAT32 ก่อนการใช้งาน ใช้เครื่องมือการจัดรูปแบบระบบปฏิบัติการหรือซอฟต์แวร์ของคุณเช่น SD Card Formatter


แอปพลิเคชันของโมดูลการ์ด Micro SD

  1. การบันทึกข้อมูล (เช่นอุณหภูมิความชื้นหรือเซ็นเซอร์ตรวจจับความเคลื่อนไหว)
  2. การจัดเก็บไฟล์การกำหนดค่าสำหรับโครงการ IoT
  3. การบันทึกรูปภาพหรือเสียงสำหรับโครงการมัลติมีเดีย
  4. การสร้างระบบจัดเก็บข้อมูลตามไฟล์

การแก้ไขปัญหา

  • การเริ่มต้นการ์ด SD ล้มเหลว: ตรวจสอบให้แน่ใจว่ามีการเดินสายที่เหมาะสมและตรวจสอบว่าการ์ด SD ถูกจัดรูปแบบอย่างถูกต้อง
  • ข้อผิดพลาดในการเปิดไฟล์: ตรวจสอบชื่อไฟล์และตรวจสอบให้แน่ใจว่าไม่เกิน 8 อักขระ (รวมถึงส่วนขยาย 3 ตัวอักษร)
  • การทำงานที่ไม่เสถียร: ใช้แหล่งจ่ายไฟ 5V ที่เสถียรและหลีกเลี่ยงสายจัมเปอร์ยาว

บทสรุป

คุณสามารถเชื่อมต่อโมดูลการ์ด Micro SD ได้สำเร็จกับ Arduino เพื่อให้สามารถจัดเก็บข้อมูลและดึงข้อมูลสำหรับโครงการของคุณได้ โมดูลอเนกประสงค์นี้เป็นสิ่งจำเป็นสำหรับการสร้างเครื่องบันทึกข้อมูลอุปกรณ์มัลติมีเดียหรือระบบที่ใช้ไฟล์ ทดลองเพิ่มเติมโดยการอ่านและเขียนไฟล์ขนาดใหญ่หรือรวมโมดูลการ์ด SD เข้ากับเซ็นเซอร์และจอแสดงผล!

แสดงความคิดเห็น

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.