Arduino - Fita LED NeoPixel
A fita LED RGB NeoPixel é uma fita de LEDs em que a cor e o brilho de cada LED podem ser controlados individualmente. Neste tutorial, vamos aprender a usar o Arduino para controlar a fita LED RGB NeoPixel. Para controlar todos os LEDs da fita NeoPixel, precisamos usar apenas um único pino do Arduino.
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Divulgação: Alguns dos links desta seção são links de afiliado da Amazon. Podemos receber uma comissão pelas compras feitas por meio desses links, sem custo adicional para você. Agradecemos o seu apoio.
Sobre a Fita LED RGB NeoPixel
Pinagem
A Fita LED RGB NeoPixel tem três pinos:
- Pino GND: precisa ser conectado ao GND (0V)
- Pino VCC: precisa ser conectado ao 5V de uma fonte de alimentação externa
- Pino Din: é o pino que recebe o sinal de controle. Ele deve ser conectado a um pino do Arduino.

※ Nota:
A ordem dos pinos pode variar entre fabricantes. SEMPRE use as indicações impressas na Fita LED.
Diagrama de Ligação
This image is created using Fritzing. Click to enlarge image
Como Programar a Fita LED RGB NeoPixel
- Declare um objeto NeoPixel
#define PIN_NEO_PIXEL 4 // Arduino pin that connects to NeoPixel
#define NUM_PIXELS 30 // The number of LEDs (pixels) on NeoPixel
Adafruit_NeoPixel NeoPixel(NUM_PIXELS, PIN_NEO_PIXEL, NEO_GRB + NEO_KHZ800);
- Inicialize o NeoPixel
NeoPixel.begin(); // INITIALIZE NeoPixel strip object (REQUIRED)
- Defina a cor de cada LED individualmente (chamado de pixel).
NeoPixel.setPixelColor(pixel, NeoPixel.Color(255, 0, 0));
- Defina o brilho de toda a fita.
NeoPixel.setBrightness(100); // a value from 0 to 255
※ Nota:
- NeoPixel.setBrightness() é aplicado a todos os pixels da fita LED. Para definir o brilho de cada pixel individualmente, podemos ajustar a escala do valor da cor.
- Os valores definidos por NeoPixel.setBrightness() e NeoPixel.setPixelColor() só têm efeito quando NeoPixel.show() é chamado.
Código Arduino
O código abaixo faz o seguinte:
- Acende os pixels em verde, um por um, com um atraso entre cada pixel
- Apaga todos os pixels por dois segundos
- Acende todos os pixels em vermelho ao mesmo tempo por dois segundos
- Repete o processo acima infinitamente
/*
* Este código de Arduino foi desenvolvido por pt.newbiely.com
* Este código de Arduino é disponibilizado ao público sem nenhuma restrição.
* Para tutoriais completos e diagramas de ligação, visite:
* https://pt.newbiely.com/tutorials/arduino/arduino-neopixel-led-strip
*/
#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h> // Required for 16 MHz Adafruit Trinket
#endif
#define PIN_NEO_PIXEL 4 // Arduino pin that connects to NeoPixel
#define NUM_PIXELS 30 // The number of LEDs (pixels) on NeoPixel
#define DELAY_INTERVAL 250 // 250ms pause between each pixel
Adafruit_NeoPixel NeoPixel(NUM_PIXELS, PIN_NEO_PIXEL, NEO_GRB + NEO_KHZ800);
void setup() {
NeoPixel.begin(); // INITIALIZE NeoPixel strip object (REQUIRED)
}
void loop() {
NeoPixel.clear(); // set all pixel colors to 'off'. It only takes effect if pixels.show() is called
// turn pixels to green one by one with delay between each pixel
for (int pixel = 0; pixel < NUM_PIXELS; pixel++) { // for each pixel
NeoPixel.setPixelColor(pixel, NeoPixel.Color(0, 255, 0)); // it only takes effect if pixels.show() is called
NeoPixel.show(); // send the updated pixel colors to the NeoPixel hardware.
delay(DELAY_INTERVAL); // pause between each pixel
}
// turn off all pixels for two seconds
NeoPixel.clear();
NeoPixel.show(); // send the updated pixel colors to the NeoPixel hardware.
delay(2000); // off time
// turn on all pixels to red at the same time for two seconds
for (int pixel = 0; pixel < NUM_PIXELS; pixel++) { // for each pixel
NeoPixel.setPixelColor(pixel, NeoPixel.Color(255, 0, 0)); // it only takes effect if pixels.show() is called
}
NeoPixel.show(); // send the updated pixel colors to the NeoPixel hardware.
delay(2000); // on time
// turn off all pixels for one seconds
NeoPixel.clear();
NeoPixel.show(); // send the updated pixel colors to the NeoPixel hardware.
delay(2000); // off time
}
Passos Rápidos
- Vá até o ícone Libraries na barra esquerda do Arduino IDE.
- Pesquise “Adafruit NeoPixel” e encontre a biblioteca NeoPixel da Adafruit
- Clique no botão Install para instalar a biblioteca NeoPixel.
- Copie o código acima e abra-o no Arduino IDE
- Clique no botão Upload no Arduino IDE para carregar o código no Arduino
- Veja o efeito dos LEDs
※ Nota:
Para qualquer efeito de LED complicado, oferecemos o serviço de programação pago