กลับไปหน้ารวมไฟล์
led-matrix-clock-using-arduino-and-rtc-module-2c6d42.md

วันนี้พี่จะมาสอนทำนาฬิกาจาก LED Matrix ด้วย Arduino กับโมดูล RTC กันนะน้อง งานนี้จัดว่าเป็นโปรเจคระดับกลาง (Intermediate) เลย ไม่ต้องมีพื้นฐานอะไรมากมายก็ทำได้สบายๆ พี่พยายามอธิบายให้เข้าใจง่ายที่สุดแล้ว หวังว่าน้องๆ จะทำตามได้แบบพี่ทำเลย ถ้าชอบผลงานพี่ อย่าลืมกดติดตามช่องพี่ด้วยนะ จะได้มีกำลังใจทำโปรเจคเจ๋งๆ มาให้ดูอีกเรื่อยๆ เอาล่ะ เริ่มกันเลยดีกว่า........

Marquee Information: MAX7219 LED Matrix Clock

นาฬิกาแบบ 7-Segment ธรรมดามันก็ใช้ได้แหละ แต่ข้อเสียคือมันแสดงตัวอักษรหรือแอนิเมชันสวยๆ ไม่ได้เลย นี่แหละคือจุดเด่นของ LED Matrix Clock มันใช้บล็อค LED แดงจิ๋วๆ หลายพันดวงต่อกันเป็นพืด ด้วยการขับโดยชิป MAX7219 และใช้บัสข้อมูล SPI ทำให้ Arduino ของเราสามารถเลื่อนข้อความ แสดงวันที่ หรือแม้แต่แอนิเมชันสภาพอากาศได้ลื่นไหล เหมือนมีป้ายโฆษณาเล็กๆ อยู่ในบ้านเลย!

สถาปัตยกรรม Daisy-Chain แบบ SPI (MAX7219)

การจะต่อ LED 256 ดวง (จากเมทริกซ์ 8x8 จำนวน 4 บล็อค) เข้ากับขาของ Arduino Uno โดยตรงน่ะ... เป็นไปไม่ได้! มันไม่มีขาให้ต่อตั้ง 256 ขาแน่นอน

  1. ชิป MAX7219 นี่คือ IC ที่ออกแบบมาเพื่อควบคุมบล็อค LED ขนาด 8x8 โดยเฉพาะ ใช้แค่สายข้อมูล 3 เส้น: DIN, CLK, CS (Data, Clock, Chip Select)
  2. ความเจ๋งของโปรโตคอล SPI คือการ "ต่อหาง (Daisy-Chain)"
  3. เอาขา DOUT ของชิปตัวแรก ไปต่อเข้ากับขา DIN ของชิปตัวที่สอง แล้วตัวที่สองก็ต่อไปตัวที่สาม...
  4. Arduino ของเราก็จะมองเห็นบล็อค LED ทั้งสี่บล็อคนี้เป็นจอใหญ่ๆ ขนาด 32x8 พิกเซลแผ่นเดียวเลย!

ตรรกะการเลื่อนข้อความ (MD_Parola)

การจะมาโปรแกรมควบคุมจุด LED แต่ละจุดในตารางใหญ่ๆ แบบนี้ทีละไบต์น่ะ มันเมื่อยมือชัวร์

  • เราเลยใช้ไลบรารีสุดทรงพลัง <MD_Parola.h> เข้ามาช่วย
  • มันมีฟอนต์สวยๆ และตรรกะแอนิเมชันให้ใช้เพียบ
  • การทำงาน: เราไปดึงเวลาอย่าง 15:30:00 จาก โมดูล DS3231 RTC
  • แล้วก็สั่ง P.displayText("15:30:00", PA_CENTER, 50, 2000, PA_SCROLL_LEFT, PA_SCROLL_LEFT);
  • Arduino จะแปลงข้อความนั้นเป็นบัฟเฟอร์ของพิกเซลแล้วเลื่อนมันจากขวาไปซ้ายบนจอแดงใหญ่ๆ อัตโนมัติ ให้ความรู้สึกเหมือนป้ายไฟวิ่งในห้างเลยตัวนี้!

รายการอุปกรณ์ที่ต้องจัด (Visual Output Loadout)

  • Arduino Uno/Nano + โมดูลนาฬิกาจริง DS3231 (I2C)
  • โมดูลจอ Dot Matrix FC-16 MAX7219 แบบ 4-in-1 (ต้องเป็นรุ่นที่ต่อหางกันได้นะน้อง ห้ามเอารุ่นบล็อคเดี่ยวๆ มา!)
  • Adaptor 5V 2A (สำคัญมาก! ถ้าน้องสั่ง P.print("HELLO") แล้ว LED แดงทั้ง 256 ดวงติดพร้อมกันเต็มสปีด ไฟจากพอร์ต USB ของ Arduino อาจดับได้ อย่าช็อตนะตัวนี้!)

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

apps:
  - "1x Arduino IDE"
author: "noneedforit"
category: "Screens & Displays"
components:
  - "1x Breadboard (generic)"
  - "1x Desoldering Pump, Deluxe SOLDAPULLT®"
  - "1x Arduino Nano R3"
  - "1x PCB Holder, Soldering Iron"
  - "2x Tactile Switch, Top Actuated"
  - "1x Solder Flux, Soldering"
  - "1x Solder Wire, Lead Free"
  - "1x Female Header 8 Position 1 Row (0.1\")"
  - "1x High Accuracy Pi RTC (DS3231)"
  - "1x Dot Pcb"
  - "1x Jumper wires (generic)"
  - "1x MAX7219 Led Matrix"
  - "1x Soldering iron (generic)"
description: "Scroll the time! Replace basic 7-segment displays with massive, cascading MAX7219 8x8 dot matrix blocks, utilizing SPI communication to animate a beautiful marquee clock."
difficulty: "Intermediate"
documentationLinks: []
downloadableFiles: []
encryptedPayload: "U2FsdGVkX19XrG9DLBaaksBE1DOLUs5CLQXYLc0Ag7Zwmc04dNl0pNhCApyrST/iih8fMccZk7kgk2ZZ3JzsClm5SYt0JvSXlQ+ZoRWpx5k="
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/led-matrix-clock-using-arduino-and-rtc-module-2c6d42_cover.jpg"
lang: "en"
likes: 4
passwordHash: "baa1b64a11d890932d8ccd2d29ddacb8263d24cc2df574e8835a6ac7497c0353"
price: 1120
seoDescription: "Build an LED Matrix Clock using Arduino and RTC Module. A simple DIY project for beginners with easy-to-follow steps."
tags:
  - "arduino clock"
  - "debugging tools"
  - "home automation"
  - "diy projects"
  - "clocks"
  - "monitoring"
title: "นาฬิกา LED Matrix ตึงๆ! ใช้ Arduino + RTC Module งานง่ายแต่หล่อ"
tools: []
videoLinks:
  - "https://www.youtube.com/embed/MH6R7EKq-Io"
views: 14006