debouce utilizando o arduino

448 palavras 2 páginas
Nome: Caleb Henriques De Oliveira
Data: 29/04/2014
Curso: Técnico em Eletrônica

Projeto com Arduino, Utilizando o Debounce

Objetivo: O objetivo deste Projeto é mostrar a implementação da técnica Debounce. O Debouce serve como inibidor de ruído que e gerado pelo movimento mecânico da chave ,ele espera alguns milissegundos para estabilizar e faz a leitura do estado da chave. Para demostrar este projeto na prática utilizamos 4 leds ligados à plataforma Arduino, uma chave Push Button, 5 resistores de 100 homs , 1 resistor de 10k . A cada vez que a chave for pressionada, o led que se encontra em nível alto, ficará em nível baixo, apagando-o e acendendo o próximo led.
Código Fonte:
/*feito por caleb */ int chave = 2;//Chave ligada no pino 2 int led1 = 10;//Led 1 ligado no pino 10 int led2 = 11;//Led 2 ligado no pino 11 int led3 = 12;//Led 3 ligado no pino 12 int led4 = 13;//Led 4 ligado no pino 13 char estadoChave=0;//Variável usada para armazenar o estado da chave

void setup(){//Inicializa e configura os pinos

pinMode(chave,INPUT);//Chave configurada como entrada pinMode(led1,OUTPUT);//Led 1 configurado como saída pinMode(led2,OUTPUT);//Led 2 configurado como saída pinMode(led3,OUTPUT);//Led 3 configurado como saída pinMode(led4,OUTPUT);//Led 4 configurado como saída digitalWrite(led1,HIGH);//Led 1 começa em nível alto quando for feito o upload do código para o Arduino
}

void loop(){//Executa eternamente

estadoChave=digitalRead(chave);//Lê o valor do pino digital da chave while(estadoChave==1){ //Enquanto a expressão dentro dos parênteses (estadoChave==1) for verdadeira, o led1 ficará em nível baixo, e o led2 em nível alto. estadoChave=digitalRead(chave); } digitalWrite(led1,LOW);//led1 em nível baixo digitalWrite(led2,HIGH);//led2 em nível alto delay(20);//Debounce estadoChave==digitalRead(chave); while(estadoChave==0){ //Quando a expressão for falsa, passado vinte milissegundos (Debounce), a chave se estabilizará, o led2

Relacionados