ENIB 2024 : Le cyclone COMUR
Titre de la fiche expérience :
Sommaire
- 1 Description (résumé)
- 2 Introduction
- 3 Outil et matériel
- 4 Fichiers à joindre
- 5 Étapes de fabrication
- 5.1 étape 1 : comprendre le fonctionnement du jeu
- 5.2 étape 2 : réunir le matériel nécessaire
- 5.3 étape 3 : dessiner le design sur papier
- 5.4 étape 4 : découper le socle
- 5.5 étape 5 : faire le câblage sur Tinkercad
- 5.6 étape 6 : réaliser le câblage et tester le code
- 5.7 étape 7 : finir la maquette
- 5.8 Troubleshouting
- 6 Sources et documentation complémentaire
- 7 ne pas modifier sous cette ligne
Description (résumé)
Notre jeu s'appelle "Le cyclone". Le but est simple, appuyer sur le bouton quand la led tournante atteint la led statique sur le cercle de 60 leds. Il y a 5 niveaux de difficultés différentes. La vitesse d'allumage des leds augmente à chaque niveau. Ci-dessous vous verrez une vidéo exemple de notre jeu :
👉Don't forget to have fun with the kids while doing the project.
— Cute Lava (@OffiCuteLava) January 31, 2020
➡️ Follow us @officutelava👍
➡️ Video by @stevenkroon 👏👏#microcontroller #engineers #Electronic #engineering #technology #electronics #diyprojects #arduino #arduinoproject #arduinofun #kids #fun pic.twitter.com/JvCprJGtyo
Introduction
Voici une photo de notre groupe :
Notre groupe est composé de :
- Sofiya Debois
- Korao Layo Fatima Nadjad
- Maximin Bourgeais
- Côme Beaudouin
- Arthur Bernel
- Azad Arbab Chirani
Outil et matériel
Ici, on va pouvoir retrouver la liste de matériels ainsi que les outils nécessaire à la confection de notre jeu.
Il nous faut :
- une pochette avec le matériel de base
- une carte ESP WROOM 32
- des résistances pour arriver à 219 Ohms (il nous faut 2 fois ça)
- des résistances pour arriver à 830 Ohms
- un buzzer
- une batterie portative
- des câbles
Fichiers à joindre
code, ficher d'impression 3D, de découpe laser ou vinyle, ...
Mettre du code Arduino
1
2 #define PIN 9
3 #include <Arduino_GFX_Library.h>
4
5 void setup() {
6 // put your setup code here, to run once:
7
8 }
9
10 void loop() {
11 // put your main code here, to run repeatedly:
12
13 }
Étapes de fabrication
On va indiquer ici toutes les étapes de la création du prototype à la version finale de notre projet (avec des photos, dessins...).
étape 1 : comprendre le fonctionnement du jeu
En allant sur le wiki de la fabrique du ponant, vous pouvez retrouver des vidéos montrant le fonctionnement du jeu (voir la vidéo dessus). On retrouve aussi un prototype de code qu'on va modifier pour qu'il fonctionne avec notre matériel.
étape 2 : réunir le matériel nécessaire
Au niveau du matériel, dès le début, vous avez une pochette avec à l'intérieur, une ring avec 60 leds, une bande de 5 leds, un transistor, une plaquette pour les liaisons entre les résistances et les câbles et un bouton. Il a fallu qu'on aille chercher en plus :
- une carte ESP WROOM 32
- des câbles
- une résistance 830 Ohms (on l'a décomposé en une résistance de 680 Ohms et une résistance de 150 Ohms)
- deux résistances de 219 Ohms (on les a décomposé en trois résistance de 68 ohms et une résistance de 15 Ohms)
- un buzzer
- une batterie portative
étape 3 : dessiner le design sur papier
Avant de faire la découpe du carton, on a dessiné un design sur papier.
étape 4 : découper le socle
On a décidé de faire notre jeu en carton. Voici les découpes qu'on a réalisé :
On a rajouté cette découpe en noir pour la customisation de notre jeu.
étape 5 : faire le câblage sur Tinkercad
étape 6 : réaliser le câblage et tester le code
On réalise le câblage final pour voir si tout fonctionne bien (le code, le téléversement sur la carte...).
étape 7 : finir la maquette
Troubleshouting
Le premier problème qu'on a rencontré est au niveau du code. Au lieu d'avoir le jeu du cyclone, on a toute les leds qui s'allument ce qui n'est pas normal (voir photo).
Le problème venait des entrées sur le code car nous n'avons pas la même carte que le code qu'on nous a donné.
1
2 #include "FastLED.h" //Bibliothèque permettant de gérer les LEDs
3 #define NUM_LEDS 60 //Le nombre de LEDs sur le ring
4 #define DATA_PIN 0 //Pin correspondant au ring
5 #define BUTTON_PIN 2 //Pin du bouton
6 #define SCORE_PIN 4 //Pin de la bande LED du score
7 #define SCORE_LEDS 5 //Le nombre de LEDs sur la bande du score
8 #define BRIGHTNESS 10 //Luminosité des LEDs du jeu
9 CRGB leds[NUM_LEDS]; //ring LED
10 CRGB sleds[NUM_LEDS]; //bande LED
Le second problème était un problème de temps. A chaque fois qu'on passait au niveau suivant, on devait attendre une trentaine de secondes, ce qui est vachement long. Le problème venait entre autre du buzzer. Notre jeu a normalement besoin d'un buzzer passif et notre programme doit générer une fréquence pour ce buzzer. Elle était créé par la fonction arduino "tone", qui ralenti énormément notre programme. On l'a donc enlevé car nous n'avons pas à disposition d'haut parleur passif.
Sources et documentation complémentaire
Téléchargez le fichier de découpe