merci de votre aide, mais j'ai trouvé une solution (peut être pas la bonne) et cela fonctionne
code :
int analogPin = 0;
int pot = 0;
const int SPDT = 10; //3
int Porte = 6;
const int bouton = 11;
int RED = 7;
int GREEN = 8;
int Buzz = 9;
int Pose = 224820;
int TEMPS;
int etat;
float sinVal;
int toneVal;
void setup()
{
pinMode(SPDT, INPUT_PULLUP);
pinMode(Porte, OUTPUT);
pinMode(bouton, INPUT_PULLUP);
pinMode(RED, OUTPUT);
pinMode(GREEN, OUTPUT);
pinMode(Buzz, OUTPUT);
pinMode(analogPin, INPUT_PULLUP);
garage:
digitalWrite(RED, LOW);
digitalWrite(GREEN, HIGH);
if(digitalRead(bouton) == HIGH) {
if(digitalRead(SPDT) == HIGH){
digitalWrite(RED, HIGH);
digitalWrite(GREEN, LOW);
delay (Pose);}
else
{goto garage;}
if(digitalRead(SPDT) == HIGH){
digitalWrite(RED, HIGH);
digitalWrite(GREEN, LOW);
delay (Pose);}
else
{goto garage;}
if(digitalRead(SPDT) == HIGH){
digitalWrite(RED, HIGH);
digitalWrite(GREEN, LOW);
delay (Pose);}
else
{goto garage;}
if(digitalRead(SPDT) == HIGH){
digitalWrite(RED, HIGH);
digitalWrite(GREEN, LOW);
delay (Pose);}
else
{goto garage;}
pot = analogRead(analogPin);
TEMPS=(pot*440);
if(digitalRead(SPDT) == HIGH){
digitalWrite(RED, HIGH);
digitalWrite(GREEN, LOW);
delay (TEMPS);}
else
{goto garage;}
if(digitalRead(SPDT) == HIGH){
digitalWrite(RED, HIGH);
digitalWrite(GREEN, LOW);
delay (TEMPS);}
else
{goto garage;}
if(digitalRead(SPDT) == HIGH){
digitalWrite(RED, HIGH);
digitalWrite(GREEN, LOW);
delay (TEMPS);}
else
{goto garage;}
if(digitalRead(SPDT) == HIGH){
digitalWrite(RED, HIGH);
digitalWrite(GREEN, LOW);
delay (TEMPS);}
else
{goto garage;}
if(digitalRead(SPDT) == HIGH){
digitalWrite(RED, HIGH);
digitalWrite(GREEN, LOW);
delay (TEMPS);}
else
{goto garage;}
if(digitalRead(SPDT) == HIGH){
digitalWrite(RED, HIGH);
digitalWrite(GREEN, LOW);
delay (TEMPS);}
else
{goto garage;}
if(digitalRead(SPDT) == HIGH){
digitalWrite(RED, HIGH);
digitalWrite(GREEN, HIGH);
for(int x=0; x<180; x++){
sinVal = (sin(x*(3.1412/180)));
toneVal = 2000+(int(sinVal*1000));
tone(Buzz, toneVal,500);
delay(2);}
for(int x=0; x<180; x++){
sinVal = (sin(x*(3.1412/180)));
toneVal = 2000+(int(sinVal*1000));
tone(Buzz, toneVal,500);
delay(2);}
delay (20000);
tone(Buzz,500,500);
digitalWrite(Porte, HIGH);
delay (1000);
digitalWrite(Porte, LOW);
goto garage;}
else
{goto garage;}}
else {digitalWrite(RED, HIGH);
digitalWrite(GREEN, HIGH);
digitalWrite(Porte, HIGH);
delay (1000);
digitalWrite(Porte, LOW);
goto garage;}}
void loop() {
// put your main code here, to run repeatedly:
}