สารบัญ:
- ขั้นตอนที่ 1: จอแสดงผล
- ขั้นตอนที่ 2: Bluetooth Bit
- ขั้นตอนที่ 3: การสื่อสาร BT และโปรแกรม
- ขั้นตอนที่ 4: รหัส & พลัง
- ขั้นตอนที่ 5: อัปเดตการแสดงเมทริกซ์ปี 2020 - 2 X 4 (8x8)
วีดีโอ: จอแสดงผลเมทริกซ์ 8x8 พร้อม BT: 5 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:02
ฉันซื้อเมทริกซ์ขนาด 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 ที่แนบมา
แนะนำ:
MIDI Handpan พร้อม 19 Tonefields ที่ด้านบนและด้านล่าง: 15 ขั้นตอน (พร้อมรูปภาพ)
MIDI Handpan พร้อม 19 Tonefields ที่ด้านบนและด้านล่าง…: บทนำ นี่คือบทแนะนำเกี่ยวกับ Handpan MIDI ที่ฉันทำเองซึ่งมีโทนฟิลด์ที่ไวต่อเสียง 19 โทน ความสามารถของ Plug'n Play USB และพารามิเตอร์ที่ใช้งานง่ายมากมายสำหรับการปรับแพด สำหรับความต้องการส่วนบุคคลของคุณ ไม่ใช่ mod ที่ได้รับรางวัลการออกแบบ
All Band Receiver พร้อม SI4732 / SI4735 (FM / RDS, AM และ SSB) พร้อม Arduino: 3 ขั้นตอน
All Band Receiver พร้อม SI4732 / SI4735 (FM / RDS, AM และ SSB) พร้อม Arduino: เป็นโปรเจ็กต์เครื่องรับย่านความถี่ทั้งหมด ใช้ห้องสมุด Arduino Si4734 ห้องสมุดนี้มีตัวอย่างมากกว่า 20 ตัวอย่าง คุณสามารถฟัง FM ด้วย RDS สถานี AM (MW) ในพื้นที่ SW และสถานีวิทยุสมัครเล่น (SSB) เอกสารทั้งหมดที่นี่
อินเทอร์เฟซ ESP32 พร้อม SSD1306 Oled พร้อม MicroPython: 5 ขั้นตอน
อินเทอร์เฟซ ESP32 พร้อม SSD1306 Oled พร้อม MicroPython: Micropython เป็นการเพิ่มประสิทธิภาพของ python และมีขนาดเล็กของ python ซึ่งหมายถึงการสร้างสำหรับอุปกรณ์ฝังตัวซึ่งมีข้อจำกัดด้านหน่วยความจำและใช้พลังงานต่ำ Micropython สามารถใช้ได้กับคอนโทรลเลอร์หลายตระกูล ซึ่งรวมถึง ESP8266, ESP32, Ardui
PWM พร้อม ESP32 - Dimming LED พร้อม PWM บน ESP 32 พร้อม Arduino IDE: 6 ขั้นตอน
PWM พร้อม ESP32 | Dimming LED พร้อม PWM บน ESP 32 พร้อม Arduino IDE: ในคำแนะนำนี้เราจะดูวิธีสร้างสัญญาณ PWM ด้วย ESP32 โดยใช้ Arduino IDE & โดยทั่วไปแล้ว PWM จะใช้เพื่อสร้างเอาต์พุตแอนะล็อกจาก MCU ใดๆ และเอาต์พุตแอนะล็อกนั้นอาจเป็นอะไรก็ได้ระหว่าง 0V ถึง 3.3V (ในกรณีของ esp32) & จาก
อินเทอร์เฟซ LED Dot Matrix (8x8) พร้อม NodeMCU: 6 ขั้นตอน (พร้อมรูปภาพ)
อินเทอร์เฟซ LED Dot Matrix (8x8) กับ NodeMCU: สวัสดีผู้สร้าง ฉันมีคำแนะนำที่เรียบง่ายและยอดเยี่ยมอีกอัน ในคำแนะนำนี้ เราจะเรียนรู้วิธีเชื่อมต่อ LED Dot Matrix (8x8) กับ NodeMCU มาเริ่มกันเลย