สารบัญ:
- ขั้นตอนที่ 1: รวบรวมเครื่องมือและส่วนประกอบ
- ขั้นตอนที่ 2: สร้างวงจรบนเขียงหั่นขนม
- ขั้นตอนที่ 3: การบัดกรี
- ขั้นตอนที่ 4: ทดสอบครึ่งแรกที่เสร็จสิ้นของวงจร
- ขั้นตอนที่ 5: สร้างครึ่งหลัง
- ขั้นตอนที่ 6: ผลลัพธ์
วีดีโอ: จอแสดงผล LED Matrix แบบเลื่อน 48 X 8 โดยใช้ Arduino และ Shift Registers: 6 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
สวัสดีทุกคน
นี่เป็นคำสั่งแรกของฉันและมันคือทั้งหมดที่เกี่ยวกับการสร้างเมทริกซ์ 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: ผลลัพธ์
หลังจากที่คุณบัดกรีเสร็จแล้ว ขั้นตอนต่อไปคือการสร้างเคสสำหรับจอแสดงผลของคุณ การออกแบบเคสแบบกำหนดเองโดยใช้ Fusion 360 หรือเครื่องมือออกแบบ 3D อื่นๆ และการพิมพ์เคสแบบ 3 มิตินั้นจะดีกว่าเสมอ เนื่องจากตอนนั้นฉันไม่มีเครื่องพิมพ์ 3 มิติ ฉันจึงทำกล่องไม้โดยได้รับความช่วยเหลือจากเพื่อนที่เชี่ยวชาญด้านงานไม้
หวังว่าคุณจะสนุกกับการอ่านคำแนะนำนี้ โพสต์ภาพเวอร์ชันของคุณสำหรับโปรเจ็กต์นี้ในส่วนความคิดเห็นด้านล่าง และหากคุณมีคำถามใดๆ ถามได้ที่นี่ หรือส่งอีเมลมาที่ [email protected] เรายินดีที่จะช่วยเหลือคุณ
แนะนำ:
การควบคุมการแสดงผล Seven Segment โดยใช้ Arduino และ 74HC595 Shift Register: 6 ขั้นตอน
การควบคุมการแสดงผลเจ็ดส่วนโดยใช้ Arduino และ 74HC595 Shift Register: เฮ้ ว่าไงพวก! Akarsh ที่นี่จาก CETech จอแสดงผล Seven Segment นั้นดูดีและเป็นเครื่องมือที่มีประโยชน์ในการแสดงข้อมูลในรูปของตัวเลข แต่มีข้อเสียคือเมื่อเราควบคุม Seven Segment Display ในความเป็นจริง
จอแสดงผล P10 DMD พร้อม Arduino และ RTC DS3231: 4 ขั้นตอน (พร้อมรูปภาพ)
จอแสดงผล P10 DMD พร้อม Arduino และ RTC DS3231: จอแสดงผล P10 เป็นอาร์เรย์ของ LED ดอทเมทริกซ์ P10 led เป็นที่รู้จักกันทั่วไปว่าเป็น Dot Matrix Display หรือ DMD display มันขึ้นอยู่กับการลงทะเบียนกะโดยทั่วไปจะใช้การลงทะเบียน 74595shift พวกเขาสามารถเรียงต่อกันด้วยกระดานที่คล้ายกันจำนวนมากขึ้น NS
Cascade of Shift Registers 74HC595 ควบคุมผ่าน Arduino และ Ethernet: 3 ขั้นตอน
Cascade of Shift Registers 74HC595 ควบคุมผ่าน Arduino และ Ethernet: วันนี้ฉันอยากจะนำเสนอโครงการที่ฉันดำเนินการในสองเวอร์ชัน โครงการนี้ใช้ 12 shift register 74HC595 และ 96 LEDs, Arduino Uno board พร้อม Ethernet shield Wiznet W5100 8 LEDs เชื่อมต่อกับ shift register แต่ละอัน ตัวเลข 0
จอแสดงผล LED แบบเลื่อน 16x64 P10 โดยใช้ไมโครคอนโทรลเลอร์ PIC16F877: 5 ขั้นตอน (พร้อมรูปภาพ)
จอแสดงผล LED แบบเลื่อน 16x64 P10 โดยใช้ไมโครคอนโทรลเลอร์ PIC16F877: ในคำแนะนำนี้ อธิบายวิธีเชื่อมต่อจอแสดงผล LED matrix ขนาด 16 x 64 (p10) กับไมโครคอนโทรลเลอร์ PICI6F877A ข้อมูลที่ส่งไปยังไมโครคอนโทรลเลอร์ผ่าน UART ซึ่งจัดเก็บไว้ใน EEPROM และข้อมูลจะแสดงบนจอแสดงผล LED matrix มัน
LED Matrix ใช้ Shift Registers: 7 ขั้นตอน (พร้อมรูปภาพ)
LED Matrix โดยใช้ Shift Registers: คำแนะนำนี้มีขึ้นเพื่อเป็นคำอธิบายที่สมบูรณ์กว่าคนอื่น ๆ ที่มีให้ทางออนไลน์ โดยเฉพาะอย่างยิ่ง สิ่งนี้จะให้คำอธิบายเกี่ยวกับฮาร์ดแวร์มากกว่าที่มีอยู่ใน LED Marquee ซึ่งสอนได้โดย led555.Goalsคำแนะนำนี้นำเสนอแนวคิด