Hello friends, I have this code of arduino, 3 buttons on and off the respective LEDs, I need to make led 2 depends on led1, ie it can only be activated if led1 is on, and led3 is on only if led2 is turned on, and when it turns off LED1 all turn off, only powering on again when the respective buttons are pressed. If anyone can help me I appreciate it.
// set pinos
const int buttonPin = 2; // número do pino pushbutton
const int ledPin = 3; // número do pino LED
const int buttonPin2 = 4; // número do pino pushbutton
const int ledPin2 = 5; // número do pino LED
const int buttonPin3 = 6; // número do pino pushbutton
const int ledPin3 = 7; // número do pino LED
// set variables
int estado = 0; // variável para leitura do pushbutton
int guarda_estado = LOW; // variável para armazenar valores do pushbutton
nt estado2 = 0; // variável para leitura do pushbutton
int guarda_estado2 = LOW; // variável para armazenar valores do pushbutton
nt estado3 = 0; // variável para leitura do pushbutton
int guarda_estado3 = LOW; // variável para armazenar valores do pushbutton
void setup() {
pinMode(ledPin, OUTPUT); // define o pino do Led como saída do Arduino
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
pinMode(buttonPin, INPUT); // define pino do pushbutton como entrada do Arduino:
pinMode(buttonPin2, INPUT);
pinMode(buttonPin3, INPUT);
}
void loop(){
estado = digitalRead(buttonPin); // le o estado pushbutton: ligado (HIGH) ou desligado (LOW)
if (estado == HIGH) { // verifica se o botão (pushbutton) está pressionado
guarda_estado = !guarda_estado; // inverte valor da variável variable_buttonEstado
delay(500); //esperera o tempo de 500ms para evitar que haja várias vezes alterações
}
if (guarda_estado == HIGH) {
digitalWrite(ledPin, HIGH); // liga o led
}
else {
digitalWrite(ledPin, LOW); // desliga o led
}
estado2 = digitalRead(buttonPin2); // le o estado pushbutton: ligado (HIGH) ou desligado (LOW)
if (estado2 == HIGH) { // verifica se o botão (pushbutton) está pressionado
guarda_estado2 = !guarda_estado2; // inverte valor da variável variable_buttonEstado
delay(500); //esperera o tempo de 500ms para evitar que haja várias vezes alterações
}
if (guarda_estado2 == HIGH) {
digitalWrite(ledPin2, HIGH); // liga o led
}
else {
digitalWrite(ledPin2, LOW); // desliga o led
}
estado3 = digitalRead(buttonPin3); // le o estado pushbutton: ligado (HIGH) ou desligado (LOW)
if (estado3 == HIGH) { // verifica se o botão (pushbutton) está pressionado
guarda_estado3 = !guarda_estado3; // inverte valor da variável variable_buttonEstado
delay(500); //esperera o tempo de 500ms para evitar que haja várias vezes alterações
}
if (guarda_estado3 == HIGH) {
digitalWrite(ledPin3, HIGH); // liga o led
}
else {
digitalWrite(ledPin3, LOW); // desliga o led
}
}