C'est le printemps ! Fleur.gif

ENIB 2025 : Reflex Box

De Les Fabriques du Ponant
Révision datée du 23 janvier 2025 à 16:54 par Kom3te (discussion | contributions) (étape 4)
Aller à : navigation, rechercher

Titre de la fiche expérience :

description (résumé)

Photo de l'équipe :

Photo groupe reflex box2.jpg

Introduction

éventuelle vidéo

outil et matériel

Lors de la construction de notre Reflexe Box, nous avons utilisé plusieurs composants :

   - 5 boutons
   - Une batterie externe
   - Une plaque Labdec
   - Un D1 Mini pour contrôler l'ensemble des composants de notre projet
   - Un DF Player MP3 pour lire la carte SD
   - Un ruban de 20 LED permettant d'afficher les scores
   - Des câbles
   - Des planches de cartons servant à confectionner l'armature

Nous avons également eu besoin de plusieurs outils :

   - Un fer à souder
   - Une découpeuse laser
   - Une pince à dénuder

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

indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)

étape 1

Nous avons réfléchi à une idée puis fais un dessin de la future maquette.

Dessin maquette.png

étape 2

Après avoir dessiné la maquette, nous l'avons construite pour se faire une idée plus réelle.


Photo maquette1.jpg Photo maquette2.jpg

étape 3

Nous avons effectuer plusieurs tests afin de nous familiariser avec les composants, de les tester et de verifier quelles utilisations nous pourrons en faire.

étape 4

Nous avons finalisé la boite finale et avons fait un flyer. Photo jules.png Logo.png Flyer.png

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

 1  
 2 /*********
 3   Rui Santos
 4   Complete project details at http://randomnerdtutorials.com  
 5   https://randomnerdtutorials.com/interrupts-timers-esp8266-arduino-ide-nodemcu/
 6 *********/
 7 /*
 8 Lolin (Wemos) D1 mini
 9                                      
10                                 _________________
11                                /     D1 mini     \
12                               |[ ]RST        TX[ ]|
13                               |[ ]A0  -GPIO  RX[ ]|
14                               |[ ]D0-16    5-D1[ ]| SCL
15                         SCK - |[ ]D5-14    4-D2[ ]| SDA
16                        MISO - |[ ]D6-12    0-D3[ ]|
17                        MOSI - |[ ]D7-13    2-D4[ ]| LED_BUILTIN
18                          SS - |[ ]D8-15     GND[ ]|
19                               |[ ]3V3 .      5V[ ]|
20                               |       +---+       |
21                               |_______|USB|_______|
22 
23                               */
24 
25 #define timeSeconds 10
26 
27 // Set GPIOs for LED and PIR Motion Sensor
28 const int led = 2; //D4
29 const int bouton = 0; //D3 input pullup
30 
31 // Timer: Auxiliary variables
32 unsigned long now = millis();
33 unsigned long lastTrigger = 0;
34 boolean startTimer = false;
35 
36 // vérifie si on a appuyé sur le bouton
37 ICACHE_RAM_ATTR void detectsMovement() {
38   Serial.println("bouton appuyé !!!");
39   digitalWrite(led, LOW);
40   startTimer = true;
41   lastTrigger = millis();
42 }
43 
44 void setup() {
45   // Serial port for debugging purposes
46   Serial.begin(115200);
47   
48   // PIR Motion Sensor mode INPUT_PULLUP
49   pinMode(bouton, INPUT_PULLUP);
50   // Set motionSensor pin as interrupt, assign interrupt function and set RISING mode
51   attachInterrupt(digitalPinToInterrupt(bouton), detectsMovement, RISING);
52 
53   // Set LED to LOW
54   pinMode(led, OUTPUT);
55   digitalWrite(led, HIGH);
56 }
57 
58 void loop() {
59   // Current time
60   now = millis();
61   // Turn off the LED after the number of seconds defined in the timeSeconds variable
62   if(startTimer && (now - lastTrigger > (timeSeconds*1000))) {
63     Serial.println("Motion stopped...");
64     digitalWrite(led, LOW);
65     startTimer = false;
66   }
67 }

Elément de présentation

je met ici le document de présentation de mon projet

ne pas modifier sous cette ligne