สารบัญ:

จอแสดงผลเมทริกซ์ 8x8 พร้อม BT: 5 ขั้นตอน (พร้อมรูปภาพ)
จอแสดงผลเมทริกซ์ 8x8 พร้อม BT: 5 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: จอแสดงผลเมทริกซ์ 8x8 พร้อม BT: 5 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: จอแสดงผลเมทริกซ์ 8x8 พร้อม BT: 5 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: เล่าสู่กันฟัง | Arduino | ตอนที่ 3 LED DOT MATRIX แสดงภาษาไทย (แจก code) 2024, พฤศจิกายน
Anonim

ฉันซื้อเมทริกซ์ขนาด 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 ที่แนบมา

แนะนำ: