C'est l'hiver ! Hiver.gif

ENIB 2026 : James Box 007

De Les Fabriques du Ponant
Révision datée du 22 janvier 2026 à 11:46 par Thibault Ma (discussion | contributions) (étape 3)
Aller à : navigation, rechercher

Titre de la fiche expérience :

description (résumé)

Voici une photo de notre groupe avec Wilhem, Elouan et Thibault

JamesBox Team.JPG


Première conceptualisation de notre projet :

Plan JamesBox.jpg

Introduction

James Bond veut dérober nos recherches. Pour protéger notre travail, nous devons concevoir une alarme qui nous avertira de sa venue. Nous avons décidé de la fabriquer nous-mêmes en utilisant un détecteur de présence couplé à une alarme sonore, ce qui nous permettra à coup sûr de le coincer.

outil et matériel

Trois Led de signalement :

JamesBox LED.JPG

Un bouton poussoir :

JamesBox Bouton.JPG

Un sonar/détecteur de mouvement :

JamesBox Sonar.JPG

Deux cartes ESP32 :

JamesBox Esp32.JPG

Un haut parleur :

JamesBox HautParleur.JPG

Deux servo moteurs SG90 :

JamesBox Moteur.JPG

fichiers à joindre

Mettre du code Arduino

Code test haut parleur :

 1  
 2 #define pinDeSortieArduino 32 
 3 #define frequenceDeDebut 700 // Fréquence "basse" de la sirène
 4 #define frequenceDeFin 2700 // Fréquence "haute" de la sirène
 5 
 6 void setup()
 7 {
 8  pinMode(pinDeSortieArduino, OUTPUT);
 9 } 
10 
11 void loop()
12 {
13  // Phase de "montée" sirène
14  for (int i = frequenceDeDebut; i < frequenceDeFin; i=i+3) {
15  tone(pinDeSortieArduino, i); 
16  delay(1); 
17  }
18 
19  // Phase de "descente" sirène
20  for (int i = frequenceDeFin; i > frequenceDeDebut; i=i-3) {
21  tone(pinDeSortieArduino, i); 
22  delay(1); 
23  }
24 }

Code test servo moteur :

 1 #include <ESP32Servo.h>
 2 #define PIN_SG90 22 // Broche de sortie utilisée
 3 
 4 Servo sg90;
 5 
 6 void setup() {
 7   sg90.setPeriodHertz(50); // Fréquence PWM pour le SG90
 8   sg90.attach(PIN_SG90, 500, 2400); // Largeur minimale et maximale de l'impulsion (en µs) pour aller de 0° à 180°
 9 }
10 
11 void loop() {
12  // Rotation de 0 à 180°
13   for (int pos = 0; pos <= 180; pos += 1) {
14     sg90.write(pos);
15     delay(10);
16   }
17  // Rotation de 180° à 0°
18   for (int pos = 180; pos >= 0; pos -= 1) {
19     sg90.write(pos);
20     delay(10);
21   }
22 }

étapes de fabrication

étape 1

Réflexion et conceptualisation du projet. Après une phase de réflexion, nous avons finalisé le schéma du boîtier. Celui-ci intègre le détecteur d'une part, et les interfaces de sortie (LEDs et haut-parleur) d'autre part. Ce dispositif nous permettra d'être alertés à distance de l'intrusion de James Bond dans la pièce.

Plan JamesBox.jpg

étape 2

Phase de test du matériel et des interactions. Pour commencer, nous avons récupéré des codes de base sur Internet afin de valider le fonctionnement individuel de chaque composant. Nous les avons ensuite adaptés pour qu'ils correspondent à nos besoins spécifiques. Cette approche nous fournit une base solide pour chaque module, ce qui facilitera grandement l'écriture du programme final.

JamesBox test3.JPG Elouan Code.JPG Wilhem Teste.JPG

étape 3

Documentation continue sur le Wiki. Nous rédigeons le wiki au fur et à mesure de l'avancement du projet. Nous prenons soin de photographier chaque étape afin d'illustrer nos propos et d'en faciliter la compréhension. Cette rédaction en temps réel nous assure de ne rien omettre, notamment concernant les difficultés rencontrées.

Thibault Rédige.JPG

étape 4

Câblage et construction de la box.

JamesBox Découpage.JPG Wilhem cable.JPG

étape 5

Assemblage et codage des composants entre eux.

JamesBox CablageFinal.JPG JamesBox CodageFinal.JPG

Troubleshouting

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

Nous avons rencontré deux problèmes majeurs qui nous ont demandé beaucoup de temps.

Le premier concernait le haut-parleur. Impossible de le faire fonctionner, malgré le remplacement du matériel et la modification du code. Nous avons finalement identifié l'origine du problème : une soudure défectueuse. Une fois celle-ci refaite, le système a fonctionné immédiatement.

Le second obstacle concernait la connexion Wi-Fi entre les deux cartes, qui s'est révélée plus complexe que prévu. Nous avons eu des difficultés à appréhender le code nécessaire et, lors de nos essais, nous avons malheureusement endommagé quelques composants. Mais nous avons quand même réussis à les connecter.

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

Fichier:James Box 007.pdf

ne pas modifier sous cette ligne