สารบัญ:
- ขั้นตอนที่ 1: รายการวัสดุ
- ขั้นตอนที่ 2: WS2812B เทียบกับ WS2812: รอยเท้า 4 พิน (✓)
- ขั้นตอนที่ 3: WS2812B เทียบกับ WS2812: LEDS ที่สว่างขึ้น & ปรับปรุงความสม่ำเสมอของสี (?)
- ขั้นตอนที่ 4: WS2812B เทียบกับ WS2812: วงจรป้องกันการกลับขั้ว (✓)
- ขั้นตอนที่ 5: WS2812B เทียบกับ WS2812: ปรับปรุงโครงสร้างภายใน (?)
- ขั้นตอนที่ 6: การเขียนโปรแกรมไฟ LED WS2812B RGB
วีดีโอ: การอัพเกรด Smart RGB LEDs: WS2812B เทียบกับ WS2812: 6 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
จำนวนโปรเจ็กต์ที่เราเคยเห็นใช้ Smart RGB LED ไม่ว่าจะเป็นแถบ โมดูล หรือ PCB แบบกำหนดเอง ในช่วง 3 ปีที่ผ่านมานั้นค่อนข้างน่าทึ่ง การระบาดของการใช้ RGB LED นี้เกิดขึ้นพร้อมกันด้วยราคาที่ลดลงอย่างมีนัยสำคัญและความสะดวกในการใช้งานอุปกรณ์อิเล็กทรอนิกส์เหล่านี้ที่เพิ่มขึ้น ในบรรดาผู้ผลิต LED นั้น WorldSemi ดูเหมือนจะกลายเป็นมาตรฐานโดยพฤตินัยในหมู่ DIYers, hobbyists และนักออกแบบอุปกรณ์อิเล็กทรอนิกส์ที่สวมใส่ได้ Smart RGB LED ตระกูล WS28XX ของบริษัทประกอบด้วยโปรโตคอลควบคุมที่ใช้งานง่าย พินเอาต์และรอยเท้าที่สะดวก และการเรืองแสงที่สว่างอย่างไม่น่าเชื่อ ทั้งหมดนี้อยู่ในแพ็คเกจขนาดเล็ก 5 มม. x 5 มม. แต่สิ่งที่สร้างความแตกต่างอย่างแท้จริงในความสำเร็จในตลาด DIY ของผลิตภัณฑ์คือราคาต่อหน่วย $0.30 ถึง $0.40 ในปริมาณเล็กน้อย ในเวอร์ชันล่าสุดของ LED เหล่านี้ WS2812B, WorldSemi ได้ทำการปรับปรุงที่สำคัญอีกครั้งกับ WS2812 รุ่นก่อน เนื่องจากมีข้อมูลน้อยมากเกี่ยวกับเวอร์ชันที่ค่อนข้างใหม่นี้ เราจึงตัดสินใจสร้างคำแนะนำสั้นๆ เพื่อเน้นการอัปเกรดการออกแบบ และโฆษณาคุณลักษณะที่มีอยู่แล้วของอุปกรณ์อันชาญฉลาดนี้! ระดับความยาก: ระดับเริ่มต้น+ (ความคุ้นเคยกับ RGB อัจฉริยะบางส่วน ไฟ LED) เวลาที่จะทำให้เสร็จ: 5-10 นาที
ขั้นตอนที่ 1: รายการวัสดุ
เพื่อเน้นคุณลักษณะของไฟ LED ทั้ง WS2812B และ WS2812 RGB เราสามารถใช้ชิ้นส่วนต่อไปนี้ได้: 1 x WS2812 RGB LED (บัดกรีล่วงหน้าบนบอร์ดฝ่าวงล้อมขนาดเล็ก) 1 x เขียงหั่นขนมแบบไม่มีบัดกรี 1 x ขั้วต่อพินแยก, 0.1 Pitch, 8-Pin Male 1 x Arduino Uno R3 1 x WS2812B Lumina Shield สำหรับ Arduino Solid Core Wire (คละสี; 28 AWG) และ Wire Strippers Power Supply (อุปกรณ์เสริม) ทั้ง WS2812 และ WS2812B มีไดรเวอร์ LED แบบกระแสคงที่ในตัว และไฟ LED ที่ควบคุมแยกกัน 3 ดวง สีแดง 1 ดวง สีเขียว 1 ดวง และสีน้ำเงิน 1 ดวง ไดรเวอร์ LED ประกอบด้วย: - ออสซิลเลเตอร์ภายใน - วงจรปรับรูปร่างและขยายสัญญาณ - สลักข้อมูล - ไดรฟ์เอาท์พุตกระแสไฟคงที่แบบตั้งโปรแกรมได้ 3 ช่อง - พอร์ตดิจิทัล 2 พอร์ต (เอาต์พุตแบบอนุกรม/อินพุต)หมายเหตุ: ไดรเวอร์ LED เองก็มีจำหน่ายในรูปแบบ IC แบบ 6 พิน ซึ่งเราสามารถใช้เพื่อเชื่อมต่อโดยตรงกับไฟ LED RGB ที่ 'ไม่ฉลาด' ที่เราเลือก IC ที่เป็นปัญหาไม่ใช่อย่างอื่นนอกจาก WS2811
ขั้นตอนที่ 2: WS2812B เทียบกับ WS2812: รอยเท้า 4 พิน (✓)
คุณลักษณะใหม่ที่เห็นได้ชัดที่สุดของ WS2812B คือจำนวนพินที่ลดลง (จาก 6 เป็น 4) ซึ่งรักษาขนาดที่ดีสำหรับการบัดกรีอย่างง่ายดาย (โดยใช้หัวแร้งแบบละเอียด) ถึง ~ 2 มม. x 1 มม. บนแผ่น PCB แผ่นรอง 6 แผ่นของ WS2812 รุ่นเก่าทำให้กำหนดเส้นทางพิน DO ของโมดูลหนึ่งไปยังพิน DI ของโมดูลถัดไปได้ยากเล็กน้อย เมื่อระยะห่างระหว่างโมดูลแน่น ด้วย WS2812B การกำหนดเส้นทางการติดตามบน PCB เป็นเรื่องง่าย โดยเฉพาะอย่างยิ่งเมื่อออกแบบการกำหนดค่าแบบอาร์เรย์ตาม Arduino Shield ที่แสดงในภาพของขั้นตอนนี้ ช่องว่างเพิ่มเติมระหว่างแผ่นรอง WS2812B ช่วยให้:
- กำหนดเส้นทางสัญญาณที่จำเป็น 3 อย่างได้อย่างง่ายดาย: กำลังไฟฟ้า กราวด์ และข้อมูล
- ใช้เส้นหนาเพื่อเชื่อมต่อพลังงานและกราวด์ ซึ่งช่วยให้กระแสสูงทำงานอย่างปลอดภัยบน PCB
เราสามารถเห็นได้จากภาพด้านบนว่าการกำหนดเส้นทางอาร์เรย์ 5x8 สำหรับ Lumina Shield สำหรับ Arduino เป็นเรื่องง่ายเพียงใดโดยใช้ไฟ LED ใหม่เหล่านี้เพื่อการเปรียบเทียบ เราได้รวมการออกแบบอาร์เรย์ 16x16 แบบเก่าโดยใช้ WS2812 ไว้ด้วย ไฟล์การออกแบบสำหรับ Lumina Shield สามารถพบได้ในที่เก็บ Github นี้ สิ่งสำคัญประการหนึ่งที่ควรทราบคือ ด้วยเหตุผลที่เราไม่สามารถเข้าใจได้ เลย์เอาต์สำหรับ WS2812B มีรอยบากเล็กน้อยที่มุมของแพ็คเกจซึ่งระบุพิน 3 แทนที่จะเป็นพิน 1! เราจำเป็นต้องให้ความสนใจเป็นพิเศษเมื่อทำการบัดกรีด้วยมือ เพื่อที่เราจะได้ไม่ต้องปรับทิศทางโมดูลเหมือนกับที่ทำกับไอซีทั่วไป (หรือ WS2812 สำหรับเรื่องนั้น) *.tftable { ขนาดตัวอักษร: 12.0px; สี: rgb(251, 251, 251); ความกว้าง: 100.0%; ความกว้างของเส้นขอบ: 1.0px; เส้นขอบสี: rgb (104, 103, 103); border-collapse: ยุบ; } *.tftable th { ขนาดตัวอักษร: 12.0px; พื้นหลังสี: rgb (23, 21, 21); ความกว้างของเส้นขอบ: 1.0px; ช่องว่างภายใน: 8.0px; สไตล์เส้นขอบ: แข็ง; เส้นขอบสี: rgb (104, 103, 103); text-align: ซ้าย; } *.tftable tr { สีพื้นหลัง: rgb (47, 47, 47); } *.tftable td { ขนาดตัวอักษร: 12.0px; ความกว้างของเส้นขอบ: 1.0px; ช่องว่างภายใน: 8.0px; สไตล์เส้นขอบ: แข็ง; เส้นขอบสี: rgb(104, 103, 103); } *.tftable tbody tr: hover { สีพื้นหลัง: rgb (23, 21, 21); } Pin # Symbol Function * Notch บนแพ็คเกจระบุพินนี้ 1 LED แหล่งจ่ายไฟ VDD 2 DO ควบคุมเอาต์พุตสัญญาณข้อมูล 3* กราวด์ VSS 4 อินพุตสัญญาณข้อมูลควบคุม DIN รายละเอียดที่ควรกล่าวถึงอีกประการหนึ่งคือหมุดกำลัง (VDD) และกราวด์ (VSS) อยู่แนวทแยงมุมซึ่งกันและกัน ดังนั้นรอยต่อของหมุดเหล่านี้จึงค่อนข้างหนา! อย่างไรก็ตาม หากเราทำผิดพลาดในการบัดกรีโมดูล 'ย้อนกลับ' เราจะลัดวงจร Power and Ground (พิน # 1 และ 3) โชคดีสำหรับเราอย่างที่เราเห็นในขั้นตอนต่อไป WorldSemi ได้รวมวงจรป้องกันขั้วย้อนกลับที่จะป้องกันไม่ให้ WS2812B เสียหายจากข้อผิดพลาดนี้ - แน่นอนเราแนะนำให้หลีกเลี่ยงข้อผิดพลาดทั้งหมด:)
ขั้นตอนที่ 3: WS2812B เทียบกับ WS2812: LEDS ที่สว่างขึ้น & ปรับปรุงความสม่ำเสมอของสี (?)
เมื่อ WS2812B เปิดตัว WorldSemi เน้นย้ำว่ามีไฟ LED ที่สว่างกว่าและความสม่ำเสมอของสีที่ดีกว่า WS2812 (ที่มา: WS2812B_vs_WS2812.pdf) อย่างไรก็ตาม จากการตรวจสอบเอกสารข้อมูลจริงของอุปกรณ์ทั้งสอง เราสามารถสังเกตได้ว่าข้อกำหนดสำหรับความส่องสว่างของ LED เหมือนกันทั้งสองอย่าง: *.tftable { font-size: 12.0px; สี: rgb(251, 251, 251); ความกว้าง: 100.0%; ความกว้างของเส้นขอบ: 1.0px; เส้นขอบสี: rgb (104, 103, 103); border-collapse: ยุบ; } *.tftable th { ขนาดตัวอักษร: 12.0px; พื้นหลังสี: rgb (23, 21, 21); ความกว้างของเส้นขอบ: 1.0px; ช่องว่างภายใน: 8.0px; สไตล์เส้นขอบ: แข็ง; เส้นขอบสี: rgb (104, 103, 103); text-align: ซ้าย; } *.tftable tr { สีพื้นหลัง: rgb (47, 47, 47); } *.tftable td { ขนาดตัวอักษร: 12.0px; ความกว้างของเส้นขอบ: 1.0px; ช่องว่างภายใน: 8.0px; สไตล์เส้นขอบ: แข็ง; เส้นขอบสี: rgb(104, 103, 103); } *.tftable tbody tr: hover { สีพื้นหลัง: rgb (23, 21, 21); } ความยาวคลื่นสี (มม.) ความเข้มของการส่องสว่าง (mcd) สีแดง 620–630 620–630 สีเขียว 515–530 1100–1400 สีน้ำเงิน 465–475 200–400 ภาพด้านบนแสดง Arduino Uno ที่เชื่อมต่อกับบอร์ดฝ่าวงล้อมสี่แผง สองคนถือ WS2812B ในขณะที่อีกสองคนมี WS2812 เราลองใช้การวัดภาพมาตรฐานเพื่อดูว่าเราเห็นความแตกต่างอย่างมีนัยสำคัญในด้านความสว่างหรือความสม่ำเสมอของสีหรือไม่ แต่ผลลัพธ์ก็ไม่สามารถสรุปได้ เพื่อที่จะระบุได้อย่างชัดเจนว่าโมดูลทั้งสองต่างกันในส่วนนี้หรือไม่ เราจะต้องทำการทดสอบโดยใช้สเปกโตรโฟโตมิเตอร์ เนื่องจากเราไม่มีข้อมูลในขณะที่เขียนนี้ เราจึงสามารถอ้างอิงถึงข้อมูลในเอกสารข้อมูลที่เกี่ยวข้องของผลิตภัณฑ์เท่านั้น: WS2812.pdf และ WS2812B.pdf
ขั้นตอนที่ 4: WS2812B เทียบกับ WS2812: วงจรป้องกันการกลับขั้ว (✓)
หนึ่งในคุณสมบัติใหม่ที่เราสามารถทดสอบได้โดยตรงคือวงจรป้องกันขั้วย้อนกลับที่รวมอยู่ในการออกแบบของ WS2812B ตามที่วิดีโอแสดง การย้อนกลับของพินพาวเวอร์และกราวด์บางครั้งอาจทำให้ WS2812 เสียหายได้ แต่ไม่ใช่โมดูล WS2812B คุณลักษณะนี้มีประโยชน์มากเมื่อทำงานกับแถบที่เรามักใช้แหล่งจ่ายไฟภายนอกที่มีอัตราแอมแปร์สูง และเราพบข้อผิดพลาดส่วนใหญ่ระหว่างการเดินสาย เรายังคงแนะนำให้ตรวจสอบการเชื่อมต่อและสายไฟอีกครั้งก่อนที่จะจ่ายไฟให้กับวงจรอิเล็กทรอนิกส์ใดๆ แต่เป็นที่ยอมรับว่าเป็นเรื่องดีที่รู้ว่าในโอกาสที่หายากเหล่านั้นที่เราทำผิดพลาดจะมีกลไกป้องกันการทำงานผิดพลาดเพื่อปกป้องอุปกรณ์อันล้ำค่าของเรา
ขั้นตอนที่ 5: WS2812B เทียบกับ WS2812: ปรับปรุงโครงสร้างภายใน (?)
คุณลักษณะสุดท้ายที่รวมอยู่ใน WS812B คือการแยกวงจรหลักสองวงจรในอุปกรณ์ นั่นคือ การควบคุมและการให้แสง การแยกสองสิ่งนี้ออกจากกัน ผู้ผลิตรายงานการกระจายความร้อนที่ดีขึ้นและการควบคุมที่แข็งแกร่งยิ่งขึ้น คุณลักษณะใหม่นี้มีความคลุมเครือมากขึ้น เนื่องจากเราไม่มีวิธีที่ดีในการทดสอบการกระจายความร้อนบน PCB เพื่อความทนทานที่ดีขึ้นในการสื่อสารและการถ่ายโอนข้อมูล เราไม่พบความแตกต่างด้านประสิทธิภาพที่มีนัยสำคัญระหว่าง WS2812 และ WS2812B หลังจากการทดสอบง่ายๆ สองสามอย่างที่เราดำเนินการกับโมดูลทั้งสองแบบเคียงข้างกัน
ขั้นตอนที่ 6: การเขียนโปรแกรมไฟ LED WS2812B RGB
แม้จะมีการเปลี่ยนแปลงทั้งหมดในตระกูล WS28XX เวอร์ชันล่าสุดนี้ แต่โปรโตคอลการสื่อสารที่จำเป็นในการควบคุมสีและความสว่างยังคงไม่เปลี่ยนแปลงจากรุ่นก่อน เรายังคงสามารถใช้ห้องสมุดที่ยอดเยี่ยมที่พัฒนาโดยเพื่อนผู้ผลิตจาก Adafruit, PJRC และโครงการ FastSPI สำหรับการเรียนรู้เพิ่มเติมเกี่ยวกับสิ่งที่เกิดขึ้นจริงภายใต้ประทุนของอุปกรณ์ RGB LED ที่ยอดเยี่ยมนี้ เราได้รวบรวม Instructable ที่มีรายละเอียดอย่างละเอียดซึ่งอธิบายการใช้งานโปรโตคอลควบคุมแบบทีละบิต (ตั้งใจเล่นสำนวน) ขอบคุณล่วงหน้าสำหรับการตรวจสอบ!https://www.instructables.com/id/Bitbanging-step-by-step-Arduino-control-of-WS2811-
แนะนำ:
วิธีทำเพลง Reactive WS2812B LEDs ด้วย Multi-pattern: 4 ขั้นตอน
วิธีทำเพลง Reactive WS2812B LEDs ด้วย Multi-pattern: WS2812, WS2812B เป็นแหล่งกำเนิดแสง LED ที่ควบคุมอย่างชาญฉลาด มีชิปควบคุมในตัวและมี 4 พิน V+,V-,ดิน & Dout สำหรับการควบคุม LED เหล่านี้ เราต้องการใช้ MCU เช่น Arduino, PIC หรือ Rasberry pie ฉันใช้ Arduino UNO สำหรับโครงการนี้
IoT จาก 20$ Smart Home เทียบกับ Amazon Alexa: 5 ขั้นตอน
IoT ที่ใช้ 20$ Smart Home เทียบกับ Amazon Alexa: สวัสดีทุกคนฉันหวังว่าโครงการนี้จะทำให้เกิดการปฏิวัติครั้งใหญ่ในด้านระบบอัตโนมัติด้วยมุมมองราคาต่ำ คุณสามารถวางโครงการนี้ไว้ข้างสวิตช์บอร์ดและควบคุมอุปกรณ์ทั้งหมดที่เชื่อมต่อ ไปที่กระดาน โครงการนี้ใช้เ
การอัพเกรด HP Scanjet5: 6 ขั้นตอน
อัปเกรด HP Scanjet5: อัปเกรดเครื่องสแกนเครือข่าย HP Scanjet5 ด้วยระบบ min-itx และ GNU/Linux เพื่อให้ได้ความเร็วในการประมวลผลที่เร็วขึ้น และเพิ่มยูทิลิตี้เพิ่มเติม เช่น การจัดการเอกสาร การจัดเก็บไฟล์และเซิร์ฟเวอร์
DIY PC Ambient Lighting โดยใช้ Arduino และ WS2812b LEDs: 6 ขั้นตอน (พร้อมรูปภาพ)
DIY PC Ambient Lighting โดยใช้ Arduino และ WS2812b LEDs: ต้องการความลึกมากขึ้นสำหรับประสบการณ์การเล่นเกม/การรับชมภาพยนตร์ของฉัน ดังนั้นนี่คือวิธีที่ฉันติดตั้งไฟแวดล้อม ก่อนที่เราจะเริ่มต้น โปรเจ็กต์นี้ต้องการให้คุณรู้วิธีใช้หัวแร้งและพื้นฐานอื่นๆ เครื่องมือ หากคุณไม่สะดวกบัดกรี
การอัพเกรด Isolation Transformer สำหรับแอมป์กีต้าร์รุ่นเก่า: 11 ขั้นตอน (พร้อมรูปภาพ)
การอัพเกรด Isolation Transformer สำหรับแอมป์กีต้าร์รุ่นเก่า: กอบกู้ผิวของคุณ! อัพเกรดแอมป์เก่าที่น่ากลัวด้วยหม้อแปลงแยก ในสมัยก่อนเครื่องขยายเสียง (และวิทยุ) รุ่นเก่าๆ สองสามตัวดึงพลังงานโดยการแก้ไข "ไฟหลัก" ในครัวเรือนโดยตรง สายไฟ นี่เป็นวิธีปฏิบัติที่ไม่ปลอดภัยโดยเนื้อแท้ ที่สุด