กลับไปหน้ารวมไฟล์
beating-heart-8x8-display-max7219.md

I Love You! - หัวใจเต้น - จอแสดงผล 8X8 พร้อม MAX7219

ตรรกะกริดไบนารี: จอแสดงผล 8x8 หัวใจเต้น

การเชื่อมต่อ LED 64 ดวงแยกกันเข้ากับ Arduino Uno นั้นเป็นไปไม่ได้ในทางกายภาพ เพราะมันมีเพียง 14 พินเท่านั้น! โปรเจกต์ หัวใจเต้นบนจอแสดงผล 8x8 MAX7219 นี้จะนำเสนอความมหัศจรรย์ของ "Multiplexing" เชิงอัลกอริทึมบริสุทธิ์ ด้วยการมอบงานหนักให้กับชิป MAX7219 ในตำนาน โปรแกรมเมอร์สามารถสร้างสัญลักษณ์ภาพขนาดใหญ่และซับซ้อนได้ผ่านการสร้างอาร์เรย์ Hexadecimal ด้วย C++ โดยใช้เพียง 3 สาย SPI ง่ายๆ เท่านั้น!

1306_oled_retro_game_display_1772681532057.png

การสร้างอาร์เรย์อักขระไบนารี

จอแสดงผลมี 8 แถวและ 8 คอลัมน์ คุณต้องสร้าง "รูปภาพ" โดยใช้ข้อมูลไบต์ทางคณิตศาสตร์ดิบๆ

  1. เวกเตอร์หัวใจขนาดใหญ่: คุณสร้างอาร์เรย์ที่ประกอบด้วยข้อมูล 8 ไบต์
byte bigHeart[8] = {
  B01100110, // Top curves
  B11111111,
  B11111111,
  B11111111, // Widest middle block!
  B01111110, // Starting to taper
  B00111100,
  B00011000,
  B00000000  // The tiny bottom point!
};
  1. เวกเตอร์หัวใจขนาดเล็ก: คุณสร้างอาร์เรย์ที่เหมือนกันของหัวใจดวงเล็กๆ ที่หดตัวลง
  2. ลูปแอนิเมชัน (LedControl.h): ลูป C++ ใช้ lc.setRow() เพื่อส่งอาร์เรย์ bigHeart อย่างรวดเร็วไปยังเมทริกซ์ มันเรียกใช้ delay(300); จากนั้นเขียนทับทั้งหน้าจออย่างรุนแรงโดยใช้อาร์เรย์ smallHeart! การสลับอย่างรวดเร็วอย่างไม่น่าเชื่อนี้สร้างภาพลวงตาทางกายภาพของการเต้นของชีพจรสีแดง!

โครงสร้างแบบ Cascade ของ MAX7219

เหตุผลที่โปรเจกต์นี้สามารถขยายขนาดได้ไม่จำกัดคือตรรกะแบบ Cascade

  • MAX7219 ใช้สายไฟสามเส้น: DIN (Data), CS (Select), CLK (Clock)
  • หากคุณต้องการหน้าจอที่ใหญ่ขึ้น คุณสามารถบัดกรีกริด 8x8 อันที่สองเข้ากับขาเอาต์พุตของกริดแรกได้โดยตรง!
  • โปรโตคอล SPI จะ "ดัน" ไบต์โค้ดลงไปตามสายโดยอัตโนมัติ ทำให้คุณสามารถ daisy-chain อาร์เรย์ขนาดใหญ่ (เช่น บล็อก 32x8) ได้โดยไม่ต้องใช้สายไฟเพิ่มเติมจาก Arduino เลยแม้แต่เส้นเดียว!

ส่วนประกอบสำหรับ Matrix Valentine

  • Arduino Uno/Nano (ฟอร์มแฟคเตอร์มาตรฐานก็เพียงพอแล้ว)
  • 8x8 LED Matrix พร้อม MAX7219 Driver Backpack (อย่าซื้อ LED matrix เปล่าๆ ที่ไม่มีชิป เพราะการบัดกรีขาขนาน 16 ขาด้วยตนเองและเขียนโค้ด multiplexer ตั้งแต่เริ่มต้นนั้นทรมานอย่างยิ่ง!)
  • แบตเตอรี่แพ็ค 5V ทั่วไป สำหรับการพกพา!

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

title: "I Love You! - Beating Heart - 8X8 Display with a MAX7219"
description: "Mathematical topography Arrays! Leverage the high-speed cascading logic of the MAX7219 SPI driver to physically command a 64-LED monolithic grid, executing massive binary bitmaps of expanding heart animations."
category: "Art & Wearables"
difficulty: "Intermediate"