สารบัญ:
วีดีโอ: จอแสดงผลเมทริกซ์ 8x8 พร้อม BT: 5 ขั้นตอน (พร้อมรูปภาพ)
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
ฉันซื้อเมทริกซ์ขนาด 8x8 4 แผงจาก Ebay (จีน) เมื่อไม่กี่เดือนก่อน
ฉันรู้สึกผิดหวังเล็กน้อยเมื่อรู้ว่ามันเป็นการต่อสายแบบแข็งจากด้านหนึ่งไปยังอีกด้าน ไม่ใช่จากบนลงล่างซึ่งตัวอย่างส่วนใหญ่ในเน็ตเขียนขึ้น! ดูขั้นตอนที่ 2
ฉันเดาว่าฉันสามารถแก้ไขรหัสได้ (ไม่แน่ใจว่าจะทำอย่างไร) แต่ความเกียจคร้านตามปกติของฉันบอกให้มองหาสิ่งที่เขียนไว้แล้ว ฉันเจอตัวอย่างและติดอยู่กับมัน!
ฉันเล่นกับข้อความคงที่ แต่แล้วฉันก็ตัดสินใจว่าจะลองเขียนโปรแกรมข้อความผ่านบลูทูธ
จากนั้นฉันต้องการบันทึกและดึงข้อความ !
มีการลองผิดลองถูกมากมาย แต่หลังจากเขียนโค้ดไม่กี่ชั่วโมงฉันก็ใช้งานได้
ฉันยังคงพยายามที่จะหาการใช้งานจริงสำหรับมัน !!:-)
ขั้นตอนที่ 1: จอแสดงผล
ตามที่กล่าวไว้ก่อนหน้านี้ จอภาพเป็นแบบต่อสายจากซ้ายไปขวา แทนที่จะเป็นบนลงล่าง
ฉันแน่ใจว่ารหัสอื่นสามารถแก้ไขได้เพื่อชดเชยสิ่งนี้ !
ฉันจำไม่ได้ว่าฉันดาวน์โหลดรหัสการทำงานจากที่ใด อย่างไรก็ตาม การค้นหา "cosmicvoid matrix หรือ LedControlMS.h" อาจช่วยได้ จำเป็นต้องใช้ LedControlMS.h lib สำหรับโปรเจ็กต์นี้
ส่วนเดียวของรหัสนี้ที่ฉันแก้ไขคือจำนวนการแสดงผลที่ดูเหมือนว่าตั้งค่าเป็น 5 ฉันเพิ่งเปลี่ยนเป็น 4
ฉันได้สั่งซื้อจอแสดงผล x4 อีกอันเพื่อให้เห็นว่ามันทำงานอย่างไรกับเมทริกซ์ 8 ตัวแทนที่จะเป็น 4!
ขั้นตอนที่ 2: Bluetooth Bit
ทุกครั้งที่ฉันเล่นกับอุปกรณ์ Bluetooth ฉันมักจะอ้างถึงคำแนะนำที่ยอดเยี่ยมนี้ !
www.instructables.com/id/Modify-The-HC-05-B…
คำแนะนำนี้จะบอกคุณทุกสิ่งที่คุณจำเป็นต้องรู้เกี่ยวกับวิธีตั้งค่าและจับคู่ HC-05 กับโทรศัพท์มือถือหรือแท็บเล็ต
ฉันจับคู่กับ Samsung Galaxy 6 Edge และ Tab A โดยไม่มีปัญหา
ฉันเปลี่ยนความเร็วในการสื่อสารเป็น 57600
ขั้นตอนที่ 3: การสื่อสาร BT และโปรแกรม
ในการสื่อสารกับ HC-05 ฉันดาวน์โหลดแอปฟรีจาก Play Store มีหลายแอปให้เลือก แอปที่ฉันเลือกคือ Bluetooth Terminal HC-05 เป็นแอปที่ยอดเยี่ยมมาก!
เมื่อคุณจับคู่ HC-05 กับโทรศัพท์หรือแท็บเล็ตแล้ว สิ่งต่อไปนี้จะเกิดขึ้น
เมื่อรีเซ็ต Arduino โปรแกรมจะอ่านข้อความทั้งหมดที่เก็บไว้ใน EEPROM และแสดงบนโทรศัพท์ / แท็บเล็ต - ดูรูป
ข้อมูลที่แสดงคือตำแหน่ง Mem (0-9) ความยาวของข้อความ & ข้อความในแต่ละตำแหน่ง
ฉันจัดเรียงรหัสเพื่อจัดเก็บข้อความยาวไม่เกิน 90 อักขระตามที่อยู่ 5 สำหรับข่าวสาร 0, 105 สำหรับข่าวสาร 1 …….905 สำหรับข่าวสาร 9
ที่อยู่ 0, 100 …. 900 มีความยาวข้อความ
ข้อความที่จัดเก็บ / เรียกคืนล่าสุดจะปรากฏขึ้น
การส่งอะไรก็ได้ไปยัง Arduino ผ่าน BT จะแทนที่ข้อความปัจจุบัน
ในการจัดเก็บข้อความที่แสดง (ใช้ "~" ตัวหนอน) ให้ส่ง ~0 เพื่อจัดเก็บที่ตำแหน่ง 0, ~5 เพื่อจัดเก็บที่ตำแหน่ง 5 เป็นต้น
ในการดึงและแสดงข้อความที่จัดเก็บไว้ ให้ใช้ "^" (กะรัต) เช่น ^3 จะโหลดและแสดงข้อความที่ตำแหน่ง Mem 3
เมื่อข้อความถูกจัดเก็บหรือเรียกค้น ตำแหน่งหน่วยความจำปัจจุบันจะถูกเก็บไว้ที่ที่อยู่ EEPROM 1023 ซึ่งใช้เมื่อเปิดเครื่องเพื่อแสดงข้อความสุดท้ายที่แสดง
ขั้นตอนที่ 4: รหัส & พลัง
ตามปกติ รหัสของฉันเป็นระเบียบเรียบร้อยเหมือนห้องนอนวัยรุ่น แต่ฉันมีความคิดเห็นมากมายในนั้น !
อาจมีโค้ดที่ไม่จำเป็นเนื่องจากมีการลองผิดลองถูกเล็กน้อย
รูทีนการแสดงผลจะแสดงสิ่งที่อยู่ในอาร์เรย์ msg แบบอักษรไม่สมบูรณ์ ดังนั้นการแสดงอักขระบางตัวจะทำให้ได้ผลลัพธ์ที่คาดเดาไม่ได้ !
หากมีคนช่วยบอกฉันถึงวิธีแก้ไขเครื่องหมาย $ สำหรับเครื่องหมาย £ หรือควรเพิ่มเข้าไปอีก ฉันจะขอบคุณมาก
อาจจำเป็นต้องฮาร์ดโค้ดข้อความลงในตำแหน่ง 0 เพียงเพื่อให้เป็นจุดเริ่มต้น ซึ่งสามารถเขียนทับได้เมื่อโปรแกรมเริ่มทำงาน!
เช่น
EEPROM.write(0, '5'); // ความยาวของ msg เก็บไว้ที่ตำแหน่ง 0
EEPROM.write(5, 'L'); //msg เก็บไว้ที่ตำแหน่ง 05EEPROM.write(6, 'o');
EEPROM.write (7, 'c');
EEPROM.write(8, ' ');
EEPROM.write(9, '0');
เมื่อไม่มีข้อความที่จัดเก็บไว้ เมื่อเปิดเครื่อง การแสดงผลจะไม่สามารถคาดเดาได้ และโทรศัพท์/แท็บเล็ตจะแสดงข้อมูลแปลก ๆ แต่สม่ำเสมอ เนื่องจากข้อมูลเริ่มต้นของทุกตำแหน่งเป็น FF Hex (225 Decimal) เช่นเดียวกับ EEPROM ส่วนใหญ่
ต้นแบบนี้สร้างขึ้นโดยใช้ Arduino Uno แต่ฉันจะใช้โปรมินิสำหรับโปรเจ็กต์ที่เสร็จแล้ว
ฉันตั้งใจจะใช้แบตเตอรี่ 3 x 1.5v ดังนั้นเพื่อประหยัดพลังงาน ฉันจะปิด HC-05 หลังจากเลือกข้อความ แค่ถอด/เสียบปลั๊กไฟใหม่ก็ยังไม่ดีพอ เพราะจะส่งข้อมูลที่อ่านไม่ออกไปยังจอแสดงผล
ดูเหมือนว่าจำเป็นต้องแยกหมุด TR & RX ก่อนเชื่อมต่อ / ถอดสายไฟ!
ขั้นตอนที่ 5: อัปเดตการแสดงเมทริกซ์ปี 2020 - 2 X 4 (8x8)
หลังจากที่เข้าใจ MAX7219 มากขึ้นแล้ว ฉันก็จัดการเชื่อมโยงจอแสดงผล 2 จอเข้าด้วยกันได้แล้ว!
มีโค้ดเพียงไม่กี่บรรทัดที่ต้องเปลี่ยน - ดู ino ที่แนบมา