แน่นอนว่าคุณเคยเห็นผู้ผลิตมากกว่าหนึ่งครั้งแสดงโปรเจ็กต์โดยใช้ชุดไฟ LED RGB เหล่านี้ การใช้งานของแถบเหล่านี้มีตั้งแต่การตกแต่งแบบเรียบง่ายที่สามารถเปลี่ยนสีได้ตามเหตุการณ์ภายนอก ไปจนถึงใช้สำหรับการแข่งขันของแสง และอื่นๆ อีกมากมาย นั่นคือเหตุผลที่ในบทความนี้เราจะแนะนำข้อมูลที่สำคัญที่สุดทั้งหมดที่คุณควรรู้ นีโอพิกเซล และจะสามารถบูรณาการได้อย่างไรและ ควบคุมด้วย Arduino.
Neopixel คืออะไร?
Neopixel เป็นเพียงเครื่องหมายการค้าจดทะเบียนของ Adafruit Industries. อย่างไรก็ตาม คำทั่วไปสำหรับส่วนประกอบเหล่านี้คือไฟ LED RGB ที่สามารถระบุตำแหน่งแยกกันได้ (เช่น: SK6812, WS2811, WS2812,…) กล่าวอีกนัยหนึ่ง เป็นวงจรลอจิกที่มีไฟสีเหล่านี้จะทำหน้าที่เป็นผลจากสัญญาณควบคุม การแสดงสีที่ต่างกัน ดำเนินการลำดับการเพิ่มพลังบางอย่าง เป็นต้น
เป็นสิ่งสำคัญที่คุณต้องรู้ว่าไฟ LED RGB แต่ละดวงที่ประกอบเป็นเมทริกซ์นั้นใช้พินหรือตัวเชื่อมต่อ 4 ตัว ดังนั้น pinout ของคุณ มันเป็น:
- 5V: อุปทานระดับสูง
- GND: พลังงานระดับต่ำหรือกราวด์
- DIN: ปักหมุดเพื่อรับข้อมูลสี
- DO: ปักหมุดเพื่อส่งข้อมูลสี
นอกจากนั้น ยังรวมวงจรอิเล็กทรอนิกส์เข้ากับหน่วยความจำที่มีความสามารถ เก็บ 3 ไบต์หนึ่งอันสำหรับแต่ละสี สำหรับข้อมูลเพิ่มเติม คุณสามารถอ่านเอกสารข้อมูลหรือเอกสารสำหรับรุ่นเฉพาะที่คุณซื้อ เนื่องจากอาจมีรูปแบบต่างๆ
ซื้อ Neopixel ได้ที่ไหน
ศรี Buscas ซื้อนีโอพิกเซล หรือองค์ประกอบที่คล้ายกันสำหรับโครงการ DIY ของคุณ คุณสามารถหาได้ในร้านขายอุปกรณ์อิเล็กทรอนิกส์เฉพาะบางแห่งหรือใน Amazon คำแนะนำบางประการในเรื่องนี้คือ:
รวม Neopixel กับ Arduino UNO
ไปยัง รวม Neopixel หรือแบรนด์อื่นๆ เข้ากับบอร์ด Arduino ของคุณ และเริ่มสร้างโค้ดใน Arduino IDE เพื่อให้สามารถควบคุมสีและแสงได้ คุณจะต้อง:
- ปลาคา Arduino UNO Rev3
- เมทริกซ์ LED ชนิดนีโอพิกเซล
- ความต้านทาน 470 Ω
- ตัวเก็บประจุด้วยไฟฟ้าขนาด 1000 µF ≥6.3V
- เขียงหั่นขนม
- สายเชื่อมต่อ
- 5V ที่แหล่งจ่ายไฟ 1A และขั้วต่อ
การเชื่อมต่อระหว่าง Neopixel matrix และ Arduino UNO เป็นอย่างที่เห็นในภาพก่อนหน้า เมื่อเชื่อมต่อแล้ว สิ่งต่อไปคือการเริ่มต้นด้วย รหัส Arduino IDE. ในกรณีนี้คุณต้องใช้ห้องสมุดชื่อ Adafruit NeoPixel ซึ่งคุณสามารถดาวน์โหลดได้จากที่นี่และเริ่มทดสอบและแก้ไขตัวอย่างที่มาพร้อมกัน ตัวอย่างเช่น คุณสามารถเริ่มต้นด้วย Simple ซึ่งคุณจะได้รับสิ่งต่อไปนี้
#include <Adafruit_NeoPixel.h> //Incluir la biblioteca #define PIN 6 //Pin en el que has conectado el Neopixel // Número de píxeles encadenados (en este caso 21, pero puedes modificarlo según necesites) #define NUMPIXELS 21 // Inicializamos el objeto "pixeles" Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); // Argumento 1 = Número de pixeles encadenados // Argumento 2 = Número del pin de Arduino utilizado con pin de datos // Argumento 3 = Banderas de tipo de pixel: // NEO_KHZ800 800 KHz bitstream (most NeoPixel products w/WS2812 LEDs) // NEO_KHZ400 400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers) // NEO_GRB Pixels are wired for GRB bitstream (most NeoPixel products) // NEO_RGB Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2) // NEO_RGBW Pixels are wired for RGBW bitstream (NeoPixel RGBW products) #define DELAYVAL 500 //timpo de espera en ms void setup() { pixels.begin(); // Inicializamos el objeto "pixeles" } void loop() { pixels.clear(); // Apagamos todos los LEDs // El primer pixel de una cadena es el #0, el segundo es el #1, y así sucesivamente hasta el n-1 for(int i=0; i<NUMPIXELS; i++) { // Modificamos el LED #i, encendiendolo con un color verde moderadamente brillante pixels.setPixelColor(i, pixels.Color(0, 150, 0)); pixels.show(); // Mandamos todos los colores con la actualización hecha delay(DELAYVAL); // Pausa antes de modificar el color del siguiente LED } }