É uma dúvida boba, mas não conseguir fazer um programa que liga e desliga um led atraves de um único botão, se alguem puder me ajudar.
Tags:
int switchPin = 10; // pino liga/desliga
int LEDPin = 11; // pino do LED
int switchPinValue = 0;
int status = 0;
void setup()
{
pinMode(switchPin,INPUT);
pinMode(LEDPin,OUTPUT);
}
void loop()
{
switchPinValue=digitalRead(switchPin);
if (switchPinValue != status)
{
digitalWrite(LEDPin,switchPinValue);
status=switchPinValue;
}
delay(300); // Aqui vc pode experimentar outros valores
}
A idéia é armazenar o estado (high/low) do led numa variável. Assim, quando o botão for pressionado vc verifica através da variável se o led estava ligado ou desligado. Como no exemplo de código postado aqui pelo Mauro.
fiz assim, mas as vezes funciona outras não,
int led_1 = 13 ;
int button_1 = 8;
int val = 0;
int val_2 = 0;
void setup()
{
pinMode(led_1,OUTPUT);
pinMode(button_1,INPUT);
Serial.begin(9600);
}
void loop()
{
val = digitalRead(button_1);
delayMicroseconds(100);
digitalWrite(led_1,LOW);
if(val == LOW)
{
while(val == LOW)
{
digitalWrite(led_1,HIGH);
val_2 = digitalRead(button_1);
delayMicroseconds(100);
if(val_2 == LOW)
{
val = HIGH;
break;
}
}
}
}
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por