raga volevo creare un menù dal quale posso accedere a diverse funzioni e tornare quando ne ho bisogno ma non riesco a ritornarci, ho provato a usare break ma mi interrompe l’operazione dopo una volta, allora ho provato a mettere un controllo dopo ogni operazione ma non funge lo stesso, vi presento l’intero codice che contiene il controllo (if (k==0) {t=1;} e il break,please aiutatemi
#include <Esplora.h>
void setup(){
Mouse.begin();
}
void loop(){
int r=0;
do{
int t=0;
int k=Esplora.readJoystickSwitch();
if (k==0) {t=1;};
if(Esplora.readButton(SWITCH_1)==LOW){
if (k==0) {t=1;};
do{
if (k==0) {t=1;};
long double x = Esplora.readJoystickX();
if (k==0) {t=1;};
long double y = Esplora.readJoystickY();
if (k==0) {t=1;};
long double mx = map(x,1023,-1023,-10,10);
if (k==0) {t=1;};
long double my = map(y,1023,-1023,-10,10);
if (k==0) {t=1;};
Mouse.move((mx/4),(-my/4),0);
if (k==0) {t=1;};
Esplora.writeRGB(100,0,0);
if (k==0) {t=1;};
if (Esplora.readButton(SWITCH_DOWN)==LOW) {
if (k==0) {t=1;};
Mouse.press(MOUSE_LEFT);
if (k==0) {t=1;};
}
else if (Esplora.readButton(SWITCH_4)==LOW){
if (k==0) {t=1;};
Mouse.press(MOUSE_RIGHT);
if (k==0) {t=1;};
}
else if (Esplora.readButton(SWITCH_3)==LOW){
if (k==0) {t=1;};
Mouse.press(MOUSE_MIDDLE);
if (k==0) {t=1;};
}
else {
Mouse.release(MOUSE_MIDDLE);
if (k==0) {t=1;};
Mouse.release(MOUSE_RIGHT);
if (k==0) {t=1;};
Mouse.release(MOUSE_LEFT);
if (k==0) {t=1;};
}
break;
if (k==0) {t=1;};
}while(t<1);
}
if (k==0) {t=1;};
if(Esplora.readButton(SWITCH_2)==LOW){
if (k==0) {t=1;};
do{
if (k==0) {t=1;};
int light = Esplora.readLightSensor();
if (k==0) {t=1;};
Serial.print("L'intensita' luminosa e': ");
Serial.println(light);
if (k==0) {t=1;};
int lightness=light/4;
if (k==0) {t=1;};
if (light>1000){
if (k==0) {t=1;};
Esplora.writeRGB(lightness,lightness,lightness);
if (lightness>=200) {
if (k==0) {t=1;};
int slider = Esplora.readSlider();
int frequenza1=0;
int frequenza2=0;
int frequenza3;
if(slider<=255){
if (k==0) {t=1;};
frequenza1=179;
frequenza2=233;
frequenza3=262;
}
else if(slider>255&&slider<=511) {
if (k==0) {t=1;};
frequenza1=440;
frequenza2=494;
frequenza3=523;
}
else if(slider>511&&slider<=767) {
if (k==0) {t=1;};
frequenza1=701;
frequenza2=755;
frequenza3=784;
}
else if(slider>767){
if (k==0) {t=1;};
frequenza1=962;
frequenza2=1016;
frequenza3=1045;
}
if (k==0) {t=1;};
Esplora.tone(frequenza1);
if (k==0) {t=1;};
delay(500);
if (k==0) {t=1;};
Esplora.noTone();
if (k==0) {t=1;};
delay(200);
if (k==0) {t=1;};
Esplora.tone(frequenza2);
if (k==0) {t=1;};
delay(500);
if (k==0) {t=1;};
Esplora.noTone();
if (k==0) {t=1;};
delay(200);
if (k==0) {t=1;};
Esplora.tone(frequenza2);
if (k==0) {t=1;};
delay(500);
if (k==0) {t=1;};
Esplora.noTone();
if (k==0) {t=1;};
delay(200);
if (k==0) {t=1;};
Esplora.tone(frequenza2);
if (k==0) {t=1;};
delay(500);
if (k==0) {t=1;};
Esplora.noTone();
if (k==0) {t=1;};
delay(200);
if (k==0) {t=1;};
Esplora.tone(frequenza3);
if (k==0) {t=1;};
delay(500);
if (k==0) {t=1;};
Esplora.noTone();
if (k==0) {t=1;};
delay(200);
if (k==0) {t=1;};
Esplora.writeRGB(0,0,0);
if (k==0) {t=1;};
}
}
else {
if (k==0) {t=1;};
delay(5000);
if (k==0) {t=1;};
}
break;
if (k==0) {t=1;};
}while(t<1);
}
if (k==0) {t=1;};
if(Esplora.readButton(SWITCH_3)==LOW){
if (k==0) {t=1;};
do{
if (k==0) {t=1;};
if (Esplora.readButton(SWITCH_DOWN) == LOW) {
if (k==0) {t=1;};
int slider = Esplora.readSlider();
if (k==0) {t=1;};
Esplora.tone(slider, 1000);
if (k==0) {t=1;};
Esplora.writeRGB(0,slider,0);
if (k==0) {t=1;};
}
else if (Esplora. readButton(SWITCH_UP) == LOW) {
if (k==0) {t=1;};
int slider = Esplora.readSlider();
if (k==0) {t=1;};
Esplora.tone(slider, 1000);
if (k==0) {t=1;};
Esplora.writeRGB(slider,0,0);
if (k==0) {t=1;};
}
else {
Esplora.noTone();
if (k==0) {t=1;};
}
break;
if (k==0) {t=1;};
}while(t<1);
}
if (k==0) {t=1;};
if(Esplora.readButton(SWITCH_4)==LOW){
if (k==0) {t=1;};
do{
if (k==0) {t=1;};
int a=0;
int b=0;
int c=0;
int d=0;
int e=0;
if (k==0) {t=1;};
while (e<2){
if (k==0) {t=1;};
while (d<2){
if (k==0) {t=1;};
if (a==0){
if (k==0) {t=1;};
for (a;a<240;a++){
if (k==0) {t=1;};
Esplora.writeRGB(a,b,c);
if (k==0) {t=1;};
delay(1);
if (k==0) {t=1;};
}
}
else if (a==240){
if (k==0) {t=1;};
for (a;a>0;a--){
if (k==0) {t=1;};
Esplora.writeRGB(a,b,c);
if (k==0) {t=1;};
delay(1);
if (k==0) {t=1;};
}
}
d++;
}
/*c'erano altre operazioni simili*/
while (d<14){
if (k==0) {t=1;};
if (c==0&&b==0&&a==0){
if (k==0) {t=1;};
while(c<240&&b<240&&a<240){
if (k==0) {t=1;};
c++;
b++;
a++;
if (k==0) {t=1;};
Esplora.writeRGB(a,b,c);
if (k==0) {t=1;};
delay(1);
if (k==0) {t++;};
}
}
else if (a==240&&c==240&&b==240){
if (k==0) {t=1;};
while(c>0&&b>0&&a>0){
if (k==0) {t=1;};
c--;
b--;
a--;
if (k==0) {t=1;};
Esplora.writeRGB(a,b,c);
if (k==0) {t=1;};
delay(1);
if (k==0) {t++;};
}
}
d++;
}
e++;
}
break;
if (k==0) {t=1;};
}while(t<1);
}
}while(r<1);
}