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;
}
}
Tags:
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
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por