สารบัญ:

จอแสดงผล LED Dot Matrix: 5 ขั้นตอน
จอแสดงผล LED Dot Matrix: 5 ขั้นตอน

วีดีโอ: จอแสดงผล LED Dot Matrix: 5 ขั้นตอน

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

ในโครงการนี้ คุณจะต้องใช้ shift register สองชุดอีกครั้ง สิ่งเหล่านี้จะเชื่อมต่อกับแถวและคอลัมน์ของการแสดงดอทเมทริกซ์ จากนั้นคุณจะแสดงวัตถุธรรมดาหรือสไปรท์บนหน้าจอและทำให้เคลื่อนไหวได้ เป้าหมายหลักของโครงการนี้คือการแสดงให้คุณเห็นว่าการแสดงดอทเมทริกซ์ทำงานอย่างไรและแนะนำแนวคิดของมัลติเพล็กซ์เพราะนี่เป็นทักษะอันล้ำค่าที่ควรมี

ขั้นตอนที่ 1: สิ่งที่จำเป็น

สิ่งที่จำเป็น
สิ่งที่จำเป็น

สำหรับโครงการนี้ คุณจะต้องการ -: 1. 1 LED matrix 2. 8 ตัวต้านทาน 1k ohm 3. 8 557 ทรานซิสเตอร์ 4. 1 ULN2803 IC 5 Arduino 6. 2 74HC595 shift register 7. 2 Bread board 8. สายเชื่อมต่อ

ขั้นตอนที่ 2: การทำงาน

หน่วยดอทเมทริกซ์มักมาในเมทริกซ์ LED ขนาด 5x7 หรือ 8x8 ไฟ LED มีสายอยู่ในเมทริกซ์เพื่อให้ขั้วบวกหรือแคโทดของ LED แต่ละตัวมีร่วมกันในแต่ละแถว กล่าวอีกนัยหนึ่ง ในหน่วยดอทเมทริกซ์ LED ขั้วบวกทั่วไป ไฟ LED แต่ละแถวจะมีขั้วบวกทั้งหมดในแถวนั้นต่อสายเข้าด้วยกัน แคโทดของไฟ LED ทั้งหมดจะถูกต่อเข้าด้วยกันในแต่ละคอลัมน์ เหตุผลนี้จะกลายเป็นที่ประจักษ์ในไม่ช้า หน่วยดอทเมทริกซ์ 8x8 สีเดียวทั่วไปจะมี 16 พิน 8 สำหรับแต่ละแถวและ 8 สำหรับแต่ละคอลัมน์ เหตุผลที่แถวและคอลัมน์ทั้งหมดต่อสายเข้าด้วยกันคือเพื่อลดจำนวนพินที่ต้องการ หากไม่เป็นเช่นนั้น หน่วยดอทเมทริกซ์ขนาด 8x8 สีเดียวจะต้องใช้พิน 65 พิน หนึ่งพินสำหรับ LED แต่ละตัว และขั้วต่อแอโนดหรือแคโทดทั่วไป โดยการเดินสายแถวและคอลัมน์เข้าด้วยกัน จะต้องใช้เพียง 16 พินเท่านั้น อย่างไรก็ตาม สิ่งนี้จะก่อให้เกิดปัญหา หากคุณต้องการให้ไฟ LED ดวงใดดวงหนึ่งสว่างขึ้นในตำแหน่งใดตำแหน่งหนึ่ง ตัวอย่างเช่น หากคุณมีหน่วยแอโนดทั่วไปและต้องการจุดไฟ LED ที่ตำแหน่ง X, Y 5, 3 (คอลัมน์ที่ 5 แถวที่ 3) คุณจะต้องนำกระแสไปใช้กับแถวที่ 3 และต่อสายดินกับหมุดของคอลัมน์ที่ 5 ไฟ LED ในคอลัมน์ที่ 5 และแถวที่ 3 จะสว่างขึ้น ทีนี้ ลองจินตนาการว่าคุณต้องการจุดไฟ LED ที่คอลัมน์ 3 แถว 6 ด้วย ดังนั้นคุณจึงใช้กระแสกับแถวที่ 6 และกราวด์พินของคอลัมน์ที่ 3 ไฟ LED ที่คอลัมน์ 3 แถว 6 จะสว่างขึ้น แต่เดี๋ยวก่อน…ไฟ LED ที่คอลัมน์ 3 แถว 6 และคอลัมน์ 5 แถว 6 ก็สว่างขึ้นเช่นกัน เนื่องจากคุณกำลังใช้พลังงานกับแถวที่ 3 และ 6 และการต่อสายดินของคอลัมน์ 3 และ 5 คุณไม่สามารถปิดไฟ LED ที่ไม่ต้องการได้โดยไม่ปิดไฟที่คุณต้องการ ดูเหมือนว่าไม่มีทางที่คุณจะให้แสงสว่างเพียงไฟ LED ที่จำเป็นสองดวงด้วยแถวและคอลัมน์ที่ต่อเข้าด้วยกันตามที่เป็นอยู่ วิธีเดียวที่จะได้ผลคือต้องมีพินแยกสำหรับ LED แต่ละตัว ซึ่งหมายความว่าจำนวนพินจะเพิ่มขึ้นจาก 16 เป็น 65 หน่วยดอทเมทริกซ์ 65 พินจะต่อสายและควบคุมยากมากเพราะคุณต้องการ ไมโครคอนโทรลเลอร์ที่มีเอาต์พุตดิจิตอลอย่างน้อย 64 ตัว มีวิธีแก้ไขปัญหานี้หรือไม่? ใช่แล้ว และเรียกว่ามัลติเพล็กซ์ (หรือ muxing) มัลติเพล็กซ์เป็นเทคนิคในการสลับการแสดงผลทีละแถว โดยการเลือกคอลัมน์ที่มีแถวที่มี LED ที่คุณต้องการให้ติด จากนั้นเปิดไฟไปที่แถวนั้น (หรืออีกทางหนึ่งสำหรับการแสดงแคโทดทั่วไป) ไฟ LED ที่เลือกในแถวนั้นจะสว่างขึ้น แถวนั้นจะถูกปิดและแถวถัดไปจะเปิดขึ้นอีกครั้งโดยเลือกคอลัมน์ที่เหมาะสมและไฟ LED ในแถวที่สองจะสว่างขึ้น ทำซ้ำกับแต่ละแถวจนถึงด้านล่างแล้วเริ่มใหม่อีกครั้งที่ด้านบน หากทำได้เร็วพอ (ที่มากกว่า 100Hz หรือ 100 ครั้งต่อวินาที) ปรากฏการณ์การคงอยู่ของการมองเห็น (โดยที่ภาพติดตายังคงอยู่บนเรตินาประมาณ 1/25 วินาที) จะทำให้การแสดงผลปรากฏขึ้น มั่นคง แม้ว่าแต่ละแถวจะเปิดและปิดตามลำดับ เมื่อใช้เทคนิคนี้ คุณจะแก้ไขปัญหาในการแสดง LED แต่ละดวงโดยไม่มีไฟ LED อื่นในคอลัมน์หรือแถวเดียวกันติดสว่าง โดยการสแกนแถวและส่องไฟ LED ตามลำดับในแต่ละคอลัมน์ของแถวนั้นและทำสิ่งนี้อย่างรวดเร็ว (มากกว่า 100Hz) ดวงตาของมนุษย์จะรับรู้ภาพนั้นคงที่และภาพของหัวใจจะจดจำได้ในรูปแบบ LED คุณกำลังใช้เทคนิคมัลติเพล็กซ์นี้ในโค้ดของโปรเจ็กต์ นั่นคือวิธีที่คุณจะแสดงภาพเคลื่อนไหวของหัวใจโดยไม่แสดงไฟ LED ที่ไม่เกี่ยวข้องด้วย

ขั้นตอนที่ 3:

ภาพ
ภาพ

คุณต้องคำนวณค่าของตัวต้านทานที่คุณสามารถใช้ได้ อันดับแรกคุณควรได้รับข้อมูลจำเพาะเกี่ยวกับ LED ของคุณ คุณควรทราบแรงดันไปข้างหน้าและกระแสไฟไปข้างหน้า คุณสามารถรับข้อมูลนี้ได้จากแผ่นข้อมูล วงจรทำงานที่ 5V ดังนั้นแรงดันไฟต้นทางของคุณคือ 5V ซึ่งสามารถรับได้จากอะแดปเตอร์ 5v ดาวน์โหลดไฟล์ต้นฉบับเพื่อดูแผนผังได้ดีขึ้น (กดไอคอน "i" ที่มุมบนซ้ายของภาพ)

ขั้นตอนที่ 4: ทำให้มันใช้งานได้

ฉันได้สร้างโปรแกรมที่แสดงประโยคจากจอภาพอนุกรมของ Arduino บนเมทริกซ์แล้ว รหัสของฉันนั้นธรรมดามาก ฉันได้สร้างแอปพลิเคชัน Android เพื่อสร้างแบบอักษรสำหรับการแสดงผล โปรดไปที่หน้าต่อไปนี้เพื่อติดตั้งแอป

ขั้นตอนที่ 5: เสร็จสิ้น !!!!!!!!

ทุกอย่างเสร็จเรียบร้อย !!!!!!!!!
ทุกอย่างเสร็จเรียบร้อย !!!!!!!!!

ขอแสดงความยินดีเมทริกซ์นำ 8x8 ของคุณพร้อมแล้ว คุณสามารถแสดงอะไรก็ได้ที่คุณต้องการ ตอนนี้คุณสามารถเล่นกับมันและสร้างเมทริกซ์นำ 8x8 โดยการบัดกรีเมทริกซ์ Led`s หรือ 16x8 ด้วยตนเองเป็นต้น !!!!!!

แนะนำ: