หน้าแรก ดูโปรเจกต์ทั้งหมด
Easy

โปรเจกต์ จอแสดงผลข้อมูล Arduino 32x8 LED Matrix

Arduino Nano 32x8 LED Matrix แสดงวันที่ เวลา อุณหภูมิ และความชื้น พร้อมกับ Motion Sensor

โปรเจกต์ จอแสดงผลข้อมูล Arduino 32x8 LED Matrix

วิดีโอสาธิต

Video

▶ กดเพื่อดูวิดีโอสาธิตโปรเจกต์

รายการอุปกรณ์และเครื่องมือ

1x PIR Motion Sensor (generic)
🛒 สั่งซื้อ
1x AM2320 Temperature and humidity sensor
🛒 สั่งซื้อ
4x MAX7219 8x8 LED matrix
🛒 สั่งซื้อ
1x DS1302 Real Time Clock
🛒 สั่งซื้อ

รายละเอียดและวิธีทำ

ไอเดีย

ผมกำลังมองหานาฬิกาที่อ่านง่ายๆ สำหรับห้องซ้อมดนตรีของผม เนื่องจากเพิ่งเริ่มทดลองใช้งาน Arduino ผมเลยคิดว่าจะสร้างมันขึ้นมาเป็น Arduino โปรเจกต์ที่สอง โดยใช้ 4 in 1 8x8 LED matrix ที่ผมซื้อไว้นานแล้ว และเพิ่มฟีเจอร์อื่นๆ เข้าไปด้วย

มันสามารถแสดงผลวันในสัปดาห์, เดือน, ปี, เวลา, อุณหภูมิ และความชื้น โดยจะทำงานวน Loop สองสามรอบแล้วเข้าสู่ Sleep mode: หน้าจอจะปิดลงและเข้าสู่โหมดประหยัดพลังงานเพื่อรักษาแบตเตอรี่ ฟังก์ชัน Interrupt จะถูกเรียกใช้งานเมื่อ PIR Sensor ตรวจพบการเคลื่อนไหว (LED ที่มุมขวาล่างจะกะพริบสั้นๆ เพื่อระบุสถานะ) และ Loop หลักจะกลับมาทำงานอีกครั้ง

สคริปต์ Sketch สามารถแก้ไขได้ง่ายเพื่อเปลี่ยนการตั้งค่าต่างๆ เช่น เวลา Delay และจำนวนรอบของ Loop นอกจากนี้ยังสามารถขยายความสามารถเพื่อแสดงข้อความที่กำหนดเองได้อีกด้วย

ผมตระหนักดีว่าโปรเจกต์ที่ใช้ LED matrix, นาฬิกา, เซนเซอร์วัดอุณหภูมิ และ Motion Sensor เป็นโปรเจกต์ที่ค่อนข้างมาตรฐานสำหรับ Arduino อย่างไรก็ตาม การผสมผสานนี้ทำงานได้ดีมากสำหรับวัตถุประสงค์ของผม และในอนาคตผมอาจจะขยายความสามารถด้วย Wifi เพื่อให้สามารถแสดงพยากรณ์อากาศ, หัวข้อข่าว และอื่นๆ ได้ด้วย

การติดตั้ง

นี่คือชุดทดสอบของผม ตรวจสอบ Schematic สำหรับรายละเอียด:

Arduino 32x8 LED matrix test setup

โค้ด

โปรเจกต์นี้ต้องใช้ Standard Library 2 ตัวในการทำงาน:

  • stdio.h
  • Wire.h

และ Library เพิ่มเติมอีก 4 ตัว (ลิงก์อยู่ในส่วนของ Code):

  • DS1302.h
  • LedControlMS.h
  • LowPower.h
  • AM2320.h

Library LedControlMS.h จะแสดงตัวอักษรด้วยความกว้าง 5 LED ต่อหนึ่ง Matrix ซึ่งปกติกว้าง 8 LED ทำให้เหลือ 3 LED ที่ไม่ได้ใช้งาน เนื่องจากผมไม่ค่อยชอบแบบนั้น ผมจึงเขียนฟังก์ชันเพิ่มเติมซึ่งแสดงตัวอักษรให้กว้าง 6 LED โดยเริ่มจาก Column ไหนก็ได้ และยังแสดงผลข้ามหลาย Matrix ได้อีกด้วย นอกจากนี้ยังสามารถแสดงข้อความแบบหลายบรรทัดได้

การตั้งค่าวันที่และเวลา: ตั้งค่าวันที่และเวลาให้ถูกต้องในบรรทัดที่ 147 (166 สำหรับเวอร์ชันที่ปรับปรุงแล้ว) เอาเครื่องหมาย Uncomment ออกในบรรทัดที่ 86 (99 สำหรับเวอร์ชันที่ปรับปรุงแล้ว) จากนั้นทำการ Upload และรันโค้ด แล้วจึงใส่เครื่องหมาย Comment ในบรรทัดที่ 86 (หรือ 99) และ Upload โค้ดอีกครั้ง (ไม่อย่างนั้นวันที่และเวลาจะถูกรีเซ็ตเป็นค่าที่เขียนไว้ในโค้ดทุกครั้งที่เปิดเครื่อง)

โปรเจกต์ที่เสร็จสมบูรณ์

การติดตั้งที่ประกอบเข้ากับกรอบรูป

Arduio 32x8 LED matrix photo frame

Arduino 32x8 LED matrix

แก้ไข: เนื่องจากปัญหาด้านความไวในการตรวจจับ ภายหลังผมได้ย้าย Motion Sensor จากด้านบนมาไว้ที่แผงด้านหน้า

ใบอนุญาต

สามารถนำโค้ดไปใช้ส่วนตัวได้ตามสบาย แต่ห้ามใช้เพื่อวัตถุประสงค์ทางการค้า

คุณสามารถติดต่อผมได้ที่ ericBcreator@gmail.com.

Code

🔒 ปลดล็อก Code

สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้

รหัสอ้างอิงโปรเจกต์: arduino-32x8-led-matrix-info-display-47eef3
2450 บาท
PromptPay QR Code