Eu comecei a estudar Arduino, e ainda estou no básico, mas já aprendi sobre coisas como porta PWM, ligar e desligar led através do botão, e queria juntar esses dois. Eu ligaria o led num botão, a onde a intensidade do led iria variar entre 0 e 255, e em outro botão eu iria desligar o led.
Eu consegui ligar o led, mas não consigo fazer o processo de desligar. Eu fui testando tudo que consegui imaginar, e no final eu acho que estou mais perdido do que quando comecei. Provavelmente boa parte do código não faz sentido e vou ter que reescrever ele. Enfim, se alguém puder me ajudar, eu agradeço
#define led 6
#define btn1 2
#define btn2 3
#define maximo 255
#define tmp 10
int minimo=0;
int btnclicado=0;
int btnliberado=0;
void trocaled(){
if(digitalRead(led)==btn2){
analogWrite(led, 0);
}else{
while(minimo==0){
for(int i=minimo;i<maximo;i++){
analogWrite(led, i);
delay(tmp);
}
for(int i=maximo;i>minimo;i--){
analogWrite(led, i);
delay(tmp);
}
}
}
}
void keyup(){
if((btnclicado==1)and(btnliberado==1)){
btnclicado=0;
btnliberado=0;
minimo=0;
trocaled();
}
}
void setup() {
pinMode(led, OUTPUT);
pinMode(btn1, INPUT);
pinMode(btn2, INPUT);
}
void loop() {
if(digitalRead(btn1)==HIGH){
btnclicado=1;
btnliberado=0;
}else{
btnliberado=1;
}
keyup();
}