Enquanto se carrega no botão, o LED acende - Arduino

sexta-feira, 3 de fevereiro de 2012 1 comentários
Esta mensagem é baseada nestes tutoriais:

Material:
  • 1 breadboard
  • 1 arduino
  • 1 led
  • 1 resistência de 220 ohm
  • 1 botão de pressão (pushbutton)
  • 1 resistência de 10 kohm
  • 5 Fios elétricos
Esquema:
Esquema desenhado no Fritzing
Código:
__________________________________________________
int led=13;    //led no pino 13
int botao=12; //botão no pino 12
int var=0;
void setup()
{
pinMode(led,OUTPUT);
pinMode(botao,INPUT);
}
void loop()
{
var=digitalRead(botao); //ler o valor enviado pelo botão: "HIGH" ou "LOW"
if (var == HIGH) {
digitalWrite(led,HIGH);
} else {
digitalWrite(led,LOW);
}
}
__________________________________________________


Com este código, o led apenas acende enquanto estivermos a carregar no botão. Assim que o largarmos, o led apaga.
Clique no botão "Upload" do arduino e observe os resultados!

1 comentários:

  • Unknown disse...

    OLÁ AMIGOS!

    Fiz a experiência, porem quando coloca mais uma 3º saída essa fica com o Led piscando ao invés de funcionar corretamente como a 1º e a Segunda?

    segue código modificado:

    //BT1

    int E1=2; // led no pino 2
    int S1=20; // botão no pino 20
    int var1=0; // valor instantaneo enviado pelo botão
    int var2=0; // valor guardado
    int estado1=0; // guarda o valor 0 ou 1 (HIGH ou LOW)

    //BT2

    int E2=3; // led no pino 3
    int S2=21; // botão no pino 21
    int var3=0; // valor instantaneo enviado pelo botão
    int var4=0; // valor guardado
    int estado2=0; // guarda o valor 0 ou 1 (HIGH ou LOW)

    //BT3

    int E3=4; // led no pino 4
    int S3=22; // botão no pino 22
    int var5=0; // valor instantaneo enviado pelo botão
    int var6=0; // valor guardado
    int estado3=0; // guarda o valor 0 ou 1 (HIGH ou LOW)



    void setup()
    {
    pinMode(E1,OUTPUT);
    pinMode(S1,INPUT);
    pinMode(E2,OUTPUT);
    pinMode(S2,INPUT);
    pinMode(E3,OUTPUT);
    pinMode(S3,INPUT);
    }
    void loop()
    {

    //BT1

    var1=digitalRead(S1); // ler o valor enviado pelo botão: "HIGH" ou "LOW"
    if ((var1 == HIGH) && (var2 == LOW)){
    estado1 = 1 - estado1;
    delay(20); // de-bouncing
    }
    var2=var1;
    if (estado1 == 1) {
    digitalWrite(E1, HIGH); // liga o led
    } else {
    digitalWrite(E1, LOW); // desliga o led
    }

    //BT2

    var3=digitalRead(S2); // ler o valor enviado pelo botão: "HIGH" ou "LOW"
    if ((var3 == HIGH) && (var4 == LOW)) {
    estado2 = 1 - estado2;
    delay(20); // de-bouncing
    }
    var4=var3;
    if (estado2 == 1) {
    digitalWrite(E2, HIGH); // liga o led
    } else {
    digitalWrite(E2, LOW); // desliga o led
    }

    //BT3

    var5=digitalRead(S3); // ler o valor enviado pelo botão: "HIGH" ou "LOW"
    if ((var5 == HIGH) && (var6 == LOW)) {
    estado3 = 1 - estado3;
    delay(20); // de-bouncing
    }
    var6=var5;
    if (estado3 == 1) {
    digitalWrite(E3, HIGH); // liga o led
    } else {
    digitalWrite(E3, LOW); // desliga o led
    }

    }

 

©Copyright 2012 Eletrão | TNB