Olá Galera !

Estou tentando desenvolver uma aplicação com arduino e venho encontrando problemas com a programação..

 A  aplicação consistem em ACIONAR um led com  dois botões 

O botao1(BT1) é o que liga o led, porem esse botão só poderá ligar o led tendo uma condição. Essa condição será  o botão2(BT2). se o BT2 for pressionado ai eu posso pressionar BT1 para ligar o led caso contrario não liga o led...

O botão2 (BT2) será pressionado e deve ser manter pressionado para que o led possa ser ligado. Se  o BT2 deixar de ser pressionado desliga o led.

 

Poderiam me ajudar com este caso !??

Obrigado galera ! 

A programação tenho feito ate agora é a seguinte:

////////////////////////////////////////////////////////////////////// 

#define BT1 2
#define BT2 6
#define LED 3


int estadBut1 = LOW; //verifica se o botao esta pressionada

int sensorbt= LOW;

boolean ligar1 = false; // variavel para armazenar o acionamento do botão

int anterior = 0; // variavel que evitara o bouncing

void setup() {
pinMode (BT1, INPUT);
pinMode (BT2, INPUT);

pinMode (LED, OUTPUT);

}
void loop() {

estadBut1 = digitalRead (BT1);
sensorbt= digitalRead (BT2);

while (sensorbt == HIGH){

if(estadBut1 == HIGH && anterior == LOW){
if (ligar1 == false){
ligar1 = true;
}
}
}
ligar1 = false;


anterior = estadBut1;
if (ligar1 == true)
{
digitalWrite(LED, HIGH);

ligar1 =false;
}
}

Exibições: 253

Responder esta

Respostas a este tópico

tente assim

int led = 13;
int btn1 = 12;
int btn2 = 11;
boolean aciona = false;
boolean liga = false;

void setup()
{
  pinMode(led,OUTPUT);
  pinMode(btn1,INPUT);
  pinMode(btn2,INPUT);
}

void loop()
{
  if (digitalRead(btn1) == HIGH && aciona == true)
  {
    digitalWrite(led,HIGH);
    aciona = false;
  }
 
  while(digitalRead(btn2) == HIGH)
  {
    liga = true;
    aciona = true;
  }
  if (liga == true)
  {
    digitalWrite(led,HIGH);
  }else{
    digitalWrite(led,LOW);

    liga = false;
  }
}
 

nao estou c o arduino agr mas qq erro pode me avisar ok

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço