Deux vidéos de présentation du circuit de billes réalisé durant l'ARE (aménagement du rythme scolaire) de l'école Victoire à Paris.

La première vidéo, vue du dessus, présente le parcours réalisé en entier. Le but est de déclencher la bille suivante ainsi que des capteurs qui allument différentes LED. Les codes ARDUINO réalisés par les enfants pour les chenillards sont disponibles plus loin.
La seconde vidéo donne quelques détails de déclenchements.

Le Code des chenillards :

int pause = 25; //définie le temps de pause entre chaque action int k=0; //sera utilisé pour faire des nombres paires //PARTIE RECUPERER DE L'EXEMPLE BOUToN // constants won't change. They're used here to // set pin numbers: const int buttonPin = 21; // the number of the pushbutton pin const int ledPin = 14; // the number of the LED pin

// variables will change: int buttonState = 0; // variable for reading the pushbutton status

//fin de la partie récupéré http://www.arduino.cc/en/Tutorial/Button void setup() { // on fait une boucle pour ne pas écrire 10 fois la même chose // cela va numéroter les pins de 2 à 10 et les régler en sortie // for (int Pin = 1; Pin < 13; Pin) { // pin veut dire Pin=Pin + 1, la boucle fait pin+1 a chaque tour

 // on met les sorties sur sortie le courant sort du pin
   pinMode(Pin, OUTPUT);

//PARTIE RECUPERER DE L'EXEMPLE BOUToN

    // initialize the LED pin as an output:
 pinMode(ledPin, OUTPUT);
 // initialize the pushbutton pin as an input:
 pinMode(buttonPin, INPUT);   
 //fin de la partie récupéré

} //__

}

void loop() {

 buttonState = digitalRead(buttonPin);
 //adapté de l'exemple bouton
 // if it is, the buttonState is LOW:
 if (buttonState == LOW) {
  
   digitalWrite(ledPin, HIGH);
 }
    else
    {

 //fait avancer la led allumée
 digitalWrite (1,HIGH);
 delay (2*pause);
 digitalWrite (1,LOW);
 digitalWrite (2,HIGH);
 delay (2*pause);
 digitalWrite (2,LOW);
 digitalWrite (3,HIGH);
 delay (2*pause);digitalWrite (3,LOW);  digitalWrite (4,HIGH);
 delay (2*pause);digitalWrite (4,LOW);  digitalWrite (5,HIGH);
 delay (2*pause);digitalWrite (5,LOW);  digitalWrite (6,HIGH);
 delay (2*pause);digitalWrite (6,LOW);  digitalWrite (7,HIGH);
 delay (2*pause);digitalWrite (7,LOW);  digitalWrite (8,HIGH);
 delay (2*pause);digitalWrite (8,LOW);  digitalWrite (9,HIGH);
 delay (2*pause);digitalWrite (9,LOW);  digitalWrite (10,HIGH);
 delay (2*pause);digitalWrite (10,LOW);  digitalWrite (11,HIGH);
 delay (2*pause);digitalWrite (11,LOW);  digitalWrite (12,HIGH);
  delay (10*pause);
 //fait reculer la led allumée
 digitalWrite (13,HIGH);
 for (int i = 13; i >1; i--)
     {
         delay (2*pause);digitalWrite (i,LOW);  digitalWrite (i-1,HIGH);
     }
delay (10*pause);
 
  //fait danser les led 
 for (int j = 0; j <6; j++)
 { 

   for (int i = 0; i <7; i++)
     {        
       k=2*i;
     
       digitalWrite (k,HIGH);  digitalWrite (k+1,LOW);          
     }
     delay (10*pause); 
     for (int i = 0; i <7; i++)
     {         
       k=2*i;
       digitalWrite (k+1,HIGH);  digitalWrite (k,LOW);
               
     }
      delay (10*pause); 
 }

for (int j = 0; j <4; j++)

 {  
 //allume une part une   
  
  for (int i = 0; i <13; i++)
     {
         delay (2*pause);digitalWrite (i,HIGH); 
     }
// eteind une part une
for (int i = 13; i >1; i--)
     {
         delay (2*pause);digitalWrite (i,LOW); 
     }
 }

for (int j = 0; j <6; j++)

 { 
// allume en variant l'intensité
 for (int w = 0; w <255; w++)

{ for (int i = 13; i >0; i--)

     {
        analogWrite (i,w); 
     }
     delay (5);
     }
// éteind en variant l'intensité
for (int w = 255; w >10; w--)

{ for (int i = 13; i >0; i--)

     {
        analogWrite (i,w); 
     }
     delay (5);
     }
 }
 
 }}