Arduino Nano ESP32 - Fita LED NeoPixel

A fita NeoPixel é como uma fita de LEDs RGB coloridos, e você pode controlar a cor e o brilho de cada LED por conta própria. Neste guia, vamos descobrir como usar um Arduino Nano ESP32 para controlar a fita LED RGB NeoPixel. Para controlar todos os LEDs da fita NeoPixel, você precisa de apenas um pino no Arduino Nano ESP32.

Hardware Necessário

1×Arduino Nano ESP32
1×Cabo USB Tipo-A para Tipo-C (para PC com USB-A)
1×Cabo USB Tipo-C para Tipo-C (para PC com USB-C)
1×NeoPixel RGB Fita LED
1×1000uF Capacitor
1×470Ω Resistor
1×Fonte de Alimentação 5V
1×(Opcional) Conector de Alimentação DC
1×Fios Jumper
1×Protoboard
1×(Recomendado) Placa de Expansão com Bornes de Parafuso para Arduino Nano
1×(Recomendado) Placa de Expansão Breakout para Arduino Nano
1×(Recomendado) Divisor de Alimentação para Arduino Nano ESP32

Or you can buy the following kits:

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 da fonte de alimentação externa
  • Pino Din: é o pino que recebe o sinal de controle. Ele deve ser conectado a um pino do Arduino Nano ESP32.
Pinagem do NeoPixel

Diagrama de Ligação

Diagrama de Ligação da fita LED RGB NeoPixel do Arduino Nano ESP32

This image is created using Fritzing. Click to enlarge image

Como Programar para a Fita LED RGB NeoPixel

  • Declare um objeto NeoPixel
#define PIN_NEO_PIXEL D2 // The Arduino Nano ESP32 pin connected 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 individual (chamado de pixel).
NeoPixel.setPixelColor(pixel, NeoPixel.Color(255, 0, 0));
  • Defina o brilho de toda a fita.
NeoPixel.setBrightness(200); // a value from 0 to 255

※ Nota:

  • NeoPixel.setBrightness() é usado para todos os pixels da fita LED. Para definir o brilho de cada pixel individual, podemos escalar o valor da cor.
  • Os valores definidos por NeoPixel.setBrightness() e NeoPixel.setPixelColor() só têm efeito quando NeoPixel.show() é chamado.

Código do Arduino Nano ESP32

O código a seguir realiza as seguintes tarefas:

  • Ele muda os pixels sequencialmente para verde, com uma pausa entre cada pixel.
  • Ele desliga todos os pixels por dois segundos.
  • Ele define todos os pixels como vermelho ao mesmo tempo, mantendo esse estado por 1 segundo.
  • Todo esse processo é então repetido indefinidamente.
/* * Este código de Arduino Nano ESP32 foi desenvolvido por pt.newbiely.com * Este código de Arduino Nano ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-nano-esp32/arduino-nano-esp32-neopixel-led-strip */ #include <Adafruit_NeoPixel.h> #define PIN_NEO_PIXEL D2 // The Arduino Nano ESP32 pin connected to NeoPixel #define NUM_PIXELS 30 // The number of LEDs (pixels) on NeoPixel LED strip 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(); // update to the NeoPixel Led Strip delay(500); // 500ms pause between each pixel } // turn off all pixels for two seconds NeoPixel.clear(); NeoPixel.show(); // update to the NeoPixel Led Strip delay(2000); // 2 seconds 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(); // update to the NeoPixel Led Strip delay(1000); // 1 second on time // turn off all pixels for one seconds NeoPixel.clear(); NeoPixel.show(); // update to the NeoPixel Led Strip delay(1000); // 1 second off time }

Passos Rápidos

Para começar com o Arduino Nano ESP32, siga estes passos:

  • Se você é novo no Arduino Nano ESP32, consulte o tutorial sobre como configurar o ambiente para o Arduino Nano ESP32 no Arduino IDE.
  • Faça a ligação dos componentes de acordo com o diagrama fornecido.
  • Conecte a placa Arduino Nano ESP32 ao seu computador usando um cabo USB.
  • Abra o Arduino IDE no seu computador.
  • Selecione a placa Arduino Nano ESP32 e a porta COM correspondente.
  • Abra o Library Manager clicando no ícone Library Manager na barra de navegação esquerda do Arduino IDE
  • Pesquise “Adafruit NeoPixel”, depois encontre a biblioteca NeoPixel da Adafruit
  • Clique no botão Install para instalar a biblioteca NeoPixel.
Biblioteca NeoPixel do Arduino Nano ESP32
  • Copie o código acima e abra com o Arduino IDE
  • Clique no botão Upload do Arduino IDE para fazer o upload do código para o Arduino Nano ESP32
  • Confira o efeito da fita LED

Vídeo

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!