สารบัญ:

เริ่มต้นใช้งาน NeoPixel / WS2812 RGB LED: 8 ขั้นตอน (พร้อมรูปภาพ)
เริ่มต้นใช้งาน NeoPixel / WS2812 RGB LED: 8 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: เริ่มต้นใช้งาน NeoPixel / WS2812 RGB LED: 8 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: เริ่มต้นใช้งาน NeoPixel / WS2812 RGB LED: 8 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: วิธีใช้ Arduino ESP8266 WS2812b NeoPixel : ESP8266 ควบคุม LED WS2812B NeoPixel 2024, กรกฎาคม
Anonim
Image
Image
เริ่มต้นใช้งาน NeoPixel / WS2812 RGB LED
เริ่มต้นใช้งาน NeoPixel / WS2812 RGB LED
เริ่มต้นใช้งาน NeoPixel / WS2812 RGB LED
เริ่มต้นใช้งาน NeoPixel / WS2812 RGB LED
เริ่มต้นใช้งาน NeoPixel / WS2812 RGB LED
เริ่มต้นใช้งาน NeoPixel / WS2812 RGB LED

[เล่นวีดีโอ]

ในคำแนะนำนี้ เราจะสำรวจเกี่ยวกับ RGB LED ที่กำหนดแอดเดรสได้ (WS2812) หรือที่รู้จักในชื่อ Adafruit NeoPixel NeoPixel คือกลุ่มผลิตภัณฑ์วงแหวน แถบ แผ่นกระดาน และแท่งไฟ LED ขนาดเล็กที่กะพริบเป็นจังหวะ สิ่งเหล่านี้สามารถต่อโซ่จากที่หนึ่งไปยังอีกที่หนึ่งได้ ดังนั้นคุณจึงสามารถจ่ายไฟและตั้งโปรแกรม NeoPixels แนวยาวเข้าด้วยกันเพื่อสร้างสตริง LED ที่ไม่มีที่สิ้นสุด คุณสามารถใช้แถบ LED เหล่านี้เพื่อเพิ่มเอฟเฟกต์แสงที่ซับซ้อนให้กับโครงการของคุณ

คุณสามารถค้นหาโครงการทั้งหมดของฉันได้ที่:

มาพร้อมกับแพ็คเกจติดตั้งบนพื้นผิวขนาดเล็ก 5050 (5 มม. x 5 มม.) ซึ่งประกอบด้วยไฟ LED สว่างสามดวง (สีแดง สีเขียว และสีน้ำเงิน) และชิปไดรเวอร์ในตัว (WS2811) ต้องการอินพุตข้อมูลเพียงรายการเดียวเพื่อควบคุมสถานะ ความสว่าง และสีของ LED ทั้งสามดวง ด้วยการเชื่อมต่อพินเอาท์พุตข้อมูลเข้ากับพินอินพุทข้อมูลของแถบถัดไป เป็นไปได้ที่จะต่อเดซี่เชน LED ให้มีความยาวตามทฤษฎี

ด้วยค่า RGB ผสมกัน (0 - 255) คุณสามารถสร้างสีได้แทบทุกสี ดังนั้น RGB LED ที่ควบคุมได้จึงเป็น LED สากล

ขั้นตอนที่ 1: ชิ้นส่วนและเครื่องมือที่ใช้

อะไหล่และเครื่องมือที่ใช้
อะไหล่และเครื่องมือที่ใช้

อะไหล่:

1. 8 x 8 นีโอเมทริกซ์ (บางกู๊ด)

2. Arduino Uno (อเมซอน)

3. พาวเวอร์ซัพพลาย 5V /2A (อเมซอน)

4. DC Jack (อเมซอน)

5. สายจัมเปอร์ (Amazon)

6. 8 x 32 เมทริกซ์ WS2812 ยืดหยุ่น (Sparkfun)

เครื่องมือ:

1. หัวแร้ง (อเมซอน)

2. เครื่องตัดลวด / เครื่องปอก (Amazon)

ขั้นตอนที่ 2: ประเภทของ RGB LED Strip

ประเภทของ RGB LED Strip
ประเภทของ RGB LED Strip
ประเภทของ RGB LED Strip
ประเภทของ RGB LED Strip

แถบ LED RGB มี 2 ประเภทหลัก: แถบอนาล็อกและแถบดิจิตอล

1. แถบอนาล็อก:

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

ในแต่ละแถบเหล่านี้ คุณจะเห็น (จากซ้ายไปขวา) ก่อน LED ตามด้วยตัวต้านทาน SMD

2. แถบดิจิตอล:

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

สังเกตลูกศรแสดงทิศทางข้อมูลหากคุณต่อแถบในทิศทางย้อนกลับจะไม่ทำงาน

ขั้นตอนที่ 3: ประเภทของแถบ LED RGB ที่สามารถระบุตำแหน่งได้

ประเภทของแอดเดรส RGB LED Strip
ประเภทของแอดเดรส RGB LED Strip
ประเภทของแอดเดรส RGB LED Strip
ประเภทของแอดเดรส RGB LED Strip
ประเภทของแอดเดรส RGB LED Strip
ประเภทของแอดเดรส RGB LED Strip
ประเภทของแอดเดรส RGB LED Strip
ประเภทของแอดเดรส RGB LED Strip

LED ระบุตำแหน่งมาพร้อมกับหมายเลขรุ่นต่างๆ เช่น WS2801, WS2811, WS2812 หรือ WS2812B หากคุณเพิ่งเริ่มใช้ LED ประเภทนี้ คุณอาจสับสนระหว่างนั้น ดังนั้นให้ระบุก่อน โดยทั่วไป WS2801 และ WS2811 เป็นชื่อของ IC ซึ่งสามารถควบคุม LED ได้สูงสุด 3 ดวง อย่างไรก็ตาม WS2812 เป็นเวอร์ชันที่ได้รับการปรับปรุงซึ่ง WS2811 IC ถูกรวมเข้ากับแพ็คเกจ 5050 RGB LED โดยตรง รุ่นล่าสุดคือ WS2812B

ในบทช่วยสอนนี้ เราจะใช้ WS2812B รุ่นล่าสุด

ที่มาของรูปภาพ: Adafruit, Sparkfun, Polou

ขั้นตอนที่ 4: หมุด WS2801 และ WS2811 / WS2812

หมุด WS2801 และ WS2811 / WS2812
หมุด WS2801 และ WS2811 / WS2812
หมุด WS2801 และ WS2811 / WS2812
หมุด WS2801 และ WS2811 / WS2812

รุ่น WS2801 มีอินพุต 4 พิน (Vcc, GND, Data, Clock) ในขณะที่รุ่น WS2811 และ WS2812 มีเพียง 3 พิน

(Vcc, GND และข้อมูล)

PIN - WS2801

5V -> กำลังไฟ (+5V)

CI ->อินพุตสัญญาณนาฬิกา

CO -> สัญญาณนาฬิกา เอาท์พุต

DI -> การป้อนข้อมูล

ทำ -> เอาต์พุตข้อมูล

GND -> กราวด์

PIN WS2812

5V -> กำลังไฟ (+5V) CI -> ไม่มี

CO - >N/A

DI ->การป้อนข้อมูล

ทำ -> เอาต์พุตข้อมูล

GND -> กราวด์

ขั้นตอนที่ 5: พาวเวอร์ซัพพลาย

พาวเวอร์ซัพพลาย
พาวเวอร์ซัพพลาย

ก่อนที่คุณจะเริ่มโครงการแถบ LED ใดๆ สิ่งแรกที่คุณต้องนึกถึงคือ พาวเวอร์ซัพพลาย หนึ่งใน RGB LED เหล่านี้ประกอบด้วย LED 3 ดวง (สีแดง น้ำเงิน และเขียว) เราทราบดีว่า LED ตัวเดียวดึงกระแสไฟประมาณ 20mA ที่ความสว่างสูงสุด ดังนั้น LED WS2812 ตัวเดียวจึงสามารถวาด 3 x 20mA = 60mA ที่ความสว่างสูงสุด - สีขาว

ฉันสามารถเรียกใช้โดยตรงโดย Arduino ได้หรือไม่

คำตอบก็คือไม่ เนื่องจากปริมาณกระแสไฟที่ต้องการสำหรับทั้งแถบจะมากกว่าที่ Arduino ของคุณสามารถรับมือได้

คุณต้องมีแหล่งจ่ายไฟที่มีการควบคุมแยกต่างหาก แหล่งจ่ายไฟต้องให้แรงดันไฟฟ้าที่ถูกต้อง และสามารถจ่ายกระแสไฟได้เพียงพอ ในแถบ WS2812 ส่วนใหญ่ แรงดันไฟฟ้าที่ใช้งานคือ DC 5 โวลต์

ตัวอย่าง: สำหรับ WS2812 8 x 8 เมทริกซ์ (64 LEDs) คุณต้องใช้ 64 x 60mA = 3840 mA (3.84 A) ที่ LED ทั้งหมดที่ตั้งค่าความสว่างสูงสุด (สีขาว) แต่ไม่แนะนำ ให้ลดความสว่างลงเพื่อให้มีอายุการใช้งานสูงสุด

ฉันสามารถแนะนำให้ตั้งค่าความสว่างต่ำกว่า 50% ดังนั้นคุณต้อง 3.84 x 0.5 = 1.92A

ดังนั้นโดยการใช้อัตรากำไรขั้นต้น แหล่งจ่ายไฟที่แนะนำคือ 5V / 2A

ขั้นตอนที่ 6: การเตรียมพาวเวอร์ซัพพลาย

การเตรียมพาวเวอร์ซัพพลาย
การเตรียมพาวเวอร์ซัพพลาย
การเตรียมพาวเวอร์ซัพพลาย
การเตรียมพาวเวอร์ซัพพลาย
การเตรียมพาวเวอร์ซัพพลาย
การเตรียมพาวเวอร์ซัพพลาย
การเตรียมพาวเวอร์ซัพพลาย
การเตรียมพาวเวอร์ซัพพลาย

ง่ายต่อการควบคุมแถบ LED WS2812B โดยไม่ต้องใช้วงจรพิเศษและส่วนประกอบที่ไม่ต่อเนื่อง หากคุณมี Arduino แหล่งจ่ายไฟ 5V และสายจัมเปอร์ไม่กี่เส้น คุณสามารถเล่นกับมันได้

การเตรียมพาวเวอร์ซัพพลาย:

ฉันใช้แหล่งจ่ายไฟที่มีการควบคุม 5V/2A เพื่อใช้งาน LED NeoPixel

เราต้องการการเชื่อมต่อ GND สองครั้ง: อันหนึ่งกับแถบ LED และอีกอันสำหรับ Arduino ดังนั้นฉันจึงบัดกรีสายไฟสองเส้นเข้ากับขั้วลบและอีกเส้นหนึ่งไปยังขั้วบวกของแจ็ค DC

การเชื่อมต่อ Arduino:

การเชื่อมต่อ Arduino นั้นง่ายมาก

แถบ LED DIN -> Arduino D6

พาวเวอร์ซัพพลาย GND -> Arduino GND

หากคุณกำลังใช้แหล่งจ่ายไฟภายนอกเพื่อจ่ายไฟให้กับทั้งแถบ LED และ Arduino คุณต้องเชื่อมต่อแหล่งจ่ายไฟ 5V กับพิน Arduino 5V

แนวปฏิบัติที่ดีตาม Adafruit:

1. การเพิ่มตัวเก็บประจุขนาดใหญ่ (1000 µF, 6.3V หรือสูงกว่า) ระหว่างขั้ว + และ – สิ่งนี้จะช่วยป้องกันกระแสไฟเริ่มต้นจากการทำลายพิกเซล

2. การเพิ่มตัวต้านทาน 300 ถึง 500 โอห์มระหว่างดาต้าพินของไมโครคอนโทรลเลอร์กับอินพุตข้อมูลบน NeoPixel ตัวแรกสามารถช่วยป้องกันไฟกระชากที่อาจสร้างความเสียหายให้กับพิกเซลแรกของคุณได้ โปรดเพิ่มหนึ่งรายการระหว่างไมโครและ NeoPixels ของคุณ

3. เมื่อเชื่อมต่อ NeoPixels กับแหล่งพลังงานสดหรือไมโครคอนโทรลเลอร์ ให้เชื่อมต่อกราวด์ (–) ก่อนทำอย่างอื่นเสมอ ในทางกลับกัน ให้ถอดสายดินออกเมื่อแยกออก

ขั้นตอนที่ 7: ขับ 8x8 Neo Matrix

ขับ 8x8 Neo Matrix
ขับ 8x8 Neo Matrix
ขับ 8x8 Neo Matrix
ขับ 8x8 Neo Matrix
ขับ 8x8 Neo Matrix
ขับ 8x8 Neo Matrix

เมทริกซ์ LED ประกอบด้วยไฟ LED RGB 64 ดวงซึ่งใช้ไดรเวอร์ WS8211 แต่ละพิกเซลสามารถระบุแอดเดรสแยกกันได้ และคุณจะต้องใช้พิน Arduino เพียงพินเดียวเพื่อควบคุมไฟ LED ทั้งหมด

ที่ด้านหลังของเมทริกซ์มีสองพอร์ต: อินพุต (3 พิน) และเอาต์พุต (3 พิน)

พอร์ตอินพุตเชื่อมต่อกับแหล่งจ่ายไฟภายนอก Arduino และ 5V การเชื่อมต่อมีดังนี้

Matrix Arduino

DIN D6

GND GND

เมทริกซ์พาวเวอร์ซัพพลาย

5V- 5V

GNDGND

หมายเหตุ: อย่าลืมเชื่อมต่อ GND ของทั้งพาวเวอร์ซัพพลายและ Arduino

ตอนนี้เพิ่มพลังให้วงจรและอัปโหลดโค้ดเพื่อดูแอนิเมชั่นบางส่วน ฉันได้ตั้งค่าความสว่างของ LED ไว้ที่ประมาณ 30% แล้ว

รหัส Arduino:

รหัสและไลบรารีแนบมาในไฟล์ zip ดาวน์โหลด คุณสามารถดูวิดีโอเพื่อทราบวิธีใช้ซอฟต์แวร์

ขั้นตอนที่ 8: ขับเคลื่อนความยืดหยุ่น 8X32 WS2812 RGB MATRIX

ขับเคลื่อนความยืดหยุ่น 8X32 WS2812 RGB MATRIX
ขับเคลื่อนความยืดหยุ่น 8X32 WS2812 RGB MATRIX
ขับเคลื่อน 8X32 WS2812 RGB MATRIX. ที่ยืดหยุ่นได้
ขับเคลื่อน 8X32 WS2812 RGB MATRIX. ที่ยืดหยุ่นได้

เมทริกซ์ยืดหยุ่น 8x32 นั้นค่อนข้างเจ๋ง ฉันสั่งมันจาก Sparkfun คุณสามารถสร้างแอนิเมชั่น เกม หรือแม้แต่รวมไว้ในโปรเจกต์สิ่งทออิเล็กทรอนิกส์แสนสนุก เหนือสิ่งอื่นใด ต้องขอบคุณ backing ที่ยืดหยุ่นได้ LED Matrix นี้สามารถโค้งงอและโค้งให้เข้ากับพื้นผิวโค้งได้เกือบทุกแบบ

การเชื่อมต่อกับ Arduino นั้นคล้ายกับ NeoPixel LED matrix / Strip อื่น ๆ

Matrix มาพร้อมกับขั้วต่อสายไฟ ไม่จำเป็นต้องบัดกรี

สีเหลือง: GND

สีแดง: +5V

สีเขียว: ดาต้า

หากคุณชอบบทความนี้ อย่าลืมส่งต่อ! ติดตามฉันสำหรับโครงการ DIY และแนวคิดเพิ่มเติม ขอขอบคุณ !!!

แนะนำ: