สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: ทดสอบ Arduino Nano หรือ Mega
- ขั้นตอนที่ 2: ต่ออะแดปเตอร์การ์ด Micro SD และทดสอบ
- ขั้นตอนที่ 3: หมายเหตุรูปแบบการ์ด SD
- ขั้นตอนที่ 4: ใช้อะแดปเตอร์การ์ด SD ในโปรเจ็กต์
วีดีโอ: การจัดการไฟล์การ์ด Micro SD: 4 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
เทคนิคการจัดการไฟล์การ์ด 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
หากคุณกำลังใช้ 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 เพื่อจัดการไฟล์สำหรับการจัดเก็บข้อมูลแบบถาวร หากคุณใช้นาโน คุณสามารถใช้สายเคเบิลเพื่อเสียบอะแดปเตอร์เข้ากับเขียงหั่นขนมดังรูปด้านบน หรือคุณสามารถเสียบอะแดปเตอร์เข้ากับเขียงหั่นขนมและใช้สายไฟเพื่อเชื่อมต่อพิน 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 ในโปรเจ็กต์
ฉันใช้อแด็ปเตอร์ในแท็บเล็ตอีมูเลเตอร์ Altair 8800 และรุ่นเดสก์ท็อป วิดีโอแสดงอะแดปเตอร์ที่ใช้โหลดโปรแกรมเกมลงในหน่วยความจำของแท็บเล็ตเพื่อใช้งาน ในรูปภาพ อะแดปเตอร์การ์ด SD เชื่อมต่อกับ Mega ของรุ่นเดสก์ท็อป Altair อีกภาพคือแผงด้านหน้าเดสก์ท็อปของ Altair พร้อมไฟ LED และปุ่มสลับ
อะแดปเตอร์การ์ด SD มีประโยชน์ และตรงไปตรงมาเพื่อเพิ่มไปยังโครงการใดๆ ไม่ว่าโครงการจะเป็นโปรแกรมจำลองคอมพิวเตอร์ขั้นพื้นฐานหรือซับซ้อนก็ตาม
เพลิดเพลินไปกับ Arduinoing
แนะนำ:
Micro Binary Clock: 10 ขั้นตอน (พร้อมรูปภาพ)
Micro Binary Clock: ก่อนหน้านี้ได้สร้าง Instructable (Binary DVM) ซึ่งใช้ประโยชน์จากพื้นที่แสดงผลที่ จำกัด โดยใช้ไบนารี มันเป็นเพียงขั้นตอนเล็ก ๆ ที่เคยสร้างโมดูลรหัสหลักสำหรับการแปลงทศนิยมเป็นไบนารีเพื่อสร้างนาฬิกาไบนารี
BBC Micro:bit and Scratch - เกมบังคับพวงมาลัยและการขับขี่แบบโต้ตอบ: 5 ขั้นตอน (พร้อมรูปภาพ)
BBC Micro:bit and Scratch - Interactive Steering Wheel & Driving Game: หนึ่งในงานที่ได้รับมอบหมายในชั้นเรียนของฉันในสัปดาห์นี้คือการใช้ BBC Micro:bit เพื่อเชื่อมต่อกับโปรแกรม Scratch ที่เราได้เขียนไว้ ฉันคิดว่านี่เป็นโอกาสที่ดีที่จะใช้ ThreadBoard ของฉันเพื่อสร้างระบบฝังตัว! แรงบันดาลใจของฉันสำหรับรอยขีดข่วน p
"ไฮไฟว์" หุ่นยนต์ Cardboard Micro:bit: 18 ขั้นตอน (พร้อมรูปภาพ)
"ไฮไฟว์" หุ่นยนต์ Cardboard Micro:bit: ติดอยู่ที่บ้าน แต่ยังต้องการไฮไฟว์ใครสักคน? เราสร้างหุ่นยนต์ตัวน้อยที่เป็นมิตรด้วยกระดาษแข็งและ micro:bit พร้อมด้วย Crazy Circuits Bit Board และทั้งหมดที่เธอต้องการจากคุณคือการไฮไฟว์เพื่อให้ความรักที่เธอมีต่อคุณมีชีวิตอยู่ ถ้าคุณชอบ
[2020] ใช้ Micro:bits สองตัว (x2) เพื่อควบคุมรถ RC: 6 ขั้นตอน (พร้อมรูปภาพ)
[2020] การใช้ Micro:bits (x2) สองอันเพื่อควบคุมรถ RC: หากคุณมี micro:bits (x2) สองตัว คุณเคยคิดที่จะใช้พวกมันเพื่อควบคุมรถ RC จากระยะไกลหรือไม่? คุณสามารถควบคุมรถ RC ได้โดยใช้ micro:bit ตัวหนึ่งเป็นตัวส่งสัญญาณ และอีกตัวหนึ่งเป็นตัวรับ เมื่อคุณใช้ตัวแก้ไข MakeCode เพื่อเข้ารหัส micro:b
ระบบรดน้ำต้นไม้อัตโนมัติด้วย Micro:bit: 8 ขั้นตอน (มีรูปภาพ)
ระบบรดน้ำต้นไม้อัตโนมัติโดยใช้ Micro:bit: ในคำแนะนำนี้ ฉันจะแสดงวิธีสร้างระบบรดน้ำต้นไม้อัตโนมัติโดยใช้ Micro:bit และส่วนประกอบอิเล็กทรอนิกส์ขนาดเล็กอื่นๆ Micro:bit ใช้เซ็นเซอร์ความชื้น เพื่อตรวจสอบระดับความชื้นในดินของพืชและ