Add Favorite ตั้งหน้าแรก
ตำแหน่ง:หน้าแรก >> ข่าว >> อิเล็กตรอน

หมวดหมู่สินค้า

ผลิตภัณฑ์แท็ก

ไซต์ Fmuser

WS2812B ไฟ LED RGB ที่สามารถระบุตำแหน่งได้ | ควบคุมโดยใช้ Arduino

Date:2021/10/18 21:55:58 Hits:
ในโครงการนี้ เราจะมาดูผลิตภัณฑ์ที่น่าสนใจที่เรียกว่า WS2812B Addressable LEDs พวกเขาเป็นไฟ LED RGB ที่สามารถระบุตำแหน่งแยกกันได้และเรียกโดยใช้ชื่ออื่นเช่น NeoPixel โดย Adafruit เป็นต้น ในบทช่วยสอนนี้ เราจะเรียนรู้เกี่ยวกับไฟ LED WS2812B โครงสร้างภายในและโครงสร้าง รวมถึงวิธีควบคุมไฟ LED ที่กำหนดแอดเดรสได้แต่ละรายการโดยใช้ Arduino บทนำโครงร่าง WS2812B ไฟ LED แอดเดรส WS2812B LED Application Circuitวิธีควบคุม WS2812B LED โดยใช้ Arduino แผนภาพวงจรส่วนประกอบที่จำเป็นการเขียนโปรแกรม ArduinoCodeConclusionIntroduction ประเภทของโครงการที่เกี่ยวข้องกับ LED คุณอาจเคยใช้ LED แบบไม่ต่อเนื่อง (ทั้งแบบผ่านรูหรือ SMD) ไฟ LED เหล่านี้อาจเป็นไฟ LED สีเดียวหรือไฟ LED RGB ข้อเสียเปรียบหลักของ LED แบบไม่ต่อเนื่องคือ หากคุณใช้ในอาร์เรย์ คุณจะสูญเสียสิทธิ์ในการควบคุมแต่ละ LED แยกกัน ตัวอย่างเช่น หากคุณเชื่อมต่อ LED สามหรือสี่ดวงกับขาเดียวของ Arduino โดยใช้ทรานซิสเตอร์ ไฟ LED ทั้งหมดในอาร์เรย์จะมีพฤติกรรมเหมือนกัน กล่าวคือ การควบคุมความสว่างหรือการเปลี่ยนสี อีกสถานการณ์หนึ่งคือคุณอาจเคยใช้ไฟ LED Strip สำหรับตกแต่งคริสต์มาสหรือไฟบ้านทั่วไป คุณอาจสังเกตเห็นว่าแม้ในไฟ LED Strip ราคาแพง คุณไม่มีคุณสมบัติในการควบคุม LED แต่ละดวง หากเป้าหมายของคุณคือการควบคุม LED แต่ละดวงในแถบเดียว WS2812B Addressable RGB LED คือคำตอบสำหรับคุณ WS2812B Addressable LEDs WS2812B แอดเดรส LED Strip เป็นแหล่งกำเนิดแสงอัจฉริยะที่มี IC ควบคุมและ LED RGB ในแพ็คเกจเดียวกัน ซึ่งมักจะอยู่ในรูปแบบ SMD 5050 รูปภาพต่อไปนี้แสดงแถบ LED WS2812B เมื่อมองแวบแรก ดูเหมือนว่าแถบ LED ปกติ แต่เมื่อตรวจสอบอย่างละเอียดถี่ถ้วนแล้ว คุณจะพบ WS2812B LED Control IC ที่รวมอยู่ในแพ็คเกจ LED SMD 5050 RGB ภาพที่เป่าขึ้นต่อไปนี้แสดงสิ่งเดียวกัน บล็อก LED WS2812B แต่ละรายการมีสี่พินคือ VDD, VSS (GND), DIN และ DOUT หน้าที่ของพินเหล่านี้ง่ายมาก และตารางต่อไปนี้ให้คำอธิบายฟังก์ชันอย่างง่ายของพิน PinFunctionVDDPower Supply for LEDVSSGroundDINControl Data Signal InputDOUTควบคุมข้อมูลสัญญาณเอาท์พุต แหล่งจ่ายไฟสำหรับ WS2812B IC นั้นจ่ายผ่านพิน VDD WS2812B LED Application Circuit เพื่อให้เข้าใจ วิธีที่ LED WS2812B สามารถควบคุมแยกกันได้ วงจรแอปพลิเคชันต่อไปนี้จะมีประโยชน์ ไฟ LED WS2812B ทั้งหมดเชื่อมต่อกันแบบน้ำตก โดยที่ DO ของ LED ตัวแรกเชื่อมต่อกับ DIN ของ LED ตัวที่สอง เป็นต้น แต่ LED ตัวแรกต้องรับข้อมูลผ่านพิน DIN จากไมโครคอนโทรลเลอร์ เช่น Arduino รูปภาพต่อไปนี้แสดงไดอะแกรมบล็อกวงจรแอปพลิเคชันทั่วไป โปรโตคอลการถ่ายโอนข้อมูลที่ใช้โดยไฟ LED WS2812B คือโหมด NRZ พอร์ต DIN แรกของอาร์เรย์ LED WS2812B รับข้อมูลจากไมโครคอนโทรลเลอร์ ข้อมูลสำหรับแต่ละพิกเซลเป็นแบบ 24 บิตที่ประกอบด้วยข้อมูลควบคุม LED สีแดง สีเขียว และสีน้ำเงินแต่ละพิกเซลแบบ 8 บิต ลำดับของข้อมูลต้องเป็น GRB และองค์ประกอบของข้อมูล 24 บิตแสดงอยู่ด้านล่าง โปรดทราบว่าข้อมูลบิตสูงจะถูกส่งก่อน เมื่อบล็อก WS2812B แรกได้รับข้อมูล 24 บิตแรก ข้อมูลจะถูกส่งไปยังสลักภายในเพื่อถอดรหัสเพิ่มเติม ข้อมูลที่เหลือจะถูกเปลี่ยนรูปแบบโดยการปรับรูปร่างสัญญาณและวงจรขยายสัญญาณ และส่งผ่านไปยังพิกเซลถัดไปในน้ำตกผ่านพิน DO วิธีควบคุม WS2812B LED โดยใช้ Arduino ตอนนี้ให้เราดำเนินการควบคุม WS2812B LED Array โดยใช้ Arduino ก่อนที่จะไปออกแบบแผนผังเพิ่มเติม มีสิ่งสำคัญอย่างหนึ่งที่เราจำเป็นต้องกล่าวถึงคือ ie แหล่งจ่ายไฟให้กับโครงการแต่ละพิกเซล LED WS2812B แต่ละตัวมีไฟ LED สามดวงและ IC ควบคุม ดังนั้นความต้องการปัจจุบันของหนึ่งพิกเซลอยู่ที่ประมาณ 60 mA หากคุณมีแถบที่มีไฟ LED ที่สามารถระบุตำแหน่งได้ WS20B จำนวน 2812 ดวง ความต้องการในปัจจุบันทั้งหมดคือ 20 * 60 mA = 1.2 A ซึ่งเป็นมากกว่าที่ Arduino สามารถจ่ายได้ ไม่ว่าจะผ่านทางพอร์ต USB (ซึ่งสามารถจ่ายไฟได้สูงสุด 300 mA) หรือผ่านแจ็คแบบบาร์เรล 5V (ซึ่งสามารถจ่ายกระแสไฟได้สูงสุด 900 mA) ดังนั้น วิธีที่ดีที่สุดในการเปิดเครื่องโครงการคือ ทั้ง Arduino และ WS2812B LED Strip ใช้แหล่งจ่ายไฟ 5v ภายนอกที่สามารถจ่ายกระแสไฟได้เพียงพอ ตอนนี้ในส่วนของแหล่งจ่ายไฟของโครงการมีความชัดเจนแล้ว ตอนนี้เราสามารถดำเนินการตามแผนผังของโครงการได้ แผนภาพวงจร รูปภาพต่อไปนี้แสดง การเชื่อมต่อระหว่าง Arduino UNO และ WS2812B RGB LED Strip 5V ของ Arduino UNO และ LEDs เชื่อมต่อกับแหล่งจ่ายไฟภายนอกพร้อมกับ GND (VSS) พิน DIN ของ LED Strip เชื่อมต่อกับ Digital IO pin 7 ของ Arduino ผ่านตัวต้านทาน 330Ω ส่วนประกอบที่จำเป็นArduino UNOWS2812B LEDs5V Power อุปทาน (ขั้นต่ำ 2A) ตัวต้านทาน330Ωการเขียนโปรแกรม Arduino ขั้นตอนแรกสำหรับการเขียนโปรแกรม Arduino คือการดาวน์โหลดไลบรารีที่รองรับที่เรียกว่า "FastLED" คุณสามารถดาวน์โหลดไลบรารีได้จากลิงค์ต่อไปนี้: "FastLED Library" แยกเนื้อหาของไฟล์ zip และเปลี่ยนชื่อโฟลเดอร์เป็น "FastLED" #define LEDPIN 7 #define NUMOFLEDS ไฟ LED CRGB 10 ดวง [NUMOFLEDS]; การตั้งค่าเป็นโมฆะ () { FastLED.addLeds(ไฟ LED, NUMOFLEDS); } วงเป็นโมฆะ () { สำหรับ (int i = 0; i <= 9; i++) { leds [i] = CRGB ( 0, 0, 255); FastLED.show(); ล่าช้า(40); } สำหรับ (int i = 9; i >= 0; i--) { leds[i] = CRGB ( 255, 0, 0); FastLED.show(); ล่าช้า (40); } }บทสรุป บทแนะนำง่ายๆ เกี่ยวกับ WS2812B Individually Addressable LEDs มีให้ในบทช่วยสอนนี้ตามโครงการเพื่อแสดงให้เห็นว่าเราสามารถควบคุม WS2812B LEDs ด้วย Arduino ได้อย่างไร หากคุณเข้าใจพื้นฐานเหล่านี้แล้ว คุณสามารถดำเนินโครงการได้หลากหลาย กระทู้ที่เกี่ยวข้อง:การแสดง POV โดยใช้ Arduinoวิธีการใช้ 74HC595 Shift Register กับ Arduino?555 LED Flasher Circuit | 555 IC และ 4017 ICArduino Multitasking TutorialUnbiased Electronic Dice with LEDsLED Resistor Calculator | Need for Series Resistor

ฝากข้อความ 

Name *
อีเมลล์ *
เบอร์โทรศัพท์
ที่อยู่
รหัส ดูรหัสยืนยันหรือไม่ คลิกฟื้นฟู!
ระบุความประสงค์หรือขอข้อมูลเพิ่มเติม
 

รายการข้อความ

ความคิดเห็นกำลังโหลด ...
หน้าแรก| เกี่ยวกับเรา| ผลิตภัณฑ์| ข่าว| ดาวน์โหลด| ระบบขอใช้บริการ| ข้อเสนอแนะ| ติดต่อเรา| Service

ติดต่อ: Zoey Zhang เว็บ: www.fmuser.net

Whatsapp / Wechat: + 86 183 1924 4009

Skype: tomleequan อีเมล์: [ป้องกันอีเมล] 

เฟซบุ๊ก: FMUSERBROADCAST Youtube: FMUSER ZOEY

ที่อยู่เป็นภาษาอังกฤษ: Room305, HuiLanGe, No.273 HuangPu Road West, TianHe District., GuangZhou, China, 510620 ที่อยู่เป็นภาษาจีน: 广州市天河区黄埔大道西273号惠兰阁305(3E)