Bonsoir tout le monde ! Moi c'est Martin, et j'ai un petit souçi de programmation sur le projet mentionné dans le subject donc j'aimerais obtenir un petit coup de pouce Svp :-[
voici le code que j'utilise (je dois mentionner que je ne suis pas grand connaisseur du language c++ et de la programmation en géréral)
const int BUTTON = 2;
const int BUTTON2 = 7;
const int BUTTON3 = 8;
const int BUTTON4 = 12;
const int RED = 6;
const int BLUE = 3;
const int GREEN = 5;
int FADE = 10;
int brightness = 0;
int fadeAmount = 5;
int values = 0;
int fadeValue = 0;
void setup()
{
pinMode (2, INPUT);
pinMode (7, INPUT);
pinMode (8, INPUT);
pinMode (12,INPUT);
pinMode (6, OUTPUT);
pinMode (3, OUTPUT);
pinMode (5, OUTPUT);
}
void loop(void)
{
if (digitalRead(BUTTON) ==HIGH)
{ for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 10)
{analogWrite(10, fadeValue);
delay(100);}
for (int fadeValue = 255 ; fadeValue >= 0; fadeValue -= 10)
{analogWrite(10, fadeValue);
delay(100);}loop();}
if (digitalRead(BUTTON2) == HIGH)
{analogWrite (FADE, values);
digitalWrite(RED, LOW);
digitalWrite(BLUE, LOW);
digitalWrite(GREEN, HIGH);
delay (1000);
digitalWrite(GREEN, LOW);
delay (1000);
loop();}
if (digitalRead(BUTTON3) == HIGH)
{analogWrite (FADE, values);
digitalWrite(GREEN, LOW);
digitalWrite(BLUE, LOW);
digitalWrite(RED, LOW);
delay (5);
digitalWrite(BLUE, HIGH);
delay (250);
digitalWrite(BLUE, LOW);
digitalWrite(RED, HIGH);
delay (250);
digitalWrite(RED, LOW);
digitalWrite(BLUE, HIGH);
delay (250);
digitalWrite(BLUE, LOW);
digitalWrite(RED, HIGH);
delay (250);
digitalWrite(RED, LOW);
digitalWrite(BLUE, HIGH);
delay (250);
digitalWrite(BLUE, LOW);
digitalWrite(RED, HIGH);
delay (250);
digitalWrite(RED, LOW);
digitalWrite(BLUE, HIGH);
delay (250);
digitalWrite(BLUE, LOW);
digitalWrite(RED, HIGH);
delay (250);
digitalWrite(RED, LOW);
digitalWrite(BLUE, HIGH);
delay (250);
digitalWrite(BLUE, LOW);
digitalWrite(RED, HIGH);
delay (250);
loop();}
if (digitalRead(BUTTON4) == HIGH)
{analogWrite (FADE, values);
digitalWrite(GREEN, LOW);
digitalWrite(RED, LOW);
digitalWrite(BLUE, HIGH);
delay (30);
digitalWrite(BLUE, LOW);
delay (30);
digitalWrite(BLUE, HIGH);
delay (30);
digitalWrite(BLUE, LOW);
delay (30);
digitalWrite(BLUE, HIGH);
delay (30);
digitalWrite(BLUE, LOW);
delay (30);
digitalWrite(BLUE, HIGH);
delay (30);
digitalWrite(BLUE, LOW);
delay (30);
digitalWrite(BLUE, HIGH);
delay (30);
digitalWrite(BLUE, LOW);
delay (30);
digitalWrite(BLUE, HIGH);
delay (30);
digitalWrite(BLUE, LOW);
delay (30);
digitalWrite(BLUE, HIGH);
delay (30);
digitalWrite(BLUE, LOW);
delay (30);
digitalWrite(BLUE, HIGH);
delay (30);
digitalWrite(GREEN, LOW);
digitalWrite(BLUE, LOW);
digitalWrite(RED, HIGH);
delay (30);
digitalWrite(RED, LOW);
delay (30);
digitalWrite(RED, HIGH);
delay (30);
digitalWrite(RED, LOW);
delay (30);
digitalWrite(RED, HIGH);
delay (30);
digitalWrite(RED, LOW);
delay (30);
digitalWrite(RED, HIGH);
delay (30);
digitalWrite(RED, LOW);
delay (30);
digitalWrite(RED, HIGH);
delay (30);
digitalWrite(RED, LOW);
delay (30);
digitalWrite(RED, HIGH);
delay (30);
digitalWrite(RED, LOW);
delay (30);
digitalWrite(RED, HIGH);
delay (30);
digitalWrite(RED, LOW);
delay (30);
digitalWrite(RED, HIGH);
delay (30);
loop();}
else
{ analogWrite (FADE, values);
digitalWrite(GREEN, HIGH);
digitalWrite(BLUE, HIGH);
digitalWrite(RED, HIGH);
delay (1);
}
}
Explication rapide
J'ai (else) qui roule quand les 4 pushbuttons sont au (State LOW)
J'appuie sur le (BUTTON) (PWM pin 2) donc (BUTTON est a State HIGH)
rien ne se produit
par contre (BUTTON2) (BUTTON3) (BUTTON4) A1 les chagements de State sont détecté
la ou je m'y perds est lorsque la (loop() de soit (BUTTON2) (BUTTON3) (BUTTON4)
est activée et que je change le State de (BUTTON) avant la fin de la loop();
la il sera détecté sans problème
Si la loop(); peu importe laquelle se termine avant le chagement de State de (BUTTON)
Résultat rien !
Donc ma grosse question est ... Pourquoi le changement de State de (BUTTON)
n'est jamais détecté a moins qu'une des trois autres loop(); soit active
À noter que j'ai essayé de looper le (else) mais même résultat !
Je ne sais pas si j'ai été assez compréhensible alors espérons que oui haha
Bonne soirée a vous et merci à l'avance à l'âme charitable qui voudra bien se pencher la-dessus
merci beaucoup encore