ENIB 2022 - groupe A : Palette en Bois

De Les Fabriques du Ponant
Aller à : navigation, rechercher

photo de l'équipe

Photoenib2018.jpg

Que fait ce projet ?

c'est un jeu de palette en bois : Lancer une petite palette de diamètre 15mm, après il y a un capteur ultra son qui capte la position du palette et selon sa position un Led s'allume.

  • Règles de jeu :
  tirer une palette avec un élastique  et il y a une zone à viser :  * si la palette tombe dans le carré  la LED ne s'éteint pas  et on gagne
                                                                     * si la palette ne tombe pas dans le carré la LED s'éteint et on perd   
Montage Arduino.jpg
*.jpg
**.jpg

Liste des composants

  • composant 1 Carte Arduino
  • composant 2 Bois
  • composant 3 Capteur ultra son
  • composant 4 Fils
  • composant 5 Led

Code

ici je pose mon code documenté !

/* Constantes pour les broches */ const byte TRIGGER_PIN = 5; // Broche TRIGGER const byte ECHO_PIN = 4; // Broche ECHO

/* Constantes pour le timeout */ const unsigned long MEASURE_TIMEOUT = 25000UL; // 25ms = ~8m à 340m/s

/* Vitesse du son dans l'air en mm/us */ const float SOUND_SPEED = 340.0 / 1000;

  1. define LEDPIN 13

/** Fonction setup() */ void setup() {

 /* Initialise le port série */
 Serial.begin(9600);
  
 /* Initialise les broches */
 pinMode(TRIGGER_PIN, OUTPUT);
 digitalWrite(TRIGGER_PIN, LOW); // La broche TRIGGER doit être à LOW au repos
 pinMode(ECHO_PIN, INPUT);
 pinMode(LEDPIN, OUTPUT);

}

/** Fonction loop() */ void loop() {

 /* 1. Lance une mesure de distance en envoyant une impulsion HIGH de 10µs sur la broche TRIGGER */
 digitalWrite(TRIGGER_PIN, HIGH);
 delayMicroseconds(10);
 digitalWrite(TRIGGER_PIN, LOW);
 
 /* 2. Mesure le temps entre l'envoi de l'impulsion ultrasonique et son écho (si il existe) */
 long measure = pulseIn(ECHO_PIN, HIGH, MEASURE_TIMEOUT);
  
 /* 3. Calcul la distance à partir du temps mesuré */
 float distance_mm = measure / 2.0 * SOUND_SPEED;
  float a = distance_mm;
 /* Affiche les résultats en mm, cm et m */
 Serial.print(F("Distance: "));
 Serial.print(a);
 Serial.print(F("mm \n"));


if(a>60){

   digitalWrite(LEDPIN,HIGH);//led on

} else{ digitalWrite(LEDPIN,LOW);//led off }


 /* Délai d'attente pour éviter d'afficher trop de résultats à la seconde */
 delay(500);
  

}

Catégories