Pages: [1]   Go Down
Author Topic: Led controlado por um botão.  (Read 1435 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 14
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Olá, eu gostaria de um código onde se eu aperto um butão um led acende, continuando acesso.
Ai eu aperto denovo e ele apaga, já vi algo do tipo na internet mas ninguem não estou achando dinovo.
Logged

Brasil
Offline Offline
Sr. Member
****
Karma: 2
Posts: 315
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

http://www.arduino.cc/en/Tutorial/Pushbutton
Logged

4x Duemilanove (clone)
Uno torrado (clone)
Amiga 1200 40MB
Windows XP


Offline Offline
Newbie
*
Karma: 0
Posts: 14
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Não, esse código ai não é oque eu quero, nesse dai  o botão deve ficar pressionado para o led ficar ligado.
Eu quero o seguinte, aperto o butao o led fica ligado, e aperto novamente e o led desliga.
Logged

'round the world...
Offline Offline
Faraday Member
**
Karma: 42
Posts: 3257
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Code:

if (botao == ON && LED == APAGADO) {
    LED = LIGADO;
}
if (botao == ON && LED == LIGADO) {
    LED = APAGADO;
}

A lógica é esta. Convém lembrar que deves fazer um debounce ao botão.
Logged

Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

Offline Offline
Newbie
*
Karma: 0
Posts: 14
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

já li algo sobre debouncing mas não entendi muito bem, poderia explicar melhor sobre isto?
Logged

0
Offline Offline
Full Member
***
Karma: 3
Posts: 132
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Isso é o que procura
http://www.arduino.cc/en/Tutorial/Switch
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

//OK Amigo vou postar um codigo aki ,,, espero que te ajude..
#define led 13  // Definimos o pino do led no 13
#define botao 2 // definimos o botao no pino 2


long UltimoTempo = 0; // Pega o Ultimo tempo apertado do Botao
int EstadoDoBotao = LOW; // Pega o Ultimo estado do Botao
int filtro = 300 ; // Filtra o ruido do botao 300 millseconds voce poder mudar  
int pegaValorDoBotao =LOW; // Set o valor Atual do botao como desligado

void setup() {
pinMode (led,OUTPUT); // Set o led para SAIDA
pinMode (botao,INPUT); // Set o botao como ENTRADA

}

void loop() {
    pegaValorDoBotao = digitalRead(botao); // Pega o valor atual do botao

   if (pegaValorDoBotao == HIGH && (millis() - UltimoTempo) > filtro) {
        /* Aki esta o pulo do gato
          Verifico se vc apertou o botao  , e verifico na mesma condicao se
         millis() = cronometro interno do arduino - o Ultimoperiodo for maior que o ruido                    esta condicao vai ser sempre verdadeira

        
        */
          if (EstadoDoBotao == HIGH) {
              EstadoDoBotao = LOW;
          }else {
              EstadoDoBotao = HIGH;
          }    
        UltimoTempo = millis();
   }
  
   digitalWrite(led,EstadoDoBotao);
   pegaValorDoBotao = digitalRead(botao); // Pega o valor atual do botao
}
« Last Edit: August 22, 2012, 08:44:30 am by araujobrz » Logged

Pages: [1]   Go Up
Jump to: