Potenciômetro e PWM
Código Mestre :: Programação :: Arduino
Página 1 de 1
Potenciômetro e PWM
Potenciômetro e PWM
Gravei este vídeo para servir de exemplo para quem ainda não conhece a tecnologia PWM (Pulse-Width Modulation), que é, basicamente, uma técnica que torna possível transferirmos um sinal analógico para algumas das portas digitais; eu digo 'algumas' pois apenas 6 delas podem receber sinais analógicos, são elas '3,5,6,9,10 e 11'.
Criei uma estrutura completamente manual, onde eu utilizo dos valores recebidos do meu potenciômetro (Atualizando o seu valor mínimo para 0 e o máximo para 255), e escrevendo estes valores na saída 3 que é onde o LED se encontra. Na serial é escrito a porcentagem da tensão escrita na porta (0 ~ 255 (100%)). Note que apenas as novas versões do Arduíno tem suporte a esta tecnologia.
Para quem quiser saber mais sobre esta tecnologia, sugiro que acesse os seguintes links:
Circuito
Código-Fonte
Usamos o comando analogWrite(led_porta,result) para escrever os valores na porta analógica número 3, e isto faz com que recebamos este sinal na terceira porta digital também.
- Código:
float potenciometro;
int potenciometro_porta = 5;
int led_porta = 3;
float result;
int porcentagem;
int anterior;
int proximo;
void setup()
{
Serial.begin(9600);
anterior = 0;
}
void loop()
{
potenciometro = analogRead(potenciometro_porta);
result = potenciometro * 255;
result = result / 1023;
delay(1);
analogWrite(led_porta,result);
porcentagem = (int) result;
porcentagem = porcentagem * 100;
porcentagem = porcentagem / 255;
proximo = porcentagem;
if (proximo != anterior) {
Serial.print("Luz em ");
Serial.print(porcentagem);
Serial.println("%");
anterior = proximo;
}
}
Vídeo
Para quem quiser ver uma demonstração, postei este vídeo no youtube.
Para quem quiser ver uma demonstração, postei este vídeo no youtube.
andreirs- YOTTABYTE
- Mensagens : 33
Reputação : 8
Data de inscrição : 14/07/2013
Idade : 31
Localização : Porto Alegre
Código Mestre :: Programação :: Arduino
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|