Buscar

Aula 6 - Efeito de fogo com LEDs

Prévia do material em texto

Aula 4 - Efeito de fogo com LEDs
Uscs – universidade são caetano do sul
Sistemas embarcados
Prof.: ismael moura parede
Objetivo – efeito de fogo com leds
Este projeto utilizará LEDs e um efeito aleatório de cintilação, novamente via PWM, para imitar o efeito de uma chama cintilante. Se você colocar esses LEDs dentro de uma pequena casa ou de um modelo de ferromodelismo, poderá fazer com que pareça que a casa está pegando fogo. Você também pode utilizar esse recurso na lareira de sua casa, em vez de toras de madeira. Esse é um exemplo simples de como LEDs podem ser utilizados para criar efeitos especiais para filmes, peças de teatro, modelos de ferromodelismo etc.
Componentes necessários
Desta vez, você utilizará três LEDs: um vermelho e dois amarelos.
LED vermelho difuso de 5 mm	
2 LEDs amarelos difusos de 5 mm			
3 resistores limitadores de corrente			
Circuito para – Efeito de fogo com LEDs.
Circuito para – Efeito de fogo com LEDs.
Digite o código
Abra o IDE de seu Arduino e digite o codigo da listagem
// Projeto 9 – Efeito de fogo com LEDs
int ledPin1 = 9;
int ledPin2 = 10;
int ledPin3 = 11;
void setup() {
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
}
void loop() {
analogWrite(ledPin1, random(120)+136);
analogWrite(ledPin2, random(120)+136);
analogWrite(ledPin3, random(120)+136);
delay(random(100));
}
Funcionamento
Pressione o botão Verify/Compile no topo do IDE para garantir que não haja erros em seu
código. Se nao houver erros, clique no botão Upload.
Se tudo foi feito corretamente, os LEDs passarão a cintilar de modo aleatório, simulando uma chama ou um efeito de fogo.
Efeito de fogo com LEDs – Análise do código
Vamos analisar o código para este projeto. Primeiramente, você declara e inicializa algumas variáveis de tipo inteiro, para armazenar os valores dos pinos digitais aos quais você conectará seus LEDs:
int ledPin1 = 9;
int ledPin2 = 10;
int ledPin3 = 11;
Efeito de fogo com LEDs – Análise do código
Depois, você os define como saídas:
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
Efeito de fogo com LEDs – Análise do código
O loop principal do programa envia um valor aleatório entre 0 e 119; adicione 136 a ele para obter o brilho máximo do LED para os pinos PWM 9, 10 e 11:
analogWrite(ledPin1, random(120)+136);
analogWrite(ledPin2, random(120)+136);
analogWrite(ledPin3, random(120)+136);
Efeito de fogo com LEDs – Análise do código
Por fim, você tem uma espera aleatória entre 0 e 99ms: 
delay(random(100));
Então o loop principal reinicia, provocando o efeito de cintilação. Reflita a luz em um papel branco, ou espelhe o efeito em sua parede, e você terá um efeito realístico de fogo.
O hardware e simples e voce deve conseguir compreende-lo sem problemas, por isso vamos avancar para o projeto 10.
EXERCÍCIOS
Experimente estes dois exercícios:
Exercício 1: Utilizando um ou dois LEDs azuis e/ou brancos, veja se você consegue recriar o efeito dos raios de luz de um soldador a arco.
Exercício 2: Utilizando LEDs azuis e vermelhos, recrie os efeitos de luz de um veiculo de emergência.
FIM

Mais conteúdos dessa disciplina