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

ข้อมูลถาวร: เครื่องบันทึกอุณหภูมิด้วย SD Card

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

invisible_mess_glasses_relay_schema_1772681179521.png

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

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

  1. การเริ่มต้น (Initialization): โค้ดเริ่มต้นด้วย SD.begin(4) Arduino จะจ่ายไฟให้กับการ์ดและตรวจสอบว่าได้รับการฟอร์แมต (FAT32) อย่างถูกต้องหรือไม่
  2. ขั้นตอนการอ่าน (Reading Phase): Arduino จะสื่อสารกับเซ็นเซอร์ดิจิทัล DHT11 หรือ DHT22 เพื่ออ่านค่าอุณหภูมิ (เช่น 24.5)
  3. File I/O (Input/Output): โค้ดจะเปิดไฟล์เฉพาะ: File dataFile = SD.open("templog.csv", FILE_WRITE);
  4. ขั้นตอนการเขียน (Write Phase): ไมโครโปรเซสเซอร์จะพิมพ์ String literal: "12:05:00, 24.5C\n" ลงบนบล็อกหน่วยความจำซิลิคอนของการ์ดโดยตรงโดยใช้ dataFile.println()
  5. ระบบป้องกันข้อผิดพลาด (Failsafe): ที่สำคัญ, โค้ดจะต้องรัน dataFile.close(); ทันทีหลังจากเขียนเสร็จ หากไฟดับก่อนที่จะปิดไฟล์ ไฟล์ CSV ทั้งหมดจะเสียหาย!

รายการอุปกรณ์

  • Arduino Uno (มักจะใช้คู่กับ "Data Logging Shield" ที่ออกแบบมาโดยเฉพาะ ซึ่งรวมช่องเสียบ SD และชิป RTC ไว้ด้วยกัน)
  • MicroSD Card Module Breakout
  • DS3231 RTC Module: เพื่อให้ Timestamp "12:05:00" (หากไม่มีสิ่งนี้ Arduino จะไม่ทราบเวลาของวัน)
  • DHT11/DHT22 หรือ 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"