สารบัญ:

การจัดการไฟล์การ์ด Micro SD: 4 ขั้นตอน
การจัดการไฟล์การ์ด Micro SD: 4 ขั้นตอน

วีดีโอ: การจัดการไฟล์การ์ด Micro SD: 4 ขั้นตอน

วีดีโอ: การจัดการไฟล์การ์ด Micro SD: 4 ขั้นตอน
วีดีโอ: ตั้งค่าให้มือถือ ถ่ายภาพและวีดีโอ เข้า SD card โดยตรง แก้ปัญหาความจำเต็ม 2024, กรกฎาคม
Anonim
การจัดการไฟล์การ์ด Micro SD
การจัดการไฟล์การ์ด Micro SD
การจัดการไฟล์การ์ด Micro SD
การจัดการไฟล์การ์ด Micro SD
การจัดการไฟล์การ์ด Micro SD
การจัดการไฟล์การ์ด Micro SD

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

เมื่อฉันเริ่มใช้อะแดปเตอร์การ์ด SD ครั้งแรก ฉันอ้างอิงถึงคำแนะนำในการเริ่มต้นใช้งานที่ยอดเยี่ยม นั่นคือ Micro SD Card Tutorial คำแนะนำของฉันรวมถึงตัวเลือกการเชื่อมต่อสำหรับ Nano และ Mega2560 Arduino และเนื่องจากฉันเป็นโปรแกรมเมอร์ ฉันได้พัฒนาและทดสอบโปรแกรมที่แสดงฟังก์ชันการทำงานต่อไปนี้ในโปรแกรมเดียว ซึ่งทดสอบบน Nano และ Mega2560 Arduino

ฟังก์ชั่นอะแดปเตอร์

สามารถเขียนโปรแกรมเพื่อจัดการและอ่านไดเร็กทอรีและไฟล์ในการ์ด micro SD:

  • เขียนไฟล์
  • อ่านไฟล์
  • ตรวจสอบว่ามีไฟล์อยู่หรือไม่
  • รับข้อมูลไฟล์เช่น size
  • ลบไฟล์
  • สร้างไดเร็กทอรีไฟล์ (โฟลเดอร์)
  • ตรวจสอบว่ามีโฟลเดอร์อยู่หรือไม่
  • ลบโฟลเดอร์

ตัวอย่างการใช้งาน

คุณสามารถใช้อะแดปเตอร์การ์ด SD เพื่อจัดเก็บรายการข้อมูล เช่น ค่าการบันทึกที่รวบรวมระหว่างช่วงเวลา ฉันใช้อะแดปเตอร์เพื่อจัดเก็บโปรแกรมบนคอมพิวเตอร์อีมูเลเตอร์ Altair 8800 เพื่อโหลดและเรียกใช้ (ดูรูปด้านบน) การ์ด SD ทำหน้าที่เป็น SSD/ฮาร์ดไดรฟ์ของโปรแกรมจำลองคอมพิวเตอร์

ความต้องการ

คำแนะนำนี้ต้องการให้คุณติดตั้ง Arduino IDE คุณต้องมีทักษะพื้นฐานในการดาวน์โหลดโปรแกรมร่าง Arduino จากลิงก์ในโครงการนี้ สร้างไดเร็กทอรีสำหรับโปรแกรม (ชื่อไดเร็กทอรี เช่นเดียวกับชื่อโปรแกรม) เมื่อดาวน์โหลดแล้ว ขั้นตอนต่อไปคือการโหลดโปรแกรมลงใน IDE ดูและแก้ไข จากนั้นอัปโหลดโปรแกรมผ่านสาย USB ไปยังบอร์ด Arduino ของคุณ

เสบียง

  • บอร์ดไมโครคอนโทรลเลอร์ Arduino ATmega2560 (Mega), Uno หรือ Nano ATmega328P พร้อมสาย USB เพื่อเชื่อมต่อกับคอมพิวเตอร์ของคุณ
  • อะแดปเตอร์การ์ด Micro SD
  • สายไฟ Breadboard หรือสายไฟ (ชายกับหญิง)

ฉันซื้อชิ้นส่วนบนอีเบย์ ส่วนใหญ่มาจากผู้จัดจำหน่ายในฮ่องกงหรือจีน ผู้จัดจำหน่ายในสหรัฐอเมริกาอาจมีชิ้นส่วนที่เหมือนกันหรือคล้ายกันในราคาที่สมเหตุสมผลและจัดส่งได้เร็วกว่า ชิ้นส่วนของจีนใช้เวลา 3 ถึง 6 สัปดาห์ในการจัดส่ง ตัวแทนจำหน่ายที่ฉันเคยใช้ล้วนเชื่อถือได้

ค่าใช้จ่ายโดยประมาณ: 15 เหรียญสำหรับเมกะ, 3 เหรียญสำหรับนาโน, อะแดปเตอร์การ์ด micro SD ราคา 1 เหรียญ

ขั้นตอนที่ 1: ทดสอบ Arduino Nano หรือ Mega

Image
Image
ทดสอบ Arduino Nano หรือ Mega
ทดสอบ Arduino Nano หรือ Mega
ทดสอบ Arduino Nano หรือ Mega
ทดสอบ Arduino Nano หรือ Mega
ทดสอบ Arduino Nano หรือ Mega
ทดสอบ Arduino Nano หรือ Mega

หากคุณกำลังใช้ Arduino Nano ให้เสียบเข้ากับ Breadboard เชื่อมต่อพลังงานและกราวด์จาก Arduino เข้ากับแถบพลังงานของเขียงหั่นขนม เชื่อมต่อพิน Arduino 5V+ กับแถบบวกของเขียงหั่นขนม เชื่อมต่อพิน Arduino GND (กราวด์) กับแถบลบ (กราวด์) ของเขียงหั่นขนม แถบพลังงานสามารถใช้เพื่อจ่ายไฟให้กับอะแดปเตอร์ SD หากคุณใช้ Arduino Mega หรือ Uno การใช้เขียงหั่นขนมเป็นทางเลือก เนื่องจากคุณสามารถต่ออะแดปเตอร์เข้ากับ Arduino ได้โดยตรง

ดาวน์โหลดและรันโปรแกรมทดสอบ Arduino พื้นฐาน: arduinoTest.ino ขณะรันโปรแกรม ไฟ LED บนเครื่องจะติด 1 วินาที ปิด 1 วินาที และวนต่อเนื่อง นอกจากนี้ยังมีการโพสต์ข้อความซึ่งสามารถดูได้ใน Arduino IDE Tools/Serial Monitor

+++ การติดตั้ง

+ เริ่มต้นพินดิจิตอล LED บนบอร์ดสำหรับเอาต์พุต ไฟ LED ปิดอยู่ ++ ไปที่ลูป + ตัวนับวง = 1 + ตัวนับวง = 2 + ตัวนับวง = 3 …

หมายเหตุ คุณสามารถใช้โปรแกรมนี้เพื่อทดสอบ Nano, Mega หรือ Uno ได้ โดยทั้งหมดมีหมายเลขพินเดียวกันสำหรับไฟ LED ออนบอร์ด

ขั้นตอนที่ 2: ต่ออะแดปเตอร์การ์ด Micro SD และทดสอบ

ต่ออะแดปเตอร์การ์ด Micro SD และทดสอบ
ต่ออะแดปเตอร์การ์ด Micro SD และทดสอบ
ต่ออะแดปเตอร์การ์ด Micro SD และทดสอบ
ต่ออะแดปเตอร์การ์ด Micro SD และทดสอบ
ต่ออะแดปเตอร์การ์ด Micro SD และทดสอบ
ต่ออะแดปเตอร์การ์ด Micro SD และทดสอบ
ต่ออะแดปเตอร์การ์ด Micro SD และทดสอบ
ต่ออะแดปเตอร์การ์ด Micro SD และทดสอบ

ต่ออะแดปเตอร์การ์ด micro SD เพื่อจัดการไฟล์สำหรับการจัดเก็บข้อมูลแบบถาวร หากคุณใช้นาโน คุณสามารถใช้สายเคเบิลเพื่อเสียบอะแดปเตอร์เข้ากับเขียงหั่นขนมดังรูปด้านบน หรือคุณสามารถเสียบอะแดปเตอร์เข้ากับเขียงหั่นขนมและใช้สายไฟเพื่อเชื่อมต่อพิน Nano 10 ถึง 13 กับหมุดอะแดปเตอร์ตามที่แสดงด้านล่าง หากใช้ Mega ให้เสียบด้านชายของสายไฟเข้ากับหมุด Mega (หมุด 50 ถึง 53) และด้านตัวเมียของสายไฟเข้ากับอะแดปเตอร์ (ตามภาพด้านบน)

เชื่อมต่อพลังงานจาก Arduino กับอะแดปเตอร์ด้วย

Mega Nano หรือ Uno - หมุดโมดูล SPI

Pin 53 10 - CS: chip/slave select pin Pin 52 13 - SCK: serial clock Pin 51 11 - MOSI: master out slave ใน Pin 50 12 - MISO: master in slave Out Pin 5V+ 5V+ - VCC: สามารถใช้ 3.3V หรือ 5V ขา GND GND - GND: กราวด์

คำอธิบายฟังก์ชันพิน

  • CS: พินเลือกชิป/สเลฟ สามารถเป็นพินดิจิทัลใดๆ ก็ได้เพื่อเปิดใช้งาน/ปิดใช้งานอุปกรณ์นี้บนบัส SPI
  • SCK: นาฬิกาอนุกรม SPI: ยอมรับพัลส์นาฬิกาที่ซิงโครไนซ์การรับส่งข้อมูลที่สร้างโดย Arduino
  • MOSI: มาสเตอร์เอาท์ (Arduino), สเลฟอิน, SPI: อินพุตไปยังโมดูลไมโคร SD การ์ด
  • MISO: มาสเตอร์อิน (Arduino in), สเลฟเอาท์ (SD appapter out), SPI: เอาต์พุตจากโมดูล Micro SD Card

ใน Arduino IDE ให้ติดตั้งไลบรารี SD หากยังไม่ได้ติดตั้ง เลือกเครื่องมือ/จัดการไลบรารี กรองการค้นหาของคุณโดยพิมพ์ "SPI" หรือ "SD" ฉันมีไลบรารี SD โดย Arduino, SparkFun เวอร์ชัน 1.2.3 ติดตั้งอยู่ หากคุณไม่ติดตั้ง ให้ติดตั้งเวอร์ชันล่าสุด หมายเหตุ หมุดอะแดปเตอร์ถูกประกาศในไลบรารี SPI สำหรับ SCK, MOSI, MISO และ CS

บันทึก SPI Master/Slave ที่เกี่ยวข้องกับหมุด CS ของอะแดปเตอร์ SD และไลบรารี SD:

  • พิน Ardunio ที่เชื่อมต่อกับพิน CS ของอแด็ปเตอร์ SD เรียกว่าพินสเลฟซีเล็ค (SS) ไลบรารี SD ใช้พิน 10, พิน 53 บนเมกะ เป็นพิน SS เริ่มต้น ไลบรารีรองรับเฉพาะอุปกรณ์ Arduino เป็นหลัก
  • คุณสามารถใช้พินดิจิทัล Arduino ใดๆ เพื่อเชื่อมต่อกับหมุดเลือกอะแดปเตอร์การ์ด SD (CS) หากคุณใช้พินอื่นที่ไม่ใช่พิน SS เริ่มต้น ให้สร้างพินนั้นเป็นพินเอาต์พุตโดยเพิ่ม: pinMode(otherPin, OUTPUT);. แล้วตั้งพินให้ต่ำ
  • เมื่อตั้งค่าพินเลือกทาสของ Arduino (SS) เป็นต่ำ อะแดปเตอร์ SD จะสื่อสารกับ Arduino Arduino เป็นต้นแบบและอะแดปเตอร์ SD เป็นทาส
  • เมื่อตั้งค่าไว้สูง อะแดปเตอร์ SD จะไม่สนใจ Arduino (ตัวหลัก)
  • การเลือกช่วยให้คุณมีอุปกรณ์ SPI หลายเครื่องที่แชร์สายบัส Ardunio เดียวกัน (พิน): MISO, MOSI และ CLK

ดาวน์โหลดและรันโปรแกรมทดสอบพื้นฐาน: sdCardTest.ino โปรแกรมนี้ได้รับการทดสอบสำเร็จด้วยเมกะและนาโน

คำสั่งโปรแกรมไฟล์และไดเร็กทอรี

การเริ่มต้น: รวมไลบรารี, ประกาศพิน Arduino SS ที่เชื่อมต่อกับพิน CS ของอะแดปเตอร์, ประกาศวัตถุไฟล์ และเริ่มต้นการเชื่อมต่อ Arduino กับอะแดปเตอร์

#รวม

#include const int csPin = 10; // สำหรับ Mega ให้พิน 53 ไฟล์ myFile; รูทไฟล์; SD.begin(csPin)

ฟังก์ชั่นไฟล์: ตรวจสอบว่ามีไฟล์อยู่หรือไม่, เปิดเพื่อเขียนและเขียน, พิมพ์ชื่อและขนาดของไฟล์ที่เปิดอยู่, เปิดไฟล์เพื่ออ่าน, อ่านจนจบไฟล์และปิดไฟล์, และลบไฟล์

ถ้า (SD.exists("F1. TXT")) { … }

myFile = SD.open("F1. TXT", FILE_WRITE); myFile.println(F("สวัสดีครับ ")); Serial.print(รายการ.name()); Serial.print(entry.size(), ธ.ค.); myFile = SD.open("F1. TXT"); ในขณะที่ (myFile.available ()) { Serial.write (myFile.read ()); } myFile.close(); SD.remove("F1. TXT");

ฟังก์ชั่นไดเร็กทอรี: เปิดไดเร็กทอรีสำหรับแสดงรายการ/ประมวลผล, เปิดไฟล์ถัดไปในไดเร็กทอรี (สามารถใช้แสดงรายการไฟล์ในไดเร็กทอรี), กรอกลับ (ไฟล์เคอร์เซอร์) ไปยังไฟล์แรกในไดเร็กทอรี, สร้างไดเร็กทอรี, ตรวจสอบว่าไดเร็กทอรี มีอยู่ และลบไดเร็กทอรี

root = SD.open("/");รายการไฟล์ = dir.openNextFile(); root.rewindDirectory(); SD.mkdir("/TESTDIR"); ถ้า (SD.exists("/TESTDIR")) { … } SD.rmdir (aDirName);

ลิงค์อ้างอิง:

การอ้างอิง SPI: https://www.arduino.cc/en/Reference/การอ้างอิงไลบรารีการ์ด SPISD:

ขั้นตอนที่ 3: หมายเหตุรูปแบบการ์ด SD

การ์ดของคุณต้องใช้รูปแบบ MS DOS fat บน Mac ให้ใช้ยูทิลิตี้ดิสก์เพื่อฟอร์แมตดิสก์: แอปพลิเคชั่น > ยูทิลิตี้ > เปิดยูทิลิตี้ดิสก์

ขึ้นอยู่กับบัตรของคุณ ฉันใช้อย่างใดอย่างหนึ่งต่อไปนี้

คลิกที่การ์ด SD เช่น APPLE SD Card Reader Media/MUSICSD

คลิกรายการเมนู ลบ ตั้งชื่อ ตัวอย่าง: MUSICSD. เลือก: MS-DOS (อ้วน) คลิกลบ ดิสก์ถูกล้างและฟอร์แมต

หรือ, เลือก: สื่อตัวอ่านการ์ด SD ของ APPLE ในตัวเลือกด้านซ้าย

+ คลิกลบที่ตัวเลือกด้านบน + ในป๊อปอัป ตั้งค่าฟิลด์ ++ ชื่อ: Micro32gig ++ รูปแบบ: MS-DOS(FAT) ++ Scheme: Master Boot Record + คลิกลบในป๊อปอัป การ์ดจะฟอร์แมตเพื่อใช้ในโมดูลการ์ด SD

ขั้นตอนที่ 4: ใช้อะแดปเตอร์การ์ด SD ในโปรเจ็กต์

Image
Image
ใช้อะแดปเตอร์การ์ด SD ในโปรเจ็กต์
ใช้อะแดปเตอร์การ์ด SD ในโปรเจ็กต์

ฉันใช้อแด็ปเตอร์ในแท็บเล็ตอีมูเลเตอร์ Altair 8800 และรุ่นเดสก์ท็อป วิดีโอแสดงอะแดปเตอร์ที่ใช้โหลดโปรแกรมเกมลงในหน่วยความจำของแท็บเล็ตเพื่อใช้งาน ในรูปภาพ อะแดปเตอร์การ์ด SD เชื่อมต่อกับ Mega ของรุ่นเดสก์ท็อป Altair อีกภาพคือแผงด้านหน้าเดสก์ท็อปของ Altair พร้อมไฟ LED และปุ่มสลับ

อะแดปเตอร์การ์ด SD มีประโยชน์ และตรงไปตรงมาเพื่อเพิ่มไปยังโครงการใดๆ ไม่ว่าโครงการจะเป็นโปรแกรมจำลองคอมพิวเตอร์ขั้นพื้นฐานหรือซับซ้อนก็ตาม

เพลิดเพลินไปกับ Arduinoing

แนะนำ: