Useless Box | Code Erreur 2018

Bonjour à tous !! :wink:

J’ai comme premier projet de créer une Useless Box (pas très utile au passage :grinning: )
J’ai un problème dans mon code et je ne le trouve pas
J’ai l’impression que le “switch” et “case” ne lisent pas mes fonctions

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <Servo.h>


Servo flag;
Servo door;
Servo arm;


int nbAlea = 0;

int angle_default_door = 5;
int angle_max_door = 90;

int angle_default_flag = 5;
int angle_min_flag = 80;
int angle_max_flag = 110;

int angle_default_arm = 10;
int angle_max_arm = 90;

int buttonState = 0;
const int  buttonPin = 2;


void setup()
{
  Serial.begin(9600);//connection avec le moniteur de serie
  pinMode(buttonPin, INPUT);
  randomSeed(analogRead(0));//initialise la séquence aléatoire
  Serial.write("Salut !\n");//afficher salut !
  flag.attach(8);// declarer flag au pin 8
  door.attach(9);// declarer door au pin 9
  arm.attach(10);// declarer arm au pin 10
  flag.write(angle_default_flag);// mettre flag a 5°
  door.write(angle_default_door);// mettre door a 5°
  angle_door = angle_default_door2;
  arm.write(angle_default_arm);// mettre arm a 10°
  delay(1000);// attendre 1s
}

void loop()
{
 buttonState = digitalRead(buttonPin);
 if (buttonState == HIGH)
 {
  nbAlea=random(1,3); //creer un nombre aleatoire entre 1 et 6 non comprit (5 possibilites)
  Serial.print(nbAlea);//affichage du nombre
  Serial.print("\n");//retour a la ligne
  
    switch (nbAlea)//pour la variable nbAlea
    {
      case 1:// si le chiffre est 1 alors
       void case1();
      break;//arret
        
      case 2:// si le chiffre est 2 alors
       void case2();
      break;//arret

      default:;//si aucun aucun de ces chiffres n'est apparu alors
    } 
 }
}

void case1()
{
 Serial.print("case 1\n");//afficher case 1
 delay(500);//attendre 0.5 s
 door.write(angle_max_door);// mettre door a 90°
 delay(1000);//attendre 1 s
 flag.write(90);// mettre servo a 90°
 delay(1000);// attendre 1s
    
  for (int i=0 ; i<4 ; i++)
  {
    flag.write(angle_min_flag);// mettre servo a angle_min°
    delay(200);//attendre 0.2 s
    flag.write(angle_max_flag);// mettre servo a 110°
    delay(200);//attendre 0.2 s
  }
 delay(300);//attendre 0.3 s
 flag.write(angle_default_flag);// mettre servo a 5°
 delay(500);//attendre 0.5s
 door.write(angle_default_door);// mettre door a 5°
 delay(1500);//attendre 1.5s
 door.write(angle_max_door);// mettre door a 90°
 delay(200);//attendre 0.2s
 arm.write(angle_max_arm);//mettre arm a 90°
 delay(600);//attendre 0.6 s
 arm.write(angle_default_arm);//mettre arm a 10°
 delay(600);//attendre 0.6 s
 door.write(angle_default_door);// mettre door a 5°
 delay(200);
}  

void case2()
{
 Serial.print("case 2\n");//afficher case 2
 door.write(angle_max_door);// mettre door a 90°
 delay(1000);//attendre 1 s
 arm.write(angle_max_arm);//mettre arm a 90°
 delay(600);//attendre 0.6 s
 arm.write(angle_default_arm);//mettre arm a 10°
 delay(400);//attendre 0.4 s
 door.write(angle_default_door);// mettre door a 5°
 delay(2000);//attendre 2 s
 door.write(angle_max_door);// mettre door a 90°
 delay(2000);//attendre 2 s
 door.write(angle_default_door);// mettre door a 5°
 delay(200); 
}

Merci au plus courageux de regarder mon post !! :wink:
Bonne journée a tous !

Forum_Arduino.ino (2.95 KB)

switch (nbAlea)//pour la variable nbAlea
    {
      case 1:// si le chiffre est 1 alors
       void case1();
      break;//arret
        
      case 2:// si le chiffre est 2 alors
       void case2();
      break;//arret

si tu virais les void dans tes case

Merci infobarquee pour ta réponse !! je vais essayé ça ! ;)

Merci beaucoup infobarquee !!