ENIB 2022 - groupe A : Palette en Bois

De Les Fabriques du Ponant
Aller à : navigation, rechercher

photo de l'équipe

Que fait ce projet ?

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

  • tirer un palet avec un élastique et il y a une zone à viser :
  • si le palet tombe dans le carré la LED s'allume et on gagne
  • si le palet ne tombe pas dans le carré la LED s'éteint et on perd
Montage Arduino.jpg
*.jpg
*1.jpg
2*.jpg
3*.jpg
4*.jpg

Liste des composants

  • composant 1 Carte Arduino (D1 mini)
  • composant 2 Bois
  • composant 3 Capteur ultra son (HC-SR04)
  • composant 4 Fils
  • composant 5 Led

Code




/* 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;
#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