ENIB 2026 : Giroupète : Différence entre versions
(→Outils et matériel) |
(→Description du projet) |
||
| Ligne 11 : | Ligne 11 : | ||
==Description du projet== | ==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 | + | La giroupète est un POCL conçu lors du hackaton ENIB de 2026. Il consiste en un jeu en "un contre un" 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. | 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. | ||
Version du 22 janvier 2026 à 14:13
vignette Titre de la fiche expérience :
Sommaire
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" 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.
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
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.