สารบัญ:

จอแสดงผล LED Matrix แบบเลื่อน 48 X 8 โดยใช้ Arduino และ Shift Registers: 6 ขั้นตอน (พร้อมรูปภาพ)
จอแสดงผล LED Matrix แบบเลื่อน 48 X 8 โดยใช้ Arduino และ Shift Registers: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: จอแสดงผล LED Matrix แบบเลื่อน 48 X 8 โดยใช้ Arduino และ Shift Registers: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: จอแสดงผล LED Matrix แบบเลื่อน 48 X 8 โดยใช้ Arduino และ Shift Registers: 6 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: How to Make Scrolling Text Display With Arduino | 8x8 Matrix Display | LED Matrix Display 2024, กรกฎาคม
Anonim
จอแสดงผล LED Matrix แบบเลื่อน 48 X 8 โดยใช้ Arduino และ Shift Registers
จอแสดงผล LED Matrix แบบเลื่อน 48 X 8 โดยใช้ Arduino และ Shift Registers
จอแสดงผล LED Matrix แบบเลื่อน 48 X 8 โดยใช้ Arduino และ Shift Registers
จอแสดงผล LED Matrix แบบเลื่อน 48 X 8 โดยใช้ Arduino และ Shift Registers

สวัสดีทุกคน

นี่เป็นคำสั่งแรกของฉันและมันคือทั้งหมดที่เกี่ยวกับการสร้างเมทริกซ์ LED การเลื่อนแบบตั้งโปรแกรมได้ 48 x 8 โดยใช้การลงทะเบียนกะ Arduino Uno และ 74HC595 นี่เป็นโครงการแรกของฉันกับบอร์ดพัฒนา Arduino มันเป็นความท้าทายที่ครูของฉันมอบให้ฉัน ในช่วงเวลาที่ยอมรับความท้าทายนี้ ฉันไม่รู้ด้วยซ้ำว่าจะกระพริบไฟ LED โดยใช้ Arduino ได้อย่างไร ดังนั้น ฉันคิดว่าแม้แต่มือใหม่ก็สามารถทำได้ด้วยความอดทนและความเข้าใจเพียงเล็กน้อย ฉันเริ่มต้นด้วยการวิจัยเล็กน้อยเกี่ยวกับการลงทะเบียนกะและมัลติเพล็กซ์ใน Arduino หากคุณเพิ่งเริ่มใช้ shift register ฉันแนะนำให้เรียนรู้พื้นฐานของการลงทะเบียน shift แบบมัลติเพล็กซ์และเดซี่เชนก่อนที่จะเริ่มด้วยเมทริกซ์ ที่จะช่วยให้คุณเข้าใจโค้ดและการทำงานของหน้าจอเลื่อนได้มาก

ขั้นตอนที่ 1: รวบรวมเครื่องมือและส่วนประกอบ

การรวบรวมเครื่องมือและส่วนประกอบ
การรวบรวมเครื่องมือและส่วนประกอบ

ส่วนประกอบ

  • 1. Arduino Uno R3 - 1
  • 2. 74HC595 8 บิต Serial to Parallel Shift Registers - 7
  • 3. BC 548/2N4401 ทรานซิสเตอร์ - 8
  • 4. ตัวต้านทาน 470 โอห์ม - จำนวนคอลัมน์ + 8
  • 5. Pref Board 6x4 นิ้ว - 4
  • 6. สายรหัสสี - ตามต้องการ
  • 7. ผู้ถือ IC - 7
  • 8. LED Matrix สีโมโนแคโทดธรรมดา 8x8 ขนาด 5 มม. หรือ 3 มม. 8 มม. - 6
  • 9. ส่วนหัวชายและหญิง - ตามต้องการ

เครื่องมือที่จำเป็น

  • 1. ชุดบัดกรี
  • 2. มัลติมิเตอร์
  • 3. ปืนกาว
  • 4. ปั๊มบัดกรี
  • 5. แหล่งจ่ายไฟ 5V

ขั้นตอนที่ 2: สร้างวงจรบนเขียงหั่นขนม

การสร้างวงจรบนเขียงหั่นขนม
การสร้างวงจรบนเขียงหั่นขนม
การสร้างวงจรบนเขียงหั่นขนม
การสร้างวงจรบนเขียงหั่นขนม
การสร้างวงจรบนเขียงหั่นขนม
การสร้างวงจรบนเขียงหั่นขนม
การสร้างวงจรบนเขียงหั่นขนม
การสร้างวงจรบนเขียงหั่นขนม

สิ่งแรกที่คุณต้องทำก่อนสร้างต้นแบบคือการรับไดอะแกรมพินของเมทริกซ์ 8x8 ของคุณและทำเครื่องหมายจุดอ้างอิงเพื่อระบุพินในเมทริกซ์ทั้งหมดของคุณ ซึ่งอาจช่วยคุณได้ในขณะประกอบวงจร

ฉันได้แนบไดอะแกรมพินของโมดูลเมทริกซ์ที่ฉันใช้ที่นี่ ในโมดูลของฉัน แถวคือพินเชิงลบ แผนภาพพินนี้ยังคงเหมือนเดิมสำหรับโมดูลส่วนใหญ่ในตลาด

มันแสดงให้เห็นในวงจรว่า shift register ตัวเดียวถูกใช้เพื่อควบคุม 8 แถว และสำหรับการควบคุมคอลัมน์ เราใช้ shift register หนึ่งอันสำหรับแต่ละ 8 คอลัมน์

มาสร้างหน้าจอเลื่อนแบบง่ายขนาด 8 x 8 บนเขียงหั่นขนมกันเถอะ

วงจรแบ่งออกเป็นสองส่วน - การควบคุมแถวและการควบคุมคอลัมน์ มาสร้างคอนโทรลคอลัมน์กันก่อน

Pin 4 จาก arduino เชื่อมต่อกับ Pin 14 (SER) ของ shift register (นี่คือพินอินพุตข้อมูลอนุกรมของรีจิสเตอร์ shift ระดับลอจิกที่จำเป็นในการเปิดไฟ LED จะถูกป้อนผ่านพินนี้

Pin 3 จาก arduino เชื่อมต่อกับ Pin 12 (RCLK) ของ shift register (ให้ตั้งชื่อพินนี้เป็นพินนาฬิกาเอาต์พุต ข้อมูลในหน่วยความจำของรีจิสเตอร์กะจะถูกผลักไปที่เอาต์พุตเมื่อนาฬิกานี้ถูกทริกเกอร์)

Pin 2 จาก arduino เชื่อมต่อกับ Pin 11 (SRCLK) ของ shift register (นี่คือพินนาฬิกาอินพุตซึ่งเปลี่ยนข้อมูลไปยังหน่วยความจำ)

VCC +5V มอบให้กับ shift register ผ่านพิน 16 และเหมือนกับเชื่อมต่อกับ Pin 10 (ทำไม? Pin 10 คือพิน SRCLR ซึ่งล้างข้อมูลใน shift register เมื่อถูกทริกเกอร์ เป็นพินต่ำที่ทำงานอยู่ ดังนั้น เพื่อที่จะรักษาข้อมูลในหน่วยความจำของ shift register พินนี้จะต้องมาพร้อมกับ +5V ตลอดเวลา)

กราวด์เชื่อมต่อกับทั้ง GND Pin (Pin 8 ของ shift register) และ OE Pin (Pin 13 ของ shift register) (ทำไม? พินเปิดใช้งานเอาต์พุตจำเป็นต้องถูกทริกเกอร์เพื่อให้เอาต์พุตตามสัญญาณนาฬิกา เป็นพินต่ำที่ทำงานอยู่เหมือนกับพิน SRCLR ดังนั้นจึงจำเป็นต้องรักษาสถานะกราวด์ตลอดเวลาเพื่อเปิดใช้งาน เอาท์พุท)

หมุดคอลัมน์ของเมทริกซ์เชื่อมต่อกับ shift register ตามที่แสดงในแผนภาพวงจรโดยมีตัวต้านทาน 470 โอห์มอยู่ระหว่างเมทริกซ์และ shift register

ตอนนี้สำหรับวงจรควบคุมแถว

Pin 7 จาก arduino เชื่อมต่อกับ Pin 14 (SER) ของ shift register

Pin 5 จาก arduino เชื่อมต่อกับ Pin 11 (SRCLK) ของ shift register

Pin 6 จาก arduino เชื่อมต่อกับ Pin 12 (RCLK) ของ shift register

VCC +5V มอบให้กับ Pin 16 และ Pin 10 ตามที่อธิบายไว้ข้างต้น

กราวด์เชื่อมต่อกับพิน 8 และพิน 13

ดังที่ฉันได้กล่าวไว้ข้างต้น แถวต่างๆ เป็นหมุดลบในกรณีของฉัน ควรพิจารณาพินเชิงลบของเมทริกซ์ของคุณเป็นแถวของจอแสดงผลจะดีกว่า ต้องเปลี่ยนการเชื่อมต่อกราวด์เป็นพินเชิงลบเหล่านี้โดยใช้ทรานซิสเตอร์ BC548/2N4401 ซึ่งควบคุมโดยระดับลอจิกเอาต์พุตของรีจิสเตอร์กะ ยิ่งพินเชิงลบมากเท่าไหร่ เราก็ยิ่งต้องการทรานซิสเตอร์มากขึ้นเท่านั้น

ให้การเชื่อมต่อแถวตามที่แสดงในแผนภาพวงจร

หากคุณสร้างต้นแบบการแสดงผลเมทริกซ์ขนาด 8 x 8 สำเร็จแล้ว คุณสามารถจำลองส่วนของวงจรสำหรับการควบคุมคอลัมน์และขยายเมทริกซ์ไปยังคอลัมน์จำนวนเท่าใดก็ได้ คุณเพียงแค่ต้องเพิ่ม 74HC595 หนึ่งอันสำหรับทุก ๆ 8 คอลัมน์ (หนึ่งโมดูล 8 x 8) และเชื่อมโยงเดซี่กับอันก่อนหน้า

Daisy ผูกมัด shift register เพื่อเพิ่มคอลัมน์

สายโซ่เดซี่ในวิศวกรรมไฟฟ้าเป็นรูปแบบการเดินสายที่อุปกรณ์หลายตัวต่อเข้าด้วยกันเป็นลำดับ

กลไกนี้เรียบง่าย: หมุด SRCLK (นาฬิกาอินพุต พิน 11) และพิน RCLK (นาฬิกาเอาต์พุต พิน 12) จะใช้ร่วมกันระหว่างรีจิสเตอร์กะเดซี่เชนทั้งหมดในขณะที่ทุก QH PIN (พิน 9) ของรีจิสเตอร์กะก่อนหน้าใน chain ถูกใช้เป็นอินพุตแบบอนุกรมสำหรับ shift register ต่อไปนี้ผ่าน SER PIN (พิน 14)

พูดง่ายๆ ก็คือ โดยการเชื่อมโยงเดซี่กับรีจิสเตอร์กะ พวกมันสามารถควบคุมเป็นรีจิสเตอร์กะเดียวที่มีหน่วยความจำขนาดใหญ่กว่าได้ ตัวอย่างเช่น หากคุณเดซี่เชนรีจิสเตอร์กะ 8 บิตสองตัว พวกมันจะทำงานเหมือนรีจิสเตอร์กะ 16 บิตตัวเดียว

รหัส

ในโค้ดนี้ เราป้อนคอลัมน์ที่มีระดับลอจิกตามลำดับตามอินพุตในขณะที่เราสแกนตามแถว อักขระจาก A ถึง Z ถูกกำหนดในโค้ดเป็นระดับตรรกะในอาร์เรย์ไบต์ อักขระแต่ละตัวกว้าง 5 พิกเซลและสูง 7 พิกเซล ฉันได้ให้คำอธิบายโดยละเอียดเพิ่มเติมเกี่ยวกับการทำงานของโค้ดตามความคิดเห็นในโค้ดเอง

แนบรหัส Arduino ไว้ที่นี่

ขั้นตอนที่ 3: การบัดกรี

การบัดกรี
การบัดกรี
การบัดกรี
การบัดกรี
การบัดกรี
การบัดกรี

เพื่อให้เข้าใจวงจรบัดกรีได้ง่ายขึ้น ฉันได้ทำให้มันใหญ่ที่สุดเท่าที่จะเป็นไปได้ และให้แผงแยกสำหรับตัวควบคุมแถวและคอลัมน์ และเชื่อมต่อเข้าด้วยกันโดยใช้ส่วนหัวและสายไฟ คุณสามารถทำให้มันเล็กลงได้มากโดยการบัดกรีส่วนประกอบให้ชิดกัน หรือถ้าคุณเก่งในการออกแบบ PCB คุณสามารถสร้าง PCB แบบกำหนดเองที่มีขนาดเล็กลงได้เช่นกัน

อย่าลืมใส่ตัวต้านทาน 470 โอห์มทุกพินที่นำไปสู่เมทริกซ์ ใช้ส่วนหัวเพื่อเชื่อมต่อ LED Matrices กับบอร์ดเสมอ ไม่ควรประสานโดยตรงกับบอร์ดเนื่องจากการได้รับความร้อนเป็นเวลานานอาจทำให้เสียหายอย่างถาวร

ขณะที่ฉันสร้างแผงแยกสำหรับตัวควบคุมแถวและคอลัมน์ ฉันต่อสายจากบอร์ดหนึ่งไปยังอีกบอร์ดหนึ่งเพื่อเชื่อมต่อคอลัมน์ ในที่นี้ กระดานด้านบนมีไว้สำหรับควบคุมแถว และกระดานด้านล่างใช้สำหรับควบคุมคอลัมน์

ต้องการเพียง 74HC595 เพียงตัวเดียวในการขับทั้ง 8 แถว แต่ตามจำนวนคอลัมน์ ควรเพิ่ม shift register มากขึ้น ไม่มีการจำกัดทางทฤษฎีสำหรับจำนวนคอลัมน์ที่คุณสามารถเพิ่มลงในเมทริกซ์นี้ได้ ใหญ่แค่ไหนที่คุณทำได้? แจ้งให้เราทราบเมื่อคุณไปถึงที่นั่น!;)

ขั้นตอนที่ 4: ทดสอบครึ่งแรกที่เสร็จสิ้นของวงจร

การทดสอบครึ่งแรกของรอบที่เสร็จสิ้น
การทดสอบครึ่งแรกของรอบที่เสร็จสิ้น

ทดสอบครึ่งทางเสมอเพื่อค้นหาข้อผิดพลาดที่เป็นไปได้ เช่น การเชื่อมต่อหลวม การเชื่อมต่อพินที่ไม่ถูกต้อง ฯลฯ: หลายคนที่ขอความช่วยเหลือจากฉันในการค้นหาข้อผิดพลาดในเมทริกซ์ของพวกเขาได้ทำผิดพลาดกับพินเอาต์ของแถว-คอลัมน์ของโมดูลเมทริกซ์ ตรวจสอบสองครั้งก่อนบัดกรีและใช้สายไฟที่มีรหัสสีเพื่อแยกแยะพินได้อย่างง่ายดาย

ขั้นตอนที่ 5: สร้างครึ่งหลัง

สร้างครึ่งหลัง
สร้างครึ่งหลัง
สร้างครึ่งหลัง
สร้างครึ่งหลัง
สร้างครึ่งหลัง
สร้างครึ่งหลัง

ขยายวงจรควบคุมคอลัมน์เดียวกัน แถวต่างๆ เชื่อมต่อกันเป็นอนุกรมกับแถวก่อนหน้า

หมุด SRCLK และ RCLK เป็นแบบขนานและ QH (ข้อมูลอนุกรมออก พิน 9) ของรีจิสเตอร์กะสุดท้ายของวงจรสำเร็จรูปเชื่อมต่อกับ SER (ข้อมูลอนุกรมในพิน 14) ของรีจิสเตอร์กะถัดไป พลังงาน VCC และ GND ยังใช้ร่วมกันระหว่างไอซีทั้งหมด

ขั้นตอนที่ 6: ผลลัพธ์

Image
Image

หลังจากที่คุณบัดกรีเสร็จแล้ว ขั้นตอนต่อไปคือการสร้างเคสสำหรับจอแสดงผลของคุณ การออกแบบเคสแบบกำหนดเองโดยใช้ Fusion 360 หรือเครื่องมือออกแบบ 3D อื่นๆ และการพิมพ์เคสแบบ 3 มิตินั้นจะดีกว่าเสมอ เนื่องจากตอนนั้นฉันไม่มีเครื่องพิมพ์ 3 มิติ ฉันจึงทำกล่องไม้โดยได้รับความช่วยเหลือจากเพื่อนที่เชี่ยวชาญด้านงานไม้

หวังว่าคุณจะสนุกกับการอ่านคำแนะนำนี้ โพสต์ภาพเวอร์ชันของคุณสำหรับโปรเจ็กต์นี้ในส่วนความคิดเห็นด้านล่าง และหากคุณมีคำถามใดๆ ถามได้ที่นี่ หรือส่งอีเมลมาที่ [email protected] เรายินดีที่จะช่วยเหลือคุณ

แนะนำ: