sendo:
"VERDE", indicação de nível 1 a 5 (Fácil);
"AMARELO", indicação de nível 6 a 8 (Médio);
VERMELHO, indicação de nível 9 e 10 (Difícil);
Este tutorial tem como objetivo mostar o uso do PWM para controlar o brilho de um LED causando efeito de desvanecimento contínuo da luz emitida.
Usaremos a função analogWrite() para escrever um sinal com modulação por pulso no LED; esta função comuta um sinal "on" "off" rapidamente no pino digital, com diferentes proporções, causando o efeito de "fading".
Vamos fazer um parenteses para entender melhor o PWM.
(
Modulação largura, ou PWM, é uma técnica para obter resultados analógicos com meios digitais.
O controle digital é usado para criar uma onda quadrada, um sinal alternado entre ligada e desligada.
Este padrão on-off pode simular tensões entre plenos (5 volts) até (0 volts), alterando a porção do
tempo que o sinal passa ligado em relação ao tempo que o sinal passa desligado.
A duração de "tempo" é chamado de largura de pulso.
Para obter diferentes valores analógicos, você muda, ou modula, a largura de pulso.
Se você repetir esse padrão on-off rápido o suficiente com um LED, por exemplo,
o resultado é como se o sinal fosse uma tensão estável entre 0 e 5v, controlando o brilho do LED.
No gráfico abaixo, as linhas verdes representam um tempo regular, um período.
Esta duração ou período é o inverso da frequência de PWM.
Em outras palavras, como a freqüência de PWM do Arduino é cerca de 500Hz,as linhas verdes mediriam 2 milissegundos cada.
Uma chamada para analogWrite () é uma escala de 0 - 255; analogWrite(255) indica que se solicita um ciclo de trabalho de 100%
ciclo (sempre ligado), e analogWrite (127) é um ciclo de 50% (metade do tempo), e assim por diante.
)
O hardware:
1 x Resistor 220O
1 x LED
1 x Breadboard
Fios
O Circuito:
Imagem gerada usando Fritzing, Visite o site oficial para download e tutoriais:
http://fritzing.org/
Usando a Breadboard:
Connecte o terminal "Anodo" do LED ao resistor;
O terminal "Catodo" do LED, conecte ao negativo da alimentação;
O outro terminal do resistor, conecte ao pino 9 do Arduino.
O Programa:
Abaixo o código comentado.
/*
Fade
Este exemplo mostra como desvanecer um LED conectado ao pino 9
usando a função analogWrite().
Este código é de domínio público.
*/
int brightness = 0; // quantidade de brilho do LED
int fadeAmount = 5; // quantos pontos o LED irá desvanecer
//inicialização
void setup() {
pinMode(9, OUTPUT); // declara o pino 9 como saída
}
//programa inicial
void loop() {
analogWrite(9, brightness); //determina o brilho do LED
brightness = brightness + fadeAmount; // troca o brilho para a próxima iteração do loop
if (brightness == 0 || brightness == 255) { // reverte a direção do desvanecimento ao fim do mesmo
fadeAmount = -fadeAmount ;
}
delay(30); // espera 30 milisegundos para ver o efeito de escurecimento
}
Consulte o site do Arduino para maiores informações:
http://arduino.cc/en/Tutorial/Fade
Vídeo:
Conclusão:
Mais uma experiência de nível básico, sem maiores problemas em sua execução.
Hardware simples e Software descomplicado.
Básico.
Espero ter ajudado com mais este POST, até o próximo!
Muito boa a explicação, obrigado amigo!
ResponderExcluir