Good afternoon, I am trying to develop a project in which buttons can develop different tests, the problem has arisen in the first test, because case 1 is not interrupted when I jump to the next and I do not know what is due.
The code is the following:
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
LiquidCrystal_I2C lcd (0x3F, 16, 2);
#define pot A0
const int PULSADOR_MODO = 2;
const int PULSADOR_EMP = 4;
const int PULSADOR_RESULTP = 7;
const int PULSADOR_RESULTT = 8;
int Red = 6;
int Gre = 5;
int Blu = 3;
int Redf = 11;
int Gref = 10;
int Bluf = 9;
volatile boolean actualizar=true;
int modo = 0;
const int N=3;
void setup() {
Wire.begin();
lcd.begin(16,2);
lcd.clear();
lcd.backlight();
pinMode(6, OUTPUT);
pinMode(5, OUTPUT);
pinMode(3, OUTPUT);
pinMode(11, OUTPUT);
pinMode(10, OUTPUT);
pinMode(9, OUTPUT);
pinMode(PULSADOR_MODO, INPUT);
pinMode(PULSADOR_EMP, INPUT);
pinMode(PULSADOR_RESULTP, INPUT);
pinMode(PULSADOR_RESULTT, INPUT);
}
void Prueba_1 (){
analogWrite(Redf, 221);
analogWrite(Gref, 168);
analogWrite(Bluf, 68);
analogWrite(Gre, 168);
analogWrite(Blu, 68);
}
void fijarCursorModo(){
switch(modo){
case 0:
break;
case 1:
lcd.clear();
lcd.setCursor(2,0);
lcd.print("Prueba 1");
lcd.setCursor(0,1);
lcd.print("Empezar: boton 2");
break;
case 2:
break;
case 3:
break;
case 4:
break;
case 5:
break;
}
}
void loop(){
if(digitalRead(PULSADOR_MODO)==HIGH){
modo++;
modo = modo % N;
fijarCursorModo();
while(digitalRead(PULSADOR_MODO)==HIGH);
}
switch(modo){
case 0:
lcd.clear();
lcd.setCursor(1,0);
lcd.print("Anomaloscopio");
lcd.setCursor(0, 1);
lcd.print("Pulse 1");
break;
case 1:
if(digitalRead(PULSADOR_EMP)==HIGH){
lcd.clear();
lcd.setCursor(2,0);
lcd.print("Prueba 1");
lcd.setCursor(0, 1);
lcd.print("Terminar: boton 2");
Prueba_1 ();
int R = analogRead(pot);
int TimeR = map(R,0,1023,0,255);
analogWrite(Red, TimeR);
while(digitalRead(PULSADOR_EMP)==HIGH);
}
break;
case 2:
break;
case 3:
break;
case 4:
break;
case 5:
break;
}
}
I know that other cases are missing but first I want to solve this problem before adding more