Início
/
Projetos Arduino
/
Squids Hub
/
Básico
/
Hub 010 - Piscar 2 leds com intervalos diferentes usando a função millis() - Arduino
Hub 010 - Piscar 2 leds com intervalos diferentes usando a função millis() - Arduino
Angelo Luis Ferreira | 18/05/2021
Acessos: 12.080
Básico - Hub 010
Fazer Piscar 2 usando a função millis()
Sugerido por: Jhulio Cesar ENVIAR SUGESTÃO
Objetivo
Monte um circuito com 2 LEDs (um vermelho e um verde) e faça um programa blink "duplo", que faça com que os 2 LEDs pisquem, cada um, com um intervalo diferente. O vermelho deve piscar com um intervalo de 0,6 segundo e o verde com um intervalo de 2 segundos. Nesta implementação, o comando "delay" não poderá ser utilizado. Dica: utilize a função "millis()".
Componentes necessários
Referência
|
Componente
|
Quantidade
|
Imagem
|
Observação
|
Protoboard |
Protoboard 830 pontos |
1 |
|
No mínimo utilizar protoboard com 400 pontos
|
Jumpers |
Kit cabos ligação macho / macho |
1 |
|
|
Led 5mm |
LED 5mm
|
2 |
|
No projeto utilizamos 2 leds (1 vermelho e 1 verde)
Você também poderá utilizar LEDs de 5 ou 3 mm nas cores que desejar, alto brilho ou difuso.
|
Resistor |
Resistor
|
2 |
|
2 Resistores 150Ω (ou superiores)
Se precisar usar outros valores, calcule o resistor apropriado para o led utilizado
|
Arduino UNO R3 |
Arduino UNO |
1 |
|
Você poderá utilizar uma placa Arduino UNO original ou similar
|
Montagem do Circuito - Simulação
Referências
Como usar temporizadores no Arduino
millis() - Documentação de Referência do Arduino
Código do Projeto (Sketch)
Faça o download e abra o arquivo hub010.ino no IDE do Arduino: DOWNLOAD - hb010.ino
Ou se preferir, copie e cole o código abaixo no IDE do Arduino:
/*******************************************************************************
*
* Hub 10 - 2 Leds piscam em intervalos diferentes com millis() - Arduino
* Autor: Angelo Luis Ferreira
* 18/05/2021
* http://squids.com.br/arduino
*
*******************************************************************************/
// define pinos
const int ledVermelho = 13;
const int ledVerde = 7;
// declara variáveis
unsigned long anteriorVermelho;
unsigned long anteriorVerde;
boolean ligaVermelho = 0; // desligado
boolean ligaVerde = 0; // desligado
// inicialização
void setup() {
// define modo (INPUT ou OUTPUT)
pinMode(ledVermelho, OUTPUT);
pinMode(ledVerde, OUTPUT);
}
// loop infinito
void loop() {
// pegar valor de millis() atual
unsigned long atual = millis();
// faz piscar led vermelho (intervalo 0.6s)
if (atual - anteriorVermelho > 600) {
digitalWrite(ledVermelho, ligaVermelho);
ligaVermelho = !ligaVermelho;
anteriorVermelho = atual;
}
// faz piscar led verde (intervalo 2s)
if (atual - anteriorVerde > 2000) {
digitalWrite(ledVerde, ligaVerde);
ligaVerde = !ligaVerde;
anteriorVerde = atual;
}
}
Simulação
O anúncio abaixo ajuda a manter o Squids Arduino funcionando
Comentários