Arduino Nano ESP32 - Piscar vários LEDs

Este tutorial ensina você a programar o Arduino Nano ESP32 para piscar vários LEDs simultaneamente, sem depender da função delay. Cada LED pode piscar em uma frequência diferente dos outros. Vamos usar três LEDs como exemplo, mas você pode adaptar o código facilmente para piscar mais LEDs.

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×LED Kit
1×LED (red)
1×LED Module
1×(Alternativa) Button and LED Kit
1×220Ω Resistor
1×Protoboard
1×Fios Jumper
1×(Opcional) Conector de Alimentação DC
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.

Buy Note: Use the LED Module for easier wiring. It includes an integrated resistor.

Sobre o LED

Temos um tutorial específico sobre LED. O tutorial contém informações detalhadas e instruções passo a passo sobre a pinagem do hardware, o princípio de funcionamento, a ligação com o ESP32, o código do Arduino Nano ESP32... Saiba mais sobre eles no link a seguir:

Diagrama de Ligação

The wiring diagram between Arduino Nano ESP32 and multiple LED

This image is created using Fritzing. Click to enlarge image

Código Arduino Nano ESP32 - Piscar Vários LEDs

Para piscar vários LEDs, não podemos usar a função delay(). Em vez disso, precisamos usar a função millis() e gerenciar os timestamps .

Gerenciar timestamps ao piscar vários LEDs pode ser desafiador para iniciantes. Felizmente, a biblioteca ezLED simplifica o processo de piscar vários LEDs gerenciando os timestamps internamente. Isso elimina a necessidade de o usuário cuidar do gerenciamento de timestamps ao utilizar essa biblioteca. Além disso, você pode deixar o código mais claro e curto usando um array de LEDs.

/* * 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-blink-multiple-led */ #include <ezLED.h> // ezLED library #define PIN_LED_1 D4 // The Arduino Nano ESP32 pin connected to LED 1 #define PIN_LED_2 D5 // The Arduino Nano ESP32 pin connected to LED 2 #define PIN_LED_3 D6 // The Arduino Nano ESP32 pin connected to LED 3 ezLED led1(PIN_LED_1); // create ezLED object that attach to pin PIN_LED_1 ezLED led2(PIN_LED_2); // create ezLED object that attach to pin PIN_LED_2 ezLED led3(PIN_LED_3); // create ezLED object that attach to pin PIN_LED_3 void setup() { Serial.begin(9600); led1.blink(500, 500); // 500ms ON, 500ms OFF, blink immediately led2.blink(200, 800); // 200ms ON, 800ms OFF, blink immediately led3.blink(200, 200); // 200ms ON, 200ms OFF, blink immediately } void loop() { led1.loop(); // MUST call the led1.loop() function in loop() led2.loop(); // MUST call the led2.loop() function in loop() led3.loop(); // MUST call the led3.loop() function in loop() // DO SOMETHING HERE }

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 do Arduino Nano ESP32 no Arduino IDE.
  • Ligue os 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.
  • Clique no ícone Libraries na barra à esquerda do Arduino IDE.
  • Pesquise “ezLED” e encontre a biblioteca de LED da ArduinoGetStarted
  • Clique no botão Install para instalar a biblioteca ezLED.
Arduino Nano ESP32 led library
  • Copie o código acima e cole no Arduino IDE.
  • Compile e faça o upload do código para a placa Arduino Nano ESP32 clicando no botão Upload do Arduino IDE
How to upload Arduino Nano ESP32 code on Arduino IDE
  • Confira o estado do LED

Código Arduino Nano ESP32 - Piscar Vários LEDs usando array

Podemos otimizar o código acima usando um array de LEDs. O código abaixo usa o array para gerenciar os objetos de LED.

/* * 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-blink-multiple-led */ #include <ezLED.h> // ezLED library #define NUM_LED 3 // three LEDs #define PIN_LED_1 D4 // The Arduino Nano ESP32 pin connected to LED 1 #define PIN_LED_2 D5 // The Arduino Nano ESP32 pin connected to LED 2 #define PIN_LED_3 D6 // The Arduino Nano ESP32 pin connected to LED 3 ezLED ledArray[NUM_LED] = { ezLED(PIN_LED_1), // create ezLED object that attach to pin PIN_LED_1 ezLED(PIN_LED_2), // create ezLED object that attach to pin PIN_LED_2 ezLED(PIN_LED_3) // create ezLED object that attach to pin PIN_LED_3 }; void setup() { Serial.begin(9600); ledArray[0].blink(500, 500); // 500ms ON, 500ms OFF, blink immediately ledArray[1].blink(200, 800); // 200ms ON, 800ms OFF, blink immediately ledArray[2].blink(200, 200); // 200ms ON, 200ms OFF, blink immediately } void loop() { for (int i = 0; i < NUM_LED; i++) ledArray[i].loop(); // MUST call the led.loop() function in loop() // DO SOMETHING HERE }

Para um controle mais flexível do piscar, consulte as outras funções da biblioteca ezLED

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!