ชื่อโปรเจกต์: สร้าง SD shield ของคุณเอง
ในขณะที่ผมกำลังทำงานในโปรเจกต์อื่น ผมมีความจำเป็นต้องบันทึกข้อมูลบางอย่างลงในการ์ด SD เมื่อไม่มี shield ผมก็คิดว่าจะหาวิธีเชื่อมต่อ MicroSD card เข้ากับ Arduino ของผมโดยใช้อุปกรณ์ที่มีอยู่ได้
ในโปรเจกต์นี้ คุณจะต้องมีทักษะการบัดกรีขั้นพื้นฐานบางอย่าง บทช่วยสอนนี้จะแสดงคำแนะนำพื้นฐานในการถ่ายโอนข้อมูลไปยัง SD card ข้อมูลของคุณเป็นอะไรก็ได้ อาจรวบรวมได้จาก sensors บางตัว หรืออาจเป็นผลลัพธ์จากการดำเนินการบางอย่างที่คุณได้ทำไปแล้ว เพื่อความง่าย ผมจะใช้ปุ่ม 3 ปุ่มสำหรับ digital I/O และอีกหนึ่งปุ่มพิเศษเพื่อเปิดใช้งานการอ่าน (เสมือนว่าเป็นสัญญาณ clock) ผมยังได้ตั้งค่า Arduino ของผมให้ตรวจสอบข้อมูลใหม่ทุก 3 วินาที ซึ่งสามารถเปลี่ยนแปลงได้ตามความถี่ที่คุณต้องการรวบรวมข้อมูล
ในวิดีโอ คุณจะเห็นว่าผมสร้าง input และบันทึกข้อมูลเหล่านั้นอย่างไรในขณะที่ดู console ในที่สุด คุณจะได้ไฟล์ csv ที่สามารถเปิดได้โดยใช้ text editor หรือ spreadsheet software ใดก็ได้ (ในวิดีโอ ผมเปิดไฟล์นั้นด้วย Sublime Text ก่อน แล้วจึงใช้ Numbers)
หมายเหตุทางเทคนิคเล็กน้อย: โปรดอย่าตกใจกับจำนวนสายไฟที่คุณเห็นในรูปภาพ ผมไม่มีความต้านทานขนาด 3 Kohm ดังนั้นในรูปภาพคุณจะเห็นว่าผมได้ต่อ 1x 1 kohm + 1x 2 kohm แทน
รายละเอียดทางเทคนิคเพิ่มเติม
DIY Non-Volatile Storage Hub
โปรเจกต์นี้มีพิมพ์เขียวทางเทคนิคสำหรับการสร้างอินเทอร์เฟซ SD card แบบกำหนดเองสำหรับการบันทึกข้อมูลความจุสูงและการจัดเก็บไฟล์
- SPI Level Shifting: เนื่องจาก SD card ทำงานที่ 3.3V และ Arduino จำนวนมากทำงานที่ 5V shield จึงมี level-shifter (โดยใช้ resistors หรือ 4050 IC) เพื่อป้องกันความเสียหายต่อสื่อจัดเก็บข้อมูล
- SPI Multi-Slave Bus: Arduino ใช้ Serial Peripheral Interface เพื่อสื่อสารกับ SD card firmware จัดการ logic "Slave Select" ทำให้ SD card สามารถทำงานร่วมกับ SPI sensors อื่นๆ ได้
ความน่าเชื่อถือ
- FATFS File Management: แสดงให้เห็นถึงการใช้ไลบรารี
SD.hเพื่อเริ่มต้นการ์ดและจัดการระบบไฟล์ ทำให้สามารถสร้างและเพิ่มข้อมูลใน CSV log files ได้