ข้อมูลถาวร: SD Card Temperature Logger
การดูตัวเลขที่ไหลอยู่บนหน้าจอ LCD เป็นเรื่องชั่วคราว หากต้องการติดตามประสิทธิภาพของฉนวนกันความร้อนในบ้านหรือห้องเซิร์ฟเวอร์ตลอดทั้งเดือน คุณต้องสร้าง Data Logger โปรเจกต์ SD Card Temperature Logger นี้เป็นหัวใจสำคัญของการสร้าง Arduino เพื่อวิทยาศาสตร์ที่จริงจัง โดยจะบันทึกไฟล์ CSV ที่แม่นยำสำหรับการวิเคราะห์ด้วย Excel!

การสื่อสารแบบ SPI: SD Card Shield
SD Card เป็นอุปกรณ์หน่วยความจำที่รวดเร็วและซับซ้อนอย่างยิ่ง ไม่ได้ใช้ digital pins แบบดิบๆ แต่ต้องใช้ Hardware SPI Bus (MISO, MOSI, SCK, CS)
- การเริ่มต้น (Initialization): โค้ดจะเริ่มต้นด้วย
SD.begin(4)Arduino จะจ่ายไฟให้การ์ดและตรวจสอบว่ามีการฟอร์แมต (FAT32) อย่างถูกต้องหรือไม่ - ขั้นตอนการอ่าน (Reading Phase): Arduino จะส่งคำสั่งไปยัง DHT11 or DHT22 digital sensor เพื่อรับค่าอุณหภูมิตัวเลข (เช่น
24.5) - File I/O (Input/Output): โค้ดจะเปิดไฟล์ที่ระบุ:
File dataFile = SD.open("templog.csv", FILE_WRITE); - ขั้นตอนการเขียน (Write Phase): microprocessor จะพิมพ์ string literal:
"12:05:00, 24.5C\n"ลงบน silicon memory blocks ของการ์ดโดยตรงโดยใช้dataFile.println() - ระบบป้องกันความผิดพลาด (Failsafe): สิ่งสำคัญคือ โค้ดจะต้องรัน
dataFile.close();ทันทีหลังจากเขียน หากไฟถูกดึงออกก่อนที่จะปิดไฟล์ ไฟล์ CSV ทั้งหมดจะเสียหาย!
รายการส่วนประกอบ
- Arduino Uno (มักใช้คู่กับ "Data Logging Shield" โดยเฉพาะ ซึ่งรวม SD slot และ RTC chip เข้าไว้ด้วยกัน)
- MicroSD Card Module Breakout
- DS3231 RTC Module: สำหรับการระบุ timestamp "12:05:00" (หากไม่มีสิ่งนี้ Arduino จะไม่ทราบว่าขณะนั้นเป็นเวลาใด)
- DHT11/DHT22 or DS18B20 Temp Probe