Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Piscar Dois LEDs em Ritmos Diferentes no Arduino Sem delay()

Componentes e Materiais

Piscar Dois LEDs em Ritmos Diferentes no Arduino Sem delay() Arduino UNO × 1
Piscar Dois LEDs em Ritmos Diferentes no Arduino Sem delay() LED 5 mm: Vermelho × 2

Sobre o Projeto

Este projeto foi inspirado em dúvidas comuns sobre como piscar dois LEDs em frequências diferentes. Se quisermos piscar um LED a cada 1000 ms e outro a cada 500 ms, ainda é possível usar delay() dividindo o tempo, mas se o intervalo do LED mais rápido for alterado para 300 ms, o uso de delay() torna-se extremamente complicado ou impossível.

A solução: parar de usar delay() e adotar a técnica BlinkWithoutDelay, baseada na função millis(). O exemplo a seguir duplica a lógica para dois LEDs independentes, cada um com seu próprio temporizador.

Código

const int ledPin = LED_BUILTIN;
int ledState = LOW;
unsigned long previousMillis = 0;
const long interval = 1000;

const int ledPin2 = 12;
int ledState2 = LOW;
unsigned long previousMillis2 = 0;
const long interval2 = 300;

void setup() {
  pinMode(ledPin, OUTPUT);
  pinMode(ledPin2, OUTPUT);
}

void loop() {
  unsigned long currentMillis = millis();

  if (currentMillis - previousMillis >= interval) {
    previousMillis = currentMillis;
    ledState = (ledState == LOW) ? HIGH : LOW;
    digitalWrite(ledPin, ledState);
  }

  if (currentMillis - previousMillis2 >= interval2) {
    previousMillis2 = currentMillis;
    ledState2 = (ledState2 == LOW) ? HIGH : LOW;
    digitalWrite(ledPin2, ledState2);
  }
}

Esquemático

Piscar Dois LEDs em Ritmos Diferentes no Arduino Sem delay()

Processo de manufatura

  1. Protegendo o Alumínio Contra a Corrosão: Estratégias de Especialistas para Durabilidade Duradoura
  2. Domine a Computação em Nuvem do Zero: Guia Prático para Iniciantes
  3. Por que Migrar de C para C++ Pode Impulsionar Desenvolvimento Embarcado
  4. Monitoramento em Tempo Real de Temperatura e Umidade via Web no Raspberry Pi 4
  5. Tutorial IoT Iniciante: Streaming de Dados de Temperatura de um Raspberry Pi
  6. Transmissão de Dados de Temperatura em Tempo Real do ppDAQC Pi-Plate para InitialState com Raspberry Pi Headless
  7. Construa um Robô Controlado por WiFi com Raspberry Pi e Smartphone Android
  8. Entendendo Controle de Atraso em Verilog: Técnicas de Timing e Boas Práticas
  9. Origens do Conceito de Serragem: Das Ferramentas Antigas às Máquinas Modernas
  10. Entendendo Ferro Fundido Cinzento: Propriedades, Produção e Aplicações Automotivas