โปรเจกต์ จอแสดงผลข้อมูล Arduino 32x8 LED Matrix
Arduino Nano 32x8 LED Matrix แสดงวันที่ เวลา อุณหภูมิ และความชื้น พร้อมกับ Motion Sensor
Arduino Nano 32x8 LED Matrix แสดงวันที่ เวลา อุณหภูมิ และความชื้น พร้อมกับ Motion Sensor
▶ กดเพื่อดูวิดีโอสาธิตโปรเจกต์
ผมกำลังมองหานาฬิกาที่อ่านง่ายๆ สำหรับห้องซ้อมดนตรีของผม เนื่องจากเพิ่งเริ่มทดลองใช้งาน 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 สำหรับรายละเอียด:

โปรเจกต์นี้ต้องใช้ Standard Library 2 ตัวในการทำงาน:
และ Library เพิ่มเติมอีก 4 ตัว (ลิงก์อยู่ในส่วนของ Code):
Library LedControlMS.h จะแสดงตัวอักษรด้วยความกว้าง 5 LED ต่อหนึ่ง Matrix ซึ่งปกติกว้าง 8 LED ทำให้เหลือ 3 LED ที่ไม่ได้ใช้งาน เนื่องจากผมไม่ค่อยชอบแบบนั้น ผมจึงเขียนฟังก์ชันเพิ่มเติมซึ่งแสดงตัวอักษรให้กว้าง 6 LED โดยเริ่มจาก Column ไหนก็ได้ และยังแสดงผลข้ามหลาย Matrix ได้อีกด้วย นอกจากนี้ยังสามารถแสดงข้อความแบบหลายบรรทัดได้
การตั้งค่าวันที่และเวลา: ตั้งค่าวันที่และเวลาให้ถูกต้องในบรรทัดที่ 147 (166 สำหรับเวอร์ชันที่ปรับปรุงแล้ว) เอาเครื่องหมาย Uncomment ออกในบรรทัดที่ 86 (99 สำหรับเวอร์ชันที่ปรับปรุงแล้ว) จากนั้นทำการ Upload และรันโค้ด แล้วจึงใส่เครื่องหมาย Comment ในบรรทัดที่ 86 (หรือ 99) และ Upload โค้ดอีกครั้ง (ไม่อย่างนั้นวันที่และเวลาจะถูกรีเซ็ตเป็นค่าที่เขียนไว้ในโค้ดทุกครั้งที่เปิดเครื่อง)
การติดตั้งที่ประกอบเข้ากับกรอบรูป

แก้ไข: เนื่องจากปัญหาด้านความไวในการตรวจจับ ภายหลังผมได้ย้าย Motion Sensor จากด้านบนมาไว้ที่แผงด้านหน้า
สามารถนำโค้ดไปใช้ส่วนตัวได้ตามสบาย แต่ห้ามใช้เพื่อวัตถุประสงค์ทางการค้า
คุณสามารถติดต่อผมได้ที่ ericBcreator@gmail.com.
สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้