กลับไปหน้ารวมไฟล์
arduino-temperature-logger-sd.md

ข้อมูลถาวร: SD Card Temperature Logger

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

invisible_mess_glasses_relay_schema_1772681179521.png

การสื่อสารแบบ SPI: SD Card Shield

SD Card เป็นอุปกรณ์หน่วยความจำที่รวดเร็วและซับซ้อนอย่างยิ่ง ไม่ได้ใช้ digital pins แบบดิบๆ แต่ต้องใช้ Hardware SPI Bus (MISO, MOSI, SCK, CS)

  1. การเริ่มต้น (Initialization): โค้ดจะเริ่มต้นด้วย SD.begin(4) Arduino จะจ่ายไฟให้การ์ดและตรวจสอบว่ามีการฟอร์แมต (FAT32) อย่างถูกต้องหรือไม่
  2. ขั้นตอนการอ่าน (Reading Phase): Arduino จะส่งคำสั่งไปยัง DHT11 or DHT22 digital sensor เพื่อรับค่าอุณหภูมิตัวเลข (เช่น 24.5)
  3. File I/O (Input/Output): โค้ดจะเปิดไฟล์ที่ระบุ: File dataFile = SD.open("templog.csv", FILE_WRITE);
  4. ขั้นตอนการเขียน (Write Phase): microprocessor จะพิมพ์ string literal: "12:05:00, 24.5C\n" ลงบน silicon memory blocks ของการ์ดโดยตรงโดยใช้ dataFile.println()
  5. ระบบป้องกันความผิดพลาด (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

ข้อมูล Frontmatter ดั้งเดิม

title: "Arduino Temperature Logger With Sd Card"
description: "Record the data! Build a robust standalone device that measures room temperature and permanently saves a log entry to a MicroSD card every 5 minutes."
category: "Sensors & Environment"
difficulty: "Intermediate"