กลับไปหน้ารวมไฟล์
digital-clock-8bea2a.md

นาฬิกาของผมทำงานดังนี้: ทุกๆ 60 วินาที นาทีจะเพิ่มขึ้น 1, ทุกๆ 60 นาที ชั่วโมงจะเพิ่มขึ้น 1, และเมื่อชั่วโมงถึง 13 ก็จะเปลี่ยนเป็น 1. เราทุกคนทราบดีว่านาฬิกาทำงานอย่างไร จากนั้น หากคุณกดปุ่ม "change time" ค้างไว้หนึ่งวินาที คุณจะสามารถเปลี่ยนเวลาได้โดยใช้ปุ่มอื่นๆ ตามที่แสดงในวิดีโอ ผมไม่ทราบว่าทำไมถึงตัดสินใจสร้างสิ่งนี้ขึ้นมา ผมแค่คิดว่ามันน่าจะเป็นประสบการณ์การเรียนรู้ที่สนุกสนาน นี่คือวิดีโอที่ผมสาธิตการใช้งาน เมื่อผมมี 3D printer ในที่สุด ผมจะเปลี่ยนสิ่งนี้ให้เป็นนาฬิกาที่สมบูรณ์แบบ ขออภัยเรื่องรูปลักษณ์ภายนอก

การสาธิตวิธีการใช้นาฬิกาของผม

รายละเอียดทางเทคนิคเพิ่มเติม

การรักษาเวลาที่แม่นยำ

Arduino มาตรฐานไม่แม่นยำพอสำหรับนาฬิกาในระยะยาว ดังนั้นโปรเจกต์นี้จึงใช้ DS3231 RTC module

  • High Accuracy (ความแม่นยำสูง): DS3231 มีการชดเชยอุณหภูมิ ซึ่งหมายความว่ามันจะรักษาความแม่นยำได้ภายในไม่กี่นาทีต่อปี มันสื่อสารกับ Arduino ผ่าน I2C bus
  • Battery Backup (แบตเตอรี่สำรอง): โมดูลนี้มี CR2032 coin cell ทำให้มั่นใจได้ว่าเวลายังคงถูกรักษาไว้แม้ว่าแหล่งจ่ายไฟหลักของ Arduino จะถูกตัดการเชื่อมต่อ

ส่วนติดต่อผู้ใช้ (UI) และการโต้ตอบ

  • Display (หน้าจอแสดงผล): โดยทั่วไปใช้ 4-digit 7-segment display (TM1637) หรือ MAX7219 matrix
  • Alarm Feature (คุณสมบัติการปลุก): มีปุ่มกดสำหรับตั้งค่าชั่วโมงและนาที Arduino จะเปรียบเทียบ "Current Time" จาก RTC กับ "Alarm Time" ที่อยู่ใน RAM ของมัน และจะส่งสัญญาณให้ buzzer ทำงานเมื่อเวลาตรงกัน

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

title: "Digital Clock"
description: "Basically a digital clock that can have the time changed at the press of a button."
author: "SharKode"
category: "Screens & Displays"
tags:
  - "digital"
  - "clocks"
  - "customizable"
views: 24307
likes: 20
price: 1120
difficulty: "Intermediate"
components:
  - "1x Standard LCD - 16x2 White on Blue"
  - "1x Single Turn Potentiometer- 10k ohms"
  - "5x Resistor 10k ohm"
  - "1x Pushbutton switch 12mm"
  - "1x 220 ohm resisitors"
  - "1x Arduino UNO"
tools: []
apps:
  - "1x Arduino IDE"
downloadableFiles: []
documentationLinks: []
passwordHash: "962168a9eb93fef367a088f06455da79597230d379ea83991072276cca2e1eea"
encryptedPayload: "U2FsdGVkX19TSTQarMO20HECAOBDxhf6mJ9fa/Y+4ek7zjMj3G+t0ydBQ0TgyNqbMgrZ//dTFO7M0uz4DrMUeXaOEnJ/IYAz7VOFaVR+k5Y="
seoDescription: "Build a Digital Clock with adjustable time via Button. A simple and functional Arduino DIY project."
videoLinks:
  - "https://www.youtube.com/embed/w_MdxH0DXVA"
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/digital-clock-8bea2a_cover.jpg"
lang: "th"