ผมใช้ DS3231 ต่อเข้ากับ Mega 2560
ขา SDA เข้า A4
ขา SCL เข้า A5
แล้วก็ลองโหลดไลบารี่ตัวของในเว็บมาใช้ แล้วลองเปิดไฟล์ TestRTC มาอัพโหลด พอกดดูเวลา เวลาก็ไม่เดินครับ ค้างอยู่ที่เดิม วันที่มันก็สุ่มไปเรื่อย อุณหภูมิก็ดูไม่ได้ครับ ขึ้นแบบในรูปด้านล่าง
ลองเปลี่ยนไปเสียบ D4 D5 แบบที่ไฟล์มันเขียนไว้ ก็ไม่สำเร็จครับ
ลองเปลี่ยนไปใช้ไลบารี่ของ http://www.arduitronics.com/article/real-time-clock-ds3231 ผลลัพธ์ก็ไม่ต่างกันมากครับ อุณหภูมิถ้าขึ้นก็ติดลบ เวลาพอตั้งแล้ว ตัวเลขเปลี่ยนตาม แต่พอกดรีเซตที่ตัว Mega เวลาก็ล้างกลับไปค่าเริ่มต้นด้วยเช่นกัน เหมือนแบตไม่ทำงาน
1. แบบนี้อุปกรณ์มีปัญหาหรือเปล่าครับ แค่แสดงอุณภูมิยังไม่ขึ้นเลย แต่ไฟแดงที่นาฬิกาติดตลอดนะครับ
2. มันเปลี่ยนหมายเลขพินที่ต้องเสียบได้ไหมครับ ตรงไหนเป็นตัวกำหนดว่าต้องไปเข้า A4 A5
ติดตั้งเพิ่มได้จาก Arduino IDE ในเมนู Library Manager ครับ
เป็นกับไลบารี ตรงนี้ต้องลองเช็คที่หน้างาน ระบุให้ไม่ได้
ลองลบ arduino ide ออกให้หมด แล้วลงใหม่ครับ
ใช้ทุกวิธีที่แนะนำ ไม่ได้ผล
เอาแว่นส่องดูพบว่าเป็น DS3231M
จึงไปหา Library DS3231M เอ๊ะมีเหมือนกันก็เลยใช้ได้
แต่ เวลามันไม่ตรงสมราคาคุยเลย เทียบกับ Notebook แล้วชั่วโมงนึงเพี้ยนไปตั้งเกือบ 5 นาที
มีทางปรับปรุงไหมครับ หรือ มีรุ่นอื่นที่แม่นยำกว่านี้ไหม?
ชิฟ DS3231 มีหลายรหัส รหัส DS3231M คือแบบราคาประหยัด
เวลาคำนวนร่วมกับอุณหภูมิ ไลบารีอาจมีการชดเชยค่าต่าง ๆ ไม่เหมือนกัน ลองใช้ไลบารีตัวอื่นเปรียบเทียบ
ถ้าต้องการแม่นกว่านี้ ลองดูรุ่นรหัส DS3231S
หรือใช้เวลาจาก wifi จะแม่นที่สุด
ข้อมูล datasheet สามารถอ้างอิงจากผู้ผลิตดังนี้ครับ
https://datasheets.maximintegrated.com/en/ds/DS3231M.pdf