
สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-23 15:12

ด้วยความจริงที่ว่าหมุดไมโครคอนโทรลเลอร์จำนวนมากมีสามสถานะ (+V, GND หรือ "อิมพีแดนซ์สูง" คุณสามารถขับไฟ LED N*(N-1) จากพิน N ได้ ดังนั้นไมโครคอนโทรลเลอร์ 8 พินตัวเล็ก ๆ เช่น PIC12Fxxx หรือ ATtiny11 สามารถขับได้ ไฟ LED 20 ดวงบนพินเอาต์พุตที่มีอยู่ 5 พิน และยังคงมีพินเหลือหนึ่งพินสำหรับอินพุตบางประเภทดูเพิ่มเติมที่
ขั้นตอนที่ 1: 20 LEDs บน 5 Pins

การครอบตัดปัจจุบันของไมโครคอนโทรลเลอร์ที่มีจำนวนพินต่ำ (6 พินถึง 20 พินบน
แพ็คเกจทั้งหมด) มีราคาที่น่าดึงดูดใจและ 'น่ารัก' แต่คำถามก็คือว่าคุณจะใช้งานพินเหล่านั้นให้ดีที่สุดได้อย่างไรสำหรับการใช้งานทั่วไป เช่น ไฟ LED สำหรับขับขี่ วิธีการเชื่อมต่อโดยตรงเพื่อขับ LED จะกินหนึ่งพินสำหรับ LED แต่ละตัว รูปแบบมัลติเพล็กซิ่งแบบดั้งเดิมที่แถวของแอโนด LED ถูกขับเคลื่อนด้วยพิน N หนึ่งชุด และแคโทดทั่วไปแต่ละแถวถูกขับเคลื่อนด้วยพิน M อีกชุดหนึ่งเพื่อจัดการแสง LED N*M ด้วยพิน N+M อย่างไรก็ตาม สำหรับโปรเซสเซอร์ที่มีเอาต์พุตเพียง 5 ตัวหรือน้อยกว่า (เช่นเดียวกับไมโครคอนโทรลเลอร์ 8 พินส่วนใหญ่) สิ่งนี้ทำให้คุณได้รับเอาต์พุตมากกว่าไดรฟ์โดยตรง
ขั้นตอนที่ 2: Charlieplexing

สมมติว่าพินเอาต์พุตเป็นจริงสามสถานะ (แอ็คทีฟสูง แอ็คทีฟต่ำ และอิมพีแดนซ์สูง (อินพุต)) นอกจากนี้ยังสามารถแชร์ไดรเวอร์แถวและคอลัมน์และควบคุมไฟ LED N*(N-1) ด้วยพิน N เท่านั้น หนึ่งพินเชื่อมต่อกับแคโทดทั่วไปของแถว LEDs และ drivenlow และพิน N-1 ที่เหลืออยู่เชื่อมต่อกับ anodes และขับเคลื่อนด้วยแสงสูงเพื่อให้คอลัมน์นั้นสว่างหรือทิ้งไว้เป็นอินพุตเพื่อออกจาก LEDoff Maxim เรียกเทคนิคนี้ว่า "Charlieplexing" และอธิบายใน (1); ไมโครชิปยังกล่าวถึงสิ่งนี้ในเอกสารของพวกเขา (2) (และนำไปใช้ในบอร์ด PICKit 1 ด้วยเช่นกัน) (1) "Charlieplexing - การลดการแสดงผล LED Multiplexing Pin-Count Pin-Count"https://www.maxim-ic.com/appnotes cfm/appnote_number/1880(2) "เคล็ดลับและเคล็ดลับ 8-pin FLASH PIC Microcontrollers"https://ww1.microchip.com/downloads/en/DeviceDoc/40040b.pdf(3) Charlieplexing LEDs- ทฤษฎีที่สอนได้โดย rgbphil
ขั้นตอนที่ 3: นำไปใช้งาน


ขับ LED 20 ดวงจาก ATtiny11 เวอร์ชันก่อนหน้าของบอร์ดนี้คือ
สร้างขึ้นจริงและปรากฏเป็นรูปหน้าหลัก ฉันเกรงว่าภาพแผนผังจะค่อนข้างสิ้นหวัง คุณต้องใช้ Eagle เพื่อบอกคุณว่าสัญญาณใดเชื่อมต่ออยู่ที่ใด
ขั้นตอนที่ 4: เล็กลงและอเนกประสงค์มากขึ้น…

เนื่องจากบอร์ดส่วนใหญ่ใช้อาร์เรย์ LED เราจึงสามารถสร้างที่ว่างได้
สำหรับชิป Attiny หรือชิปไมโครชิป PIC12F ลดขนาด LED ลงเหลือ 3 มม. แล้วไปที่กระดานสองด้าน และเราได้บางอย่างเกี่ยวกับ 27x44 มม. อนิจจา บอร์ดนี้ยังไม่ได้รับการทดสอบ…
ขั้นตอนที่ 5: Itty Bitty

แน่นอนว่าไมโครชิปมีชิป PIC10F แบบ 6 พิน ซึ่งสามารถขับเคลื่อน a
เพียง 6 LEDs จาก 3 พินเอาต์พุต เส้นผ่านศูนย์กลางประมาณ 16 มม. การใช้ไฟ LED 603 ดวงช่วยให้คุณมีขนาดเล็กลงเล็กน้อย แต่ฉันไม่แน่ใจว่าประเด็นคืออะไร
ขั้นตอนที่ 6: ซอฟต์แวร์
ซอฟต์แวร์ค่อนข้างยุ่งด้วยเหตุผลด้านเซิร์ฟเวอร์:
1) สำหรับ PCB ที่แสดงไว้ ไฟ LED จะถูกจัดวางในลักษณะที่สะดวกสำหรับเลย์เอาต์ PCB แทนที่จะเรียงลำดับบิต "ถูกต้อง" IMO นี่เป็นวิธีการทำสิ่งต่างๆ แต่หมายความว่าแถวที่ 1 ไม่จำเป็นต้องหมายถึงบิต 1 หรือคอลัมน์ 3 ไม่ได้หมายถึงบิต 3 ซึ่งต้องใช้ระดับการแมประหว่างการกำหนดที่อยู่แถว/คอลัมน์ปกติและ บิตที่ต้องการการตั้งค่า 2) เนื่องจากบิตเดียวกันถูกใช้สำหรับแอโนดและแคโทด การเชื่อมต่อทั่วไป (แถว) สำหรับบางบิตสามารถอยู่ตรงกลางของบิตที่ขับเคลื่อนด้วย (คอลัมน์) นั่นหมายความว่าคุณต้องเลื่อนบิตของคอลัมน์ไปรอบๆ ขึ้นอยู่กับว่าอยู่ก่อนหรือหลังบิตของแถวสำหรับชุดของคอลัมน์นั้น 3) คุณต้องได้รับคำเอาต์พุตสำหรับทั้ง ioport และการลงทะเบียนทิศทางพอร์ต รหัส ASM ที่แนบมาสำหรับ ATtiny11 เป็น "การพิสูจน์แนวคิด" มันไม่ได้รับการปรับให้เหมาะสมอย่างน่าอับอายและแสดงความคิดเห็นได้ไม่ดี แต่ทั้งหมดที่ฉันเขียนมาจนถึงตอนนี้
แนะนำ:
ไฟฉายที่ล้ำสมัยที่สุด - COB LED, UV LED และ Laser Inside: 5 ขั้นตอน (พร้อมรูปภาพ)

ไฟฉายที่ล้ำสมัยที่สุด - COB LED, UV LED และ Laser Inside: มีไฟฉายมากมายในท้องตลาดที่มีการใช้งานเหมือนกันและมีระดับความสว่างต่างกัน แต่ฉันไม่เคยเห็นไฟฉายที่มีแสงมากกว่าหนึ่งประเภท ในโครงการนี้ ฉันรวบรวมไฟ 3 แบบในไฟฉายเดียว ฉัน
วิธีขับ FT232R USB UART CLONE ARDUINO NANO BOARD 3.0: 7 ขั้นตอน

วิธีขับ FT232R USB UART CLONE ARDUINO NANO BOARD 3.0: วันนี้ฉันซื้อ Arduino nano v3.0 (โคลน) แต่ฉันมีปัญหา คอมพิวเตอร์ของฉันตรวจพบ "FT232R USB UART" andarduino Ide ตรวจไม่พบบอร์ดนี้ ทำไม? มีอะไรผิดปกติ? โอเคฉันมีบทช่วยสอนในการแก้ปัญหานี้
LED Clouds โดยใช้ Fadecandy, PI และ LED Strips: 4 ขั้นตอน (พร้อมรูปภาพ)

LED Clouds โดยใช้ Fadecandy, PI และ LED Strips: ฉันได้สร้างก้อนเมฆ LED เพื่อสร้างบรรยากาศที่ไม่มีตัวตนในบ้านของฉัน ในขั้นต้นจะใช้สำหรับเทศกาลที่ถูกยกเลิกเนื่องจากการระบาดในปัจจุบัน ฉันเคยใช้ Fade Candy Chip เพื่อให้ได้แอนิเมชั่นที่ลื่นไหล และฉันได้
เครื่องชาร์จรูปลอกเรืองแสง LED UV LED: 4 ขั้นตอน (พร้อมรูปภาพ)

เครื่องชาร์จรูปลอกเรืองแสง LED UV LED: ไฟ LED UV LED ที่ใช้พลังงานจากแบตเตอรี่ช่วยให้สติ๊กเกอร์เรืองแสงในที่มืดที่ทำจากไวนิลโฟโตลูมิเนนต์ถูกชาร์จและเรืองแสงตลอดเวลาในความมืด ฉันมีเพื่อนที่เป็นพนักงานดับเพลิง เขาและเพื่อนๆ สวมหมวกกันน๊อคเรืองแสงในที่มืด
DIY LED Strip: วิธีตัด เชื่อมต่อ บัดกรี และเปิดไฟ LED Strip: 3 ขั้นตอน (พร้อมรูปภาพ)

DIY LED Strip: How to Cut, Connect, Solder and Power LED Strip: คู่มือเริ่มต้นสำหรับการสร้างโครงการแสงของคุณเองโดยใช้แถบ LED แถบ LED ที่ยืดหยุ่นและใช้งานง่ายเป็นทางเลือกที่ดีที่สุดสำหรับการใช้งานที่หลากหลายฉันจะครอบคลุม พื้นฐานในการติดตั้งแถบ LED 60 LEDs/m ในร่มแบบเรียบง่าย แต่ใน