Neopixel:它是什麼,它的用途以及如何將它集成到您​​的項目中

新像素

當然,您已經不止一次看到製造商展示使用這些 RGB LED 組的項目。 這些條帶的應用範圍從可以根據一些外部事件改變顏色的簡單裝飾到用於燈光比賽等等。 這就是為什麼在本文中,我們將介紹您應該了解的所有最重要的信息 新像素 以及如何集成和 使用 Arduino 進行控制.

什麼是新像素?

RGB LED 環

Neopixel 只不過是 Adafruit Industries 的註冊商標. 但是,這些組件的通用術語是可單獨尋址的 RGB LED(例如:SK6812、WS2811、WS2812...)。 換句話說,它是一個帶有這些彩色燈的邏輯電路,它將作為控制信號的結果,顯示不同的顏色,執行某些上電序列等。

重要的是您知道構成矩陣的每個 RGB LED 都使用 4 個引腳或連接器,所以 你的針腳 是:

  • 5V:高電平供電。
  • GND:電源低電平或地。
  • DIN:接收顏色信息的引腳。
  • DO:pin 發送顏色信息。

除此之外,它還集成了一個帶有存儲器的電子電路,能夠 存儲 3 個字節, 每種顏色一個。 有關更多信息,您可以閱讀您購買的特定型號的數據表或文檔,因為可能存在差異。

哪裡可以買到 Neopixel

Si buscas 購買新像素 或您的 DIY 項目的類似元素,您可以在一些專門的電子商店或亞馬遜上找到它們。 在這方面的一些建議是:

將 Neopixel 與 Arduino UNO

Neopixel 連接和 Arduino UNO

將 Neopixel 或任何其他品牌與您的 Arduino 板集成 並開始在 Arduino IDE 中創建代碼以控制顏色和照明,您將需要:

  • 盤子 Arduino UNO 版本3
  • Neopixel 型 LED 矩陣
  • 470阻力 Ω
  • 1000 µF 電解電容 6.3V。
  • 麵包板
  • 錐形電纜
  • 5V at 1A 電源和連接器

Neopixel 矩陣與 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
  }
}


成為第一個發表評論

發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。