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