C'est l'hiver ! Hiver.gif

ENIB 2026 : Giroupète : Différence entre versions

De Les Fabriques du Ponant
Aller à : navigation, rechercher
(Construction du plateau)
(Outils et matériel)
Ligne 23 : Ligne 23 :
 
* 2 boutons poussoirs
 
* 2 boutons poussoirs
 
* 1 ESP32
 
* 1 ESP32
* 2 SG90
+
* 2 moteurs SG90
  
 
==Fichiers==
 
==Fichiers==

Version du 22 janvier 2026 à 14:10

vignette Titre de la fiche expérience :

Notre équipe

Nous avons conçu ce projet à quatre lors du hackaton ENIB-Les petits débrouillards de 2026 :
- Gueguen Samuel
- Gruson Malo
- Gobichon Raphaël
- Benard Théo

Description du projet

La giroupète est un POCL conçu lors du hackaton ENIB de 2026. Il consiste en un jeu en "un contre un" ou "deux contre deux" dont l'objectif est de percer le ballon adversaire (d'où "pète"). Il faut manoeuvrer un baton pour défendre son ballon et attaquer celui de l'adversaire. Un bouton enclenche le moteur qui fait un mouvement de 180°. Si le ballon est dans la trajectoire du bras du moteur : il sera percé. En effet, le bras est directement relié à une pointe visant à percer.

Spécificité supplémentaire : la vitesse du moteur est contrôlé par la vitesse du vent à Brest. Ainsi, plus les rafales sont grandes, plus le bras sera rapide.

Giroupete maquette.jpg

Outils et matériel

  • Carton
  • Colle
  • Cutter
  • 2 boutons poussoirs
  • 1 ESP32
  • 2 moteurs SG90

Fichiers

Code Arduino

 1  
 2 #define PIN 9
 3 #include <Arduino_GFX_Library.h>
 4 #include <WiFi.h>
 5 #include <HTTPClient.h>
 6 #include <ArduinoJson.h>
 7 #include <ESP32Servo.h>
 8 
 9 const char* ssid = "FABLAB 2.4";
10 const char* password = "MonPetitPonant";
11 
12 const char* ville = "Paris,FR";
13 const char* apiKey = "06661f569132eb326f940c96da9e0d84";
14 
15 Servo monServo;
16 int servoPin = 27;
17 
18 void setup() { 
19   Serial.begin(115200);
20   monServo.attach(servoPin);
21   monServo.write(0);
22 
23   WiFi.begin(ssid, password);
24   Serial.print("Connexion WiFi");
25   while(WiFi.status() != WL_CONNECTED){
26     delay(500);
27     Serial.print(".");
28   }
29   Serial.println("Connecté !");
30 }
31 
32 void loop() {
33   if(WiFi.status() == WL_CONNECTED){
34     HTTPClient http;
35     String url = "http://api.openweathermap.org/data/2.5/weather?q=" + String(ville) + "&appid=" + apiKey + "&units=metric";
36     http.begin(url);
37     int httpCode = http.GET();
38 
39     if(httpCode == 200){
40       String payload = http.getString();
41       StaticJsonDocument<1024> doc;
42       deserializeJson(doc, payload);
43       float vent = doc["wind"]["speed"]; // vitesse du vent en m/s
44       Serial.print("Vent actuel (m/s): ");
45       Serial.println(vent);
46 
47       // Mapping vent → angle servo
48       int angle = map((int)(vent*10), 0, 200, 0, 180);
49       angle = constrain(angle, 0, 180);
50       monServo.write(angle);
51     } else {
52       Serial.println("Erreur HTTP");
53     }
54 
55     http.end();
56   }
57   delay(5000); // update toutes les 5s

Etapes de fabrication

Construction du plateau

  • Faire une base en carton pour le plateau de 30x40cm
  • Ajouter des lignes en carton de 3x40cm sur les deux bords opposés de la base
  • Ajouter des lignes en carton de 3x30cm sur les autres bords

Résultat attendus : Base avec bordure, il y a de deux des côtés (face à face) un espace dans lequel pourront s'insérer les batons
Giroupete plateau.jpg

Etape 2

Troubleshouting

Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?

Sources et documentation complémentaire

  • Rédаctiоn et illustratiоn :

Pоur tоus vоs trаvauх, qu'ils sоient écrits оu visuels, l'utilisatiоn de l'intеlligеnce artificiеllе générativе, que сe sоit pоur le teхte оu les images, n'еst pas conseillé.

  • Prоgrammаtiоn :

En сe qui cоncernе la prоgrаmmatiоn, il est еssentiеl de ne pаs faire dе l'IA vоtrе prеmier rеcоurs. Cоncеntrеz-vоus d'abоrd sur vоtre prоpre lоgiquе, votre experience еt lеs ressоurcеs disponibles.

  • Transpаrence et dосumеntatiоn :

Si vоus utilisеz l'IA pоur déblоquer оu améliоrеr une pаrtiе de vоtre cоdе, il est cruciаl de l'indiquеr сlairеmеnt dans vоtre dосumentatiоn tеchniquе.

  • Traçabilité :

Chаque ехtrait de cоde généré avес l'аidе de l'IA dоit êtrе accоmpagné de la sоurce, ainsi que du prоmpt eхact qui a été utilisé pоur sа créatiоn, afin d'аssurеr une évaluatiоn clаire dе vоtre prоcessus.

Elément de présentation

Giroupete diapo.jpg

ne pas modifier sous cette ligne