<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
		<id>http://wiki.lesfabriquesduponant.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nopinks</id>
		<title>Les Fabriques du Ponant - Contributions de l’utilisateur [fr]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.lesfabriquesduponant.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nopinks"/>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Sp%C3%A9cial:Contributions/Nopinks"/>
		<updated>2026-05-01T04:10:10Z</updated>
		<subtitle>Contributions de l’utilisateur</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_Reflex_Box&amp;diff=30287</id>
		<title>ENIB 2025 : Reflex Box</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_Reflex_Box&amp;diff=30287"/>
				<updated>2025-01-23T15:22:53Z</updated>
		
		<summary type="html">&lt;p&gt;Nopinks : /* étape 4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Photo de l'équipe :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:photo_groupe_reflex_box2.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
Lors de la construction de notre Reflexe Box, nous avons utilisé plusieurs composants :&lt;br /&gt;
    - 5 boutons&lt;br /&gt;
    - Une batterie externe&lt;br /&gt;
    - Une plaque Labdec&lt;br /&gt;
    - Un D1 Mini pour contrôler l'ensemble des composants de notre projet&lt;br /&gt;
    - Un DF Player MP3 pour lire la carte SD&lt;br /&gt;
    - Un ruban de 20 LED permettant d'afficher les scores&lt;br /&gt;
    - Des câbles&lt;br /&gt;
    - Des planches de cartons servant à confectionner l'armature&lt;br /&gt;
&lt;br /&gt;
Nous avons également eu besoin de plusieurs outils :&lt;br /&gt;
    - Un fer à souder&lt;br /&gt;
    - Une découpeuse laser&lt;br /&gt;
    - Une pince à dénuder&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
#define PIN 9&lt;br /&gt;
#include &amp;lt;Arduino_GFX_Library.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
&lt;br /&gt;
Nous avons réfléchi à une idée puis fais un dessin de la future maquette.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:dessin_maquette.png|400px]]&lt;br /&gt;
&lt;br /&gt;
===étape 2===&lt;br /&gt;
&lt;br /&gt;
Après avoir dessiné la maquette, nous l'avons construite pour se faire une idée plus réelle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:photo_maquette1.jpg|400px]]&lt;br /&gt;
[[Fichier:photo_maquette2.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
===étape 3===&lt;br /&gt;
Nous avons effectuer plusieurs tests afin de nous familiariser avec les composants, de les tester et de verifier quelles utilisations nous pourrons en faire.&lt;br /&gt;
[[Fichier:Débutcode.png|400px]]&lt;br /&gt;
===étape 4===&lt;br /&gt;
Nous avons designer notre reflexe box sur Inkscape afin de la réaliser a la découpe laser.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Decoupagecarton.png|400px]]&lt;br /&gt;
&lt;br /&gt;
===étape 5===&lt;br /&gt;
Nous avons finalisé la boite finale et avons fait un flyer.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:logo.png|400px]]&lt;br /&gt;
[[Fichier:photo_jules.png|400px]]&lt;br /&gt;
[[Fichier:flyer.png|400px]]&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont les difficultés, les problèmes, les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
Nous avons rencontré de nombreuses difficultés concernant l'écriture du code. De plus, il reste encore de nombreux bugs qui permettent d'ajouter beaucoup de points.&lt;br /&gt;
Nous avons également rencontré des problèmes liés à la taille de la boîte. Celle-ci, étant assez volumineuse (50 x 30 x 10 cm), n’a pas pu être fabriquée en bois. Nous avons donc dû nous résoudre à la réaliser en carton, ce qui a malheureusement diminué sa solidité.&lt;br /&gt;
&lt;br /&gt;
/*                              &lt;br /&gt;
                                     BROCHAGE                            &lt;br /&gt;
                                _________________                        &lt;br /&gt;
                               /     D1 mini     \                       &lt;br /&gt;
                              |[ ]RST        TX[ ]|                   &lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|                    &lt;br /&gt;
                              |[ ]D0-16    5-D1[X]| - data du ruban de led                    &lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]|                     &lt;br /&gt;
                              |[ ]D6-12    0-D3[ ]|               &lt;br /&gt;
                              |[ ]D7-13    2-D4[ ]| LED_BUILTIN          &lt;br /&gt;
                              |[ ]D8-15     GND[X]| - masse du ruban         &lt;br /&gt;
                              |[ ]3V3 .      5V[X]| - Alim du ruban         &lt;br /&gt;
                              |       +---+       |                     &lt;br /&gt;
                              |_______|USB|_______|     &lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;SoftwareSerial.h&amp;gt;&lt;br /&gt;
#include &amp;lt;DFRobotDFPlayerMini.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SoftwareSerial mySoftwareSerial(14, 12);  // TX, RX&lt;br /&gt;
DFRobotDFPlayerMini myDFPlayer;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define broche        5 //D1&lt;br /&gt;
#define nbpixels 20&lt;br /&gt;
&lt;br /&gt;
Adafruit_NeoPixel pixels(nbpixels, broche, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
#define delai 30&lt;br /&gt;
&lt;br /&gt;
const int BPstart = 2; //D4&lt;br /&gt;
const int BPred1 = 15; //D8&lt;br /&gt;
const int BPblue1 = 4; //D2&lt;br /&gt;
const int BPred2 = 13; //D7&lt;br /&gt;
const int BPblue2 = 0; //D3&lt;br /&gt;
&lt;br /&gt;
int v_compteur1 = -1;&lt;br /&gt;
int v_compteur2 = 20;&lt;br /&gt;
volatile int son = 0; // Utilisez volatile pour indiquer que cette variable peut être modifiée par une ISR&lt;br /&gt;
&lt;br /&gt;
ICACHE_RAM_ATTR void red1() {&lt;br /&gt;
  if (son == 3 || son == 6) {&lt;br /&gt;
    v_compteur1 += 2;&lt;br /&gt;
    score(v_compteur1);&lt;br /&gt;
  } else {&lt;br /&gt;
    v_compteur2 -= 2;&lt;br /&gt;
    score(v_compteur2);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ICACHE_RAM_ATTR void blue1() {&lt;br /&gt;
  if (son == 5 || son == 4) {&lt;br /&gt;
    v_compteur1 += 1;&lt;br /&gt;
    score(v_compteur1);&lt;br /&gt;
  } else {&lt;br /&gt;
    v_compteur2 -= 1;&lt;br /&gt;
    score(v_compteur2);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ICACHE_RAM_ATTR void red2() {&lt;br /&gt;
  if (son == 3 || son == 6) {&lt;br /&gt;
    v_compteur2 -=2;&lt;br /&gt;
    score(v_compteur2);&lt;br /&gt;
  } else {&lt;br /&gt;
    v_compteur1 += 2;&lt;br /&gt;
    score(v_compteur1);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ICACHE_RAM_ATTR void blue2() {&lt;br /&gt;
  if (son == 5 || son == 4) {&lt;br /&gt;
    v_compteur2 -= 1;&lt;br /&gt;
    score(v_compteur2);&lt;br /&gt;
  } else {&lt;br /&gt;
    v_compteur1 += 1;&lt;br /&gt;
    score(v_compteur1);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void victory1() {&lt;br /&gt;
  for (int i = 0; i &amp;lt; 20; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(255, 0, 100));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  delay(10000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void victory2() {&lt;br /&gt;
  for (int i = 0; i &amp;lt; 20; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(255, 65, 0));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  delay(10000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void resetLeds() {&lt;br /&gt;
  v_compteur1 = -1;&lt;br /&gt;
  v_compteur2 = 20;&lt;br /&gt;
  for (int i = 0; i &amp;lt; 20; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(0, 0, 0));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void score(int compteur) {&lt;br /&gt;
  if (compteur &amp;lt; 10) { // Gestion pour compteur1&lt;br /&gt;
    for (int i = 0; i &amp;lt;= compteur; i++) {&lt;br /&gt;
      pixels.setPixelColor(i, pixels.Color(0, 255, 0));&lt;br /&gt;
    }&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    if (compteur == 9) {&lt;br /&gt;
      victory1(); // Appelle victory1() pour compteur1&lt;br /&gt;
      resetLeds();&lt;br /&gt;
    }&lt;br /&gt;
  } else if (compteur &amp;gt;= 10) { // Gestion pour compteur2&lt;br /&gt;
    for (int j = 19; j &amp;gt;= compteur; j--) {&lt;br /&gt;
      pixels.setPixelColor(j, pixels.Color(0, 255, 0));&lt;br /&gt;
    }&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    if (compteur == 10) {&lt;br /&gt;
      victory2(); // Appelle victory2() pour compteur2&lt;br /&gt;
      resetLeds();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(BPred1, INPUT);&lt;br /&gt;
  attachInterrupt(digitalPinToInterrupt(BPred1), red1, RISING);&lt;br /&gt;
  pinMode(BPblue1, INPUT);&lt;br /&gt;
  attachInterrupt(digitalPinToInterrupt(BPblue1), blue1, RISING);&lt;br /&gt;
  pinMode(BPred2, INPUT);&lt;br /&gt;
  attachInterrupt(digitalPinToInterrupt(BPred2), red2, RISING);&lt;br /&gt;
  pinMode(BPblue2, INPUT);&lt;br /&gt;
  attachInterrupt(digitalPinToInterrupt(BPblue2), blue2, RISING);&lt;br /&gt;
  pixels.begin();           // INITIALISE l'objet ruban NeoPixel&lt;br /&gt;
  pixels.show();            // Éteint tous les pixels aussi vite que possible.&lt;br /&gt;
  pixels.setBrightness(50); // Gère la luminosité (max = 255)&lt;br /&gt;
&lt;br /&gt;
  mySoftwareSerial.begin(9600);&lt;br /&gt;
  myDFPlayer.begin(mySoftwareSerial);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  bool posBPred1 = digitalRead(BPred1);&lt;br /&gt;
  bool posBPblue1 = digitalRead(BPblue1);&lt;br /&gt;
  bool posBPred2 = digitalRead(BPred2);&lt;br /&gt;
  bool posBPblue2 = digitalRead(BPblue2);&lt;br /&gt;
&lt;br /&gt;
  son = random(1, 7); // Génère un nombre aléatoire entre 1 et 6&lt;br /&gt;
  int attente = random(2000, 5000);&lt;br /&gt;
  myDFPlayer.setTimeOut(500);&lt;br /&gt;
&lt;br /&gt;
  myDFPlayer.volume(30); // Fixe le volume à 30 (maximum)&lt;br /&gt;
&lt;br /&gt;
  myDFPlayer.play(son);         // Joue le fichier son correspondant&lt;br /&gt;
&lt;br /&gt;
  delay(attente);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>Nopinks</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_Reflex_Box&amp;diff=30285</id>
		<title>ENIB 2025 : Reflex Box</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_Reflex_Box&amp;diff=30285"/>
				<updated>2025-01-23T15:22:33Z</updated>
		
		<summary type="html">&lt;p&gt;Nopinks : /* étape 4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Photo de l'équipe :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:photo_groupe_reflex_box2.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
Lors de la construction de notre Reflexe Box, nous avons utilisé plusieurs composants :&lt;br /&gt;
    - 5 boutons&lt;br /&gt;
    - Une batterie externe&lt;br /&gt;
    - Une plaque Labdec&lt;br /&gt;
    - Un D1 Mini pour contrôler l'ensemble des composants de notre projet&lt;br /&gt;
    - Un DF Player MP3 pour lire la carte SD&lt;br /&gt;
    - Un ruban de 20 LED permettant d'afficher les scores&lt;br /&gt;
    - Des câbles&lt;br /&gt;
    - Des planches de cartons servant à confectionner l'armature&lt;br /&gt;
&lt;br /&gt;
Nous avons également eu besoin de plusieurs outils :&lt;br /&gt;
    - Un fer à souder&lt;br /&gt;
    - Une découpeuse laser&lt;br /&gt;
    - Une pince à dénuder&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
#define PIN 9&lt;br /&gt;
#include &amp;lt;Arduino_GFX_Library.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
&lt;br /&gt;
Nous avons réfléchi à une idée puis fais un dessin de la future maquette.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:dessin_maquette.png|400px]]&lt;br /&gt;
&lt;br /&gt;
===étape 2===&lt;br /&gt;
&lt;br /&gt;
Après avoir dessiné la maquette, nous l'avons construite pour se faire une idée plus réelle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:photo_maquette1.jpg|400px]]&lt;br /&gt;
[[Fichier:photo_maquette2.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
===étape 3===&lt;br /&gt;
Nous avons effectuer plusieurs tests afin de nous familiariser avec les composants, de les tester et de verifier quelles utilisations nous pourrons en faire.&lt;br /&gt;
[[Fichier:Débutcode.png|400px]]&lt;br /&gt;
===étape 4===&lt;br /&gt;
&lt;br /&gt;
Nous avons designer notre reflexe box sur Inkscape afin de la réaliser a la découpe laser.&lt;br /&gt;
[[Fichier:Decoupagecarton.png|400px]]&lt;br /&gt;
&lt;br /&gt;
===étape 5===&lt;br /&gt;
Nous avons finalisé la boite finale et avons fait un flyer.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:logo.png|400px]]&lt;br /&gt;
[[Fichier:photo_jules.png|400px]]&lt;br /&gt;
[[Fichier:flyer.png|400px]]&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont les difficultés, les problèmes, les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
Nous avons rencontré de nombreuses difficultés concernant l'écriture du code. De plus, il reste encore de nombreux bugs qui permettent d'ajouter beaucoup de points.&lt;br /&gt;
Nous avons également rencontré des problèmes liés à la taille de la boîte. Celle-ci, étant assez volumineuse (50 x 30 x 10 cm), n’a pas pu être fabriquée en bois. Nous avons donc dû nous résoudre à la réaliser en carton, ce qui a malheureusement diminué sa solidité.&lt;br /&gt;
&lt;br /&gt;
/*                              &lt;br /&gt;
                                     BROCHAGE                            &lt;br /&gt;
                                _________________                        &lt;br /&gt;
                               /     D1 mini     \                       &lt;br /&gt;
                              |[ ]RST        TX[ ]|                   &lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|                    &lt;br /&gt;
                              |[ ]D0-16    5-D1[X]| - data du ruban de led                    &lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]|                     &lt;br /&gt;
                              |[ ]D6-12    0-D3[ ]|               &lt;br /&gt;
                              |[ ]D7-13    2-D4[ ]| LED_BUILTIN          &lt;br /&gt;
                              |[ ]D8-15     GND[X]| - masse du ruban         &lt;br /&gt;
                              |[ ]3V3 .      5V[X]| - Alim du ruban         &lt;br /&gt;
                              |       +---+       |                     &lt;br /&gt;
                              |_______|USB|_______|     &lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;SoftwareSerial.h&amp;gt;&lt;br /&gt;
#include &amp;lt;DFRobotDFPlayerMini.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SoftwareSerial mySoftwareSerial(14, 12);  // TX, RX&lt;br /&gt;
DFRobotDFPlayerMini myDFPlayer;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define broche        5 //D1&lt;br /&gt;
#define nbpixels 20&lt;br /&gt;
&lt;br /&gt;
Adafruit_NeoPixel pixels(nbpixels, broche, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
#define delai 30&lt;br /&gt;
&lt;br /&gt;
const int BPstart = 2; //D4&lt;br /&gt;
const int BPred1 = 15; //D8&lt;br /&gt;
const int BPblue1 = 4; //D2&lt;br /&gt;
const int BPred2 = 13; //D7&lt;br /&gt;
const int BPblue2 = 0; //D3&lt;br /&gt;
&lt;br /&gt;
int v_compteur1 = -1;&lt;br /&gt;
int v_compteur2 = 20;&lt;br /&gt;
volatile int son = 0; // Utilisez volatile pour indiquer que cette variable peut être modifiée par une ISR&lt;br /&gt;
&lt;br /&gt;
ICACHE_RAM_ATTR void red1() {&lt;br /&gt;
  if (son == 3 || son == 6) {&lt;br /&gt;
    v_compteur1 += 2;&lt;br /&gt;
    score(v_compteur1);&lt;br /&gt;
  } else {&lt;br /&gt;
    v_compteur2 -= 2;&lt;br /&gt;
    score(v_compteur2);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ICACHE_RAM_ATTR void blue1() {&lt;br /&gt;
  if (son == 5 || son == 4) {&lt;br /&gt;
    v_compteur1 += 1;&lt;br /&gt;
    score(v_compteur1);&lt;br /&gt;
  } else {&lt;br /&gt;
    v_compteur2 -= 1;&lt;br /&gt;
    score(v_compteur2);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ICACHE_RAM_ATTR void red2() {&lt;br /&gt;
  if (son == 3 || son == 6) {&lt;br /&gt;
    v_compteur2 -=2;&lt;br /&gt;
    score(v_compteur2);&lt;br /&gt;
  } else {&lt;br /&gt;
    v_compteur1 += 2;&lt;br /&gt;
    score(v_compteur1);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ICACHE_RAM_ATTR void blue2() {&lt;br /&gt;
  if (son == 5 || son == 4) {&lt;br /&gt;
    v_compteur2 -= 1;&lt;br /&gt;
    score(v_compteur2);&lt;br /&gt;
  } else {&lt;br /&gt;
    v_compteur1 += 1;&lt;br /&gt;
    score(v_compteur1);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void victory1() {&lt;br /&gt;
  for (int i = 0; i &amp;lt; 20; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(255, 0, 100));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  delay(10000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void victory2() {&lt;br /&gt;
  for (int i = 0; i &amp;lt; 20; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(255, 65, 0));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  delay(10000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void resetLeds() {&lt;br /&gt;
  v_compteur1 = -1;&lt;br /&gt;
  v_compteur2 = 20;&lt;br /&gt;
  for (int i = 0; i &amp;lt; 20; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(0, 0, 0));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void score(int compteur) {&lt;br /&gt;
  if (compteur &amp;lt; 10) { // Gestion pour compteur1&lt;br /&gt;
    for (int i = 0; i &amp;lt;= compteur; i++) {&lt;br /&gt;
      pixels.setPixelColor(i, pixels.Color(0, 255, 0));&lt;br /&gt;
    }&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    if (compteur == 9) {&lt;br /&gt;
      victory1(); // Appelle victory1() pour compteur1&lt;br /&gt;
      resetLeds();&lt;br /&gt;
    }&lt;br /&gt;
  } else if (compteur &amp;gt;= 10) { // Gestion pour compteur2&lt;br /&gt;
    for (int j = 19; j &amp;gt;= compteur; j--) {&lt;br /&gt;
      pixels.setPixelColor(j, pixels.Color(0, 255, 0));&lt;br /&gt;
    }&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    if (compteur == 10) {&lt;br /&gt;
      victory2(); // Appelle victory2() pour compteur2&lt;br /&gt;
      resetLeds();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(BPred1, INPUT);&lt;br /&gt;
  attachInterrupt(digitalPinToInterrupt(BPred1), red1, RISING);&lt;br /&gt;
  pinMode(BPblue1, INPUT);&lt;br /&gt;
  attachInterrupt(digitalPinToInterrupt(BPblue1), blue1, RISING);&lt;br /&gt;
  pinMode(BPred2, INPUT);&lt;br /&gt;
  attachInterrupt(digitalPinToInterrupt(BPred2), red2, RISING);&lt;br /&gt;
  pinMode(BPblue2, INPUT);&lt;br /&gt;
  attachInterrupt(digitalPinToInterrupt(BPblue2), blue2, RISING);&lt;br /&gt;
  pixels.begin();           // INITIALISE l'objet ruban NeoPixel&lt;br /&gt;
  pixels.show();            // Éteint tous les pixels aussi vite que possible.&lt;br /&gt;
  pixels.setBrightness(50); // Gère la luminosité (max = 255)&lt;br /&gt;
&lt;br /&gt;
  mySoftwareSerial.begin(9600);&lt;br /&gt;
  myDFPlayer.begin(mySoftwareSerial);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  bool posBPred1 = digitalRead(BPred1);&lt;br /&gt;
  bool posBPblue1 = digitalRead(BPblue1);&lt;br /&gt;
  bool posBPred2 = digitalRead(BPred2);&lt;br /&gt;
  bool posBPblue2 = digitalRead(BPblue2);&lt;br /&gt;
&lt;br /&gt;
  son = random(1, 7); // Génère un nombre aléatoire entre 1 et 6&lt;br /&gt;
  int attente = random(2000, 5000);&lt;br /&gt;
  myDFPlayer.setTimeOut(500);&lt;br /&gt;
&lt;br /&gt;
  myDFPlayer.volume(30); // Fixe le volume à 30 (maximum)&lt;br /&gt;
&lt;br /&gt;
  myDFPlayer.play(son);         // Joue le fichier son correspondant&lt;br /&gt;
&lt;br /&gt;
  delay(attente);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>Nopinks</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_Reflex_Box&amp;diff=30279</id>
		<title>ENIB 2025 : Reflex Box</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_Reflex_Box&amp;diff=30279"/>
				<updated>2025-01-23T15:20:52Z</updated>
		
		<summary type="html">&lt;p&gt;Nopinks : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Photo de l'équipe :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:photo_groupe_reflex_box2.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
Lors de la construction de notre Reflexe Box, nous avons utilisé plusieurs composants :&lt;br /&gt;
    - 5 boutons&lt;br /&gt;
    - Une batterie externe&lt;br /&gt;
    - Une plaque Labdec&lt;br /&gt;
    - Un D1 Mini pour contrôler l'ensemble des composants de notre projet&lt;br /&gt;
    - Un DF Player MP3 pour lire la carte SD&lt;br /&gt;
    - Un ruban de 20 LED permettant d'afficher les scores&lt;br /&gt;
    - Des câbles&lt;br /&gt;
    - Des planches de cartons servant à confectionner l'armature&lt;br /&gt;
&lt;br /&gt;
Nous avons également eu besoin de plusieurs outils :&lt;br /&gt;
    - Un fer à souder&lt;br /&gt;
    - Une découpeuse laser&lt;br /&gt;
    - Une pince à dénuder&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
#define PIN 9&lt;br /&gt;
#include &amp;lt;Arduino_GFX_Library.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
&lt;br /&gt;
Nous avons réfléchi à une idée puis fais un dessin de la future maquette.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:dessin_maquette.png|400px]]&lt;br /&gt;
&lt;br /&gt;
===étape 2===&lt;br /&gt;
&lt;br /&gt;
Après avoir dessiné la maquette, nous l'avons construite pour se faire une idée plus réelle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:photo_maquette1.jpg|400px]]&lt;br /&gt;
[[Fichier:photo_maquette2.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
===étape 3===&lt;br /&gt;
Nous avons effectuer plusieurs tests afin de nous familiariser avec les composants, de les tester et de verifier quelles utilisations nous pourrons en faire.&lt;br /&gt;
[[Fichier:Débutcode.png|400px]]&lt;br /&gt;
===étape 4===&lt;br /&gt;
[[Fichier:Decoupagecarton.png|400px]]&lt;br /&gt;
===étape 5===&lt;br /&gt;
Nous avons finalisé la boite finale et avons fait un flyer.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:logo.png|400px]]&lt;br /&gt;
[[Fichier:photo_jules.png|400px]]&lt;br /&gt;
[[Fichier:flyer.png|400px]]&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont les difficultés, les problèmes, les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
Nous avons rencontré de nombreuses difficultés concernant l'écriture du code. De plus, il reste encore de nombreux bugs qui permettent d'ajouter beaucoup de points.&lt;br /&gt;
Nous avons également rencontré des problèmes liés à la taille de la boîte. Celle-ci, étant assez volumineuse (50 x 30 x 10 cm), n’a pas pu être fabriquée en bois. Nous avons donc dû nous résoudre à la réaliser en carton, ce qui a malheureusement diminué sa solidité.&lt;br /&gt;
&lt;br /&gt;
/*                              &lt;br /&gt;
                                     BROCHAGE                            &lt;br /&gt;
                                _________________                        &lt;br /&gt;
                               /     D1 mini     \                       &lt;br /&gt;
                              |[ ]RST        TX[ ]|                   &lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|                    &lt;br /&gt;
                              |[ ]D0-16    5-D1[X]| - data du ruban de led                    &lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]|                     &lt;br /&gt;
                              |[ ]D6-12    0-D3[ ]|               &lt;br /&gt;
                              |[ ]D7-13    2-D4[ ]| LED_BUILTIN          &lt;br /&gt;
                              |[ ]D8-15     GND[X]| - masse du ruban         &lt;br /&gt;
                              |[ ]3V3 .      5V[X]| - Alim du ruban         &lt;br /&gt;
                              |       +---+       |                     &lt;br /&gt;
                              |_______|USB|_______|     &lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;SoftwareSerial.h&amp;gt;&lt;br /&gt;
#include &amp;lt;DFRobotDFPlayerMini.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SoftwareSerial mySoftwareSerial(14, 12);  // TX, RX&lt;br /&gt;
DFRobotDFPlayerMini myDFPlayer;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define broche        5 //D1&lt;br /&gt;
#define nbpixels 20&lt;br /&gt;
&lt;br /&gt;
Adafruit_NeoPixel pixels(nbpixels, broche, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
#define delai 30&lt;br /&gt;
&lt;br /&gt;
const int BPstart = 2; //D4&lt;br /&gt;
const int BPred1 = 15; //D8&lt;br /&gt;
const int BPblue1 = 4; //D2&lt;br /&gt;
const int BPred2 = 13; //D7&lt;br /&gt;
const int BPblue2 = 0; //D3&lt;br /&gt;
&lt;br /&gt;
int v_compteur1 = -1;&lt;br /&gt;
int v_compteur2 = 20;&lt;br /&gt;
volatile int son = 0; // Utilisez volatile pour indiquer que cette variable peut être modifiée par une ISR&lt;br /&gt;
&lt;br /&gt;
ICACHE_RAM_ATTR void red1() {&lt;br /&gt;
  if (son == 3 || son == 6) {&lt;br /&gt;
    v_compteur1 += 2;&lt;br /&gt;
    score(v_compteur1);&lt;br /&gt;
  } else {&lt;br /&gt;
    v_compteur2 -= 2;&lt;br /&gt;
    score(v_compteur2);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ICACHE_RAM_ATTR void blue1() {&lt;br /&gt;
  if (son == 5 || son == 4) {&lt;br /&gt;
    v_compteur1 += 1;&lt;br /&gt;
    score(v_compteur1);&lt;br /&gt;
  } else {&lt;br /&gt;
    v_compteur2 -= 1;&lt;br /&gt;
    score(v_compteur2);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ICACHE_RAM_ATTR void red2() {&lt;br /&gt;
  if (son == 3 || son == 6) {&lt;br /&gt;
    v_compteur2 -=2;&lt;br /&gt;
    score(v_compteur2);&lt;br /&gt;
  } else {&lt;br /&gt;
    v_compteur1 += 2;&lt;br /&gt;
    score(v_compteur1);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ICACHE_RAM_ATTR void blue2() {&lt;br /&gt;
  if (son == 5 || son == 4) {&lt;br /&gt;
    v_compteur2 -= 1;&lt;br /&gt;
    score(v_compteur2);&lt;br /&gt;
  } else {&lt;br /&gt;
    v_compteur1 += 1;&lt;br /&gt;
    score(v_compteur1);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void victory1() {&lt;br /&gt;
  for (int i = 0; i &amp;lt; 20; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(255, 0, 100));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  delay(10000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void victory2() {&lt;br /&gt;
  for (int i = 0; i &amp;lt; 20; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(255, 65, 0));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  delay(10000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void resetLeds() {&lt;br /&gt;
  v_compteur1 = -1;&lt;br /&gt;
  v_compteur2 = 20;&lt;br /&gt;
  for (int i = 0; i &amp;lt; 20; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(0, 0, 0));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void score(int compteur) {&lt;br /&gt;
  if (compteur &amp;lt; 10) { // Gestion pour compteur1&lt;br /&gt;
    for (int i = 0; i &amp;lt;= compteur; i++) {&lt;br /&gt;
      pixels.setPixelColor(i, pixels.Color(0, 255, 0));&lt;br /&gt;
    }&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    if (compteur == 9) {&lt;br /&gt;
      victory1(); // Appelle victory1() pour compteur1&lt;br /&gt;
      resetLeds();&lt;br /&gt;
    }&lt;br /&gt;
  } else if (compteur &amp;gt;= 10) { // Gestion pour compteur2&lt;br /&gt;
    for (int j = 19; j &amp;gt;= compteur; j--) {&lt;br /&gt;
      pixels.setPixelColor(j, pixels.Color(0, 255, 0));&lt;br /&gt;
    }&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    if (compteur == 10) {&lt;br /&gt;
      victory2(); // Appelle victory2() pour compteur2&lt;br /&gt;
      resetLeds();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(BPred1, INPUT);&lt;br /&gt;
  attachInterrupt(digitalPinToInterrupt(BPred1), red1, RISING);&lt;br /&gt;
  pinMode(BPblue1, INPUT);&lt;br /&gt;
  attachInterrupt(digitalPinToInterrupt(BPblue1), blue1, RISING);&lt;br /&gt;
  pinMode(BPred2, INPUT);&lt;br /&gt;
  attachInterrupt(digitalPinToInterrupt(BPred2), red2, RISING);&lt;br /&gt;
  pinMode(BPblue2, INPUT);&lt;br /&gt;
  attachInterrupt(digitalPinToInterrupt(BPblue2), blue2, RISING);&lt;br /&gt;
  pixels.begin();           // INITIALISE l'objet ruban NeoPixel&lt;br /&gt;
  pixels.show();            // Éteint tous les pixels aussi vite que possible.&lt;br /&gt;
  pixels.setBrightness(50); // Gère la luminosité (max = 255)&lt;br /&gt;
&lt;br /&gt;
  mySoftwareSerial.begin(9600);&lt;br /&gt;
  myDFPlayer.begin(mySoftwareSerial);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  bool posBPred1 = digitalRead(BPred1);&lt;br /&gt;
  bool posBPblue1 = digitalRead(BPblue1);&lt;br /&gt;
  bool posBPred2 = digitalRead(BPred2);&lt;br /&gt;
  bool posBPblue2 = digitalRead(BPblue2);&lt;br /&gt;
&lt;br /&gt;
  son = random(1, 7); // Génère un nombre aléatoire entre 1 et 6&lt;br /&gt;
  int attente = random(2000, 5000);&lt;br /&gt;
  myDFPlayer.setTimeOut(500);&lt;br /&gt;
&lt;br /&gt;
  myDFPlayer.volume(30); // Fixe le volume à 30 (maximum)&lt;br /&gt;
&lt;br /&gt;
  myDFPlayer.play(son);         // Joue le fichier son correspondant&lt;br /&gt;
&lt;br /&gt;
  delay(attente);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>Nopinks</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_Reflex_Box&amp;diff=30277</id>
		<title>ENIB 2025 : Reflex Box</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_Reflex_Box&amp;diff=30277"/>
				<updated>2025-01-23T15:20:09Z</updated>
		
		<summary type="html">&lt;p&gt;Nopinks : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Photo de l'équipe :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:photo_groupe_reflex_box2.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
Lors de la construction de notre Reflexe Box, nous avons utilisé plusieurs composants :&lt;br /&gt;
    - 5 boutons&lt;br /&gt;
    - Une batterie externe&lt;br /&gt;
    - Une plaque Labdec&lt;br /&gt;
    - Un D1 Mini pour contrôler l'ensemble des composants de notre projet&lt;br /&gt;
    - Un DF Player MP3 pour lire la carte SD&lt;br /&gt;
    - Un ruban de 20 LED permettant d'afficher les scores&lt;br /&gt;
    - Des câbles&lt;br /&gt;
    - Des planches de cartons servant à confectionner l'armature&lt;br /&gt;
&lt;br /&gt;
Nous avons également eu besoin de plusieurs outils :&lt;br /&gt;
    - Un fer à souder&lt;br /&gt;
    - Une découpeuse laser&lt;br /&gt;
    - Une pince à dénuder&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
#define PIN 9&lt;br /&gt;
#include &amp;lt;Arduino_GFX_Library.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
&lt;br /&gt;
Nous avons réfléchi à une idée puis fais un dessin de la future maquette.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:dessin_maquette.png|400px]]&lt;br /&gt;
&lt;br /&gt;
===étape 2===&lt;br /&gt;
&lt;br /&gt;
Après avoir dessiné la maquette, nous l'avons construite pour se faire une idée plus réelle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:photo_maquette1.jpg|400px]]&lt;br /&gt;
[[Fichier:photo_maquette2.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
===étape 3===&lt;br /&gt;
Nous avons effectuer plusieurs tests afin de nous familiariser avec les composants, de les tester et de verifier quelles utilisations nous pourrons en faire.&lt;br /&gt;
[[Fichier:photo_groupe_reflex_box2.jpg|400px]]&lt;br /&gt;
===étape 4===&lt;br /&gt;
[[Fichier:Decoupagecarton.png|400px]]&lt;br /&gt;
===étape 5===&lt;br /&gt;
Nous avons finalisé la boite finale et avons fait un flyer.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:logo.png|400px]]&lt;br /&gt;
[[Fichier:photo_jules.png|400px]]&lt;br /&gt;
[[Fichier:flyer.png|400px]]&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont les difficultés, les problèmes, les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
Nous avons rencontré de nombreuses difficultés concernant l'écriture du code. De plus, il reste encore de nombreux bugs qui permettent d'ajouter beaucoup de points.&lt;br /&gt;
Nous avons également rencontré des problèmes liés à la taille de la boîte. Celle-ci, étant assez volumineuse (50 x 30 x 10 cm), n’a pas pu être fabriquée en bois. Nous avons donc dû nous résoudre à la réaliser en carton, ce qui a malheureusement diminué sa solidité.&lt;br /&gt;
&lt;br /&gt;
/*                              &lt;br /&gt;
                                     BROCHAGE                            &lt;br /&gt;
                                _________________                        &lt;br /&gt;
                               /     D1 mini     \                       &lt;br /&gt;
                              |[ ]RST        TX[ ]|                   &lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|                    &lt;br /&gt;
                              |[ ]D0-16    5-D1[X]| - data du ruban de led                    &lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]|                     &lt;br /&gt;
                              |[ ]D6-12    0-D3[ ]|               &lt;br /&gt;
                              |[ ]D7-13    2-D4[ ]| LED_BUILTIN          &lt;br /&gt;
                              |[ ]D8-15     GND[X]| - masse du ruban         &lt;br /&gt;
                              |[ ]3V3 .      5V[X]| - Alim du ruban         &lt;br /&gt;
                              |       +---+       |                     &lt;br /&gt;
                              |_______|USB|_______|     &lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;SoftwareSerial.h&amp;gt;&lt;br /&gt;
#include &amp;lt;DFRobotDFPlayerMini.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SoftwareSerial mySoftwareSerial(14, 12);  // TX, RX&lt;br /&gt;
DFRobotDFPlayerMini myDFPlayer;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define broche        5 //D1&lt;br /&gt;
#define nbpixels 20&lt;br /&gt;
&lt;br /&gt;
Adafruit_NeoPixel pixels(nbpixels, broche, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
#define delai 30&lt;br /&gt;
&lt;br /&gt;
const int BPstart = 2; //D4&lt;br /&gt;
const int BPred1 = 15; //D8&lt;br /&gt;
const int BPblue1 = 4; //D2&lt;br /&gt;
const int BPred2 = 13; //D7&lt;br /&gt;
const int BPblue2 = 0; //D3&lt;br /&gt;
&lt;br /&gt;
int v_compteur1 = -1;&lt;br /&gt;
int v_compteur2 = 20;&lt;br /&gt;
volatile int son = 0; // Utilisez volatile pour indiquer que cette variable peut être modifiée par une ISR&lt;br /&gt;
&lt;br /&gt;
ICACHE_RAM_ATTR void red1() {&lt;br /&gt;
  if (son == 3 || son == 6) {&lt;br /&gt;
    v_compteur1 += 2;&lt;br /&gt;
    score(v_compteur1);&lt;br /&gt;
  } else {&lt;br /&gt;
    v_compteur2 -= 2;&lt;br /&gt;
    score(v_compteur2);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ICACHE_RAM_ATTR void blue1() {&lt;br /&gt;
  if (son == 5 || son == 4) {&lt;br /&gt;
    v_compteur1 += 1;&lt;br /&gt;
    score(v_compteur1);&lt;br /&gt;
  } else {&lt;br /&gt;
    v_compteur2 -= 1;&lt;br /&gt;
    score(v_compteur2);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ICACHE_RAM_ATTR void red2() {&lt;br /&gt;
  if (son == 3 || son == 6) {&lt;br /&gt;
    v_compteur2 -=2;&lt;br /&gt;
    score(v_compteur2);&lt;br /&gt;
  } else {&lt;br /&gt;
    v_compteur1 += 2;&lt;br /&gt;
    score(v_compteur1);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ICACHE_RAM_ATTR void blue2() {&lt;br /&gt;
  if (son == 5 || son == 4) {&lt;br /&gt;
    v_compteur2 -= 1;&lt;br /&gt;
    score(v_compteur2);&lt;br /&gt;
  } else {&lt;br /&gt;
    v_compteur1 += 1;&lt;br /&gt;
    score(v_compteur1);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void victory1() {&lt;br /&gt;
  for (int i = 0; i &amp;lt; 20; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(255, 0, 100));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  delay(10000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void victory2() {&lt;br /&gt;
  for (int i = 0; i &amp;lt; 20; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(255, 65, 0));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  delay(10000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void resetLeds() {&lt;br /&gt;
  v_compteur1 = -1;&lt;br /&gt;
  v_compteur2 = 20;&lt;br /&gt;
  for (int i = 0; i &amp;lt; 20; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(0, 0, 0));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void score(int compteur) {&lt;br /&gt;
  if (compteur &amp;lt; 10) { // Gestion pour compteur1&lt;br /&gt;
    for (int i = 0; i &amp;lt;= compteur; i++) {&lt;br /&gt;
      pixels.setPixelColor(i, pixels.Color(0, 255, 0));&lt;br /&gt;
    }&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    if (compteur == 9) {&lt;br /&gt;
      victory1(); // Appelle victory1() pour compteur1&lt;br /&gt;
      resetLeds();&lt;br /&gt;
    }&lt;br /&gt;
  } else if (compteur &amp;gt;= 10) { // Gestion pour compteur2&lt;br /&gt;
    for (int j = 19; j &amp;gt;= compteur; j--) {&lt;br /&gt;
      pixels.setPixelColor(j, pixels.Color(0, 255, 0));&lt;br /&gt;
    }&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    if (compteur == 10) {&lt;br /&gt;
      victory2(); // Appelle victory2() pour compteur2&lt;br /&gt;
      resetLeds();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(BPred1, INPUT);&lt;br /&gt;
  attachInterrupt(digitalPinToInterrupt(BPred1), red1, RISING);&lt;br /&gt;
  pinMode(BPblue1, INPUT);&lt;br /&gt;
  attachInterrupt(digitalPinToInterrupt(BPblue1), blue1, RISING);&lt;br /&gt;
  pinMode(BPred2, INPUT);&lt;br /&gt;
  attachInterrupt(digitalPinToInterrupt(BPred2), red2, RISING);&lt;br /&gt;
  pinMode(BPblue2, INPUT);&lt;br /&gt;
  attachInterrupt(digitalPinToInterrupt(BPblue2), blue2, RISING);&lt;br /&gt;
  pixels.begin();           // INITIALISE l'objet ruban NeoPixel&lt;br /&gt;
  pixels.show();            // Éteint tous les pixels aussi vite que possible.&lt;br /&gt;
  pixels.setBrightness(50); // Gère la luminosité (max = 255)&lt;br /&gt;
&lt;br /&gt;
  mySoftwareSerial.begin(9600);&lt;br /&gt;
  myDFPlayer.begin(mySoftwareSerial);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  bool posBPred1 = digitalRead(BPred1);&lt;br /&gt;
  bool posBPblue1 = digitalRead(BPblue1);&lt;br /&gt;
  bool posBPred2 = digitalRead(BPred2);&lt;br /&gt;
  bool posBPblue2 = digitalRead(BPblue2);&lt;br /&gt;
&lt;br /&gt;
  son = random(1, 7); // Génère un nombre aléatoire entre 1 et 6&lt;br /&gt;
  int attente = random(2000, 5000);&lt;br /&gt;
  myDFPlayer.setTimeOut(500);&lt;br /&gt;
&lt;br /&gt;
  myDFPlayer.volume(30); // Fixe le volume à 30 (maximum)&lt;br /&gt;
&lt;br /&gt;
  myDFPlayer.play(son);         // Joue le fichier son correspondant&lt;br /&gt;
&lt;br /&gt;
  delay(attente);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>Nopinks</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_Reflex_Box&amp;diff=30276</id>
		<title>ENIB 2025 : Reflex Box</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_Reflex_Box&amp;diff=30276"/>
				<updated>2025-01-23T15:19:26Z</updated>
		
		<summary type="html">&lt;p&gt;Nopinks : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Photo de l'équipe :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:photo_groupe_reflex_box2.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
Lors de la construction de notre Reflexe Box, nous avons utilisé plusieurs composants :&lt;br /&gt;
    - 5 boutons&lt;br /&gt;
    - Une batterie externe&lt;br /&gt;
    - Une plaque Labdec&lt;br /&gt;
    - Un D1 Mini pour contrôler l'ensemble des composants de notre projet&lt;br /&gt;
    - Un DF Player MP3 pour lire la carte SD&lt;br /&gt;
    - Un ruban de 20 LED permettant d'afficher les scores&lt;br /&gt;
    - Des câbles&lt;br /&gt;
    - Des planches de cartons servant à confectionner l'armature&lt;br /&gt;
&lt;br /&gt;
Nous avons également eu besoin de plusieurs outils :&lt;br /&gt;
    - Un fer à souder&lt;br /&gt;
    - Une découpeuse laser&lt;br /&gt;
    - Une pince à dénuder&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
#define PIN 9&lt;br /&gt;
#include &amp;lt;Arduino_GFX_Library.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
&lt;br /&gt;
Nous avons réfléchi à une idée puis fais un dessin de la future maquette.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:dessin_maquette.png|400px]]&lt;br /&gt;
&lt;br /&gt;
===étape 2===&lt;br /&gt;
&lt;br /&gt;
Après avoir dessiné la maquette, nous l'avons construite pour se faire une idée plus réelle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:photo_maquette1.jpg|400px]]&lt;br /&gt;
[[Fichier:photo_maquette2.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
===étape 3===&lt;br /&gt;
Nous avons effectuer plusieurs tests afin de nous familiariser avec les composants, de les tester et de verifier quelles utilisations nous pourrons en faire.&lt;br /&gt;
[[Fichier:photo_groupe_reflex_box2.jpg|400px]]&lt;br /&gt;
===étape 4===&lt;br /&gt;
[[Fichier:photo_groupe_reflex_box2.jpg|400px]]&lt;br /&gt;
===étape 5===&lt;br /&gt;
Nous avons finalisé la boite finale et avons fait un flyer.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:logo.png|400px]]&lt;br /&gt;
[[Fichier:photo_jules.png|400px]]&lt;br /&gt;
[[Fichier:flyer.png|400px]]&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont les difficultés, les problèmes, les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
Nous avons rencontré de nombreuses difficultés concernant l'écriture du code. De plus, il reste encore de nombreux bugs qui permettent d'ajouter beaucoup de points.&lt;br /&gt;
Nous avons également rencontré des problèmes liés à la taille de la boîte. Celle-ci, étant assez volumineuse (50 x 30 x 10 cm), n’a pas pu être fabriquée en bois. Nous avons donc dû nous résoudre à la réaliser en carton, ce qui a malheureusement diminué sa solidité.&lt;br /&gt;
&lt;br /&gt;
/*                              &lt;br /&gt;
                                     BROCHAGE                            &lt;br /&gt;
                                _________________                        &lt;br /&gt;
                               /     D1 mini     \                       &lt;br /&gt;
                              |[ ]RST        TX[ ]|                   &lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|                    &lt;br /&gt;
                              |[ ]D0-16    5-D1[X]| - data du ruban de led                    &lt;br /&gt;
                              |[ ]D5-14    4-D2[ ]|                     &lt;br /&gt;
                              |[ ]D6-12    0-D3[ ]|               &lt;br /&gt;
                              |[ ]D7-13    2-D4[ ]| LED_BUILTIN          &lt;br /&gt;
                              |[ ]D8-15     GND[X]| - masse du ruban         &lt;br /&gt;
                              |[ ]3V3 .      5V[X]| - Alim du ruban         &lt;br /&gt;
                              |       +---+       |                     &lt;br /&gt;
                              |_______|USB|_______|     &lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;SoftwareSerial.h&amp;gt;&lt;br /&gt;
#include &amp;lt;DFRobotDFPlayerMini.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SoftwareSerial mySoftwareSerial(14, 12);  // TX, RX&lt;br /&gt;
DFRobotDFPlayerMini myDFPlayer;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define broche        5 //D1&lt;br /&gt;
#define nbpixels 20&lt;br /&gt;
&lt;br /&gt;
Adafruit_NeoPixel pixels(nbpixels, broche, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
#define delai 30&lt;br /&gt;
&lt;br /&gt;
const int BPstart = 2; //D4&lt;br /&gt;
const int BPred1 = 15; //D8&lt;br /&gt;
const int BPblue1 = 4; //D2&lt;br /&gt;
const int BPred2 = 13; //D7&lt;br /&gt;
const int BPblue2 = 0; //D3&lt;br /&gt;
&lt;br /&gt;
int v_compteur1 = -1;&lt;br /&gt;
int v_compteur2 = 20;&lt;br /&gt;
volatile int son = 0; // Utilisez volatile pour indiquer que cette variable peut être modifiée par une ISR&lt;br /&gt;
&lt;br /&gt;
ICACHE_RAM_ATTR void red1() {&lt;br /&gt;
  if (son == 3 || son == 6) {&lt;br /&gt;
    v_compteur1 += 2;&lt;br /&gt;
    score(v_compteur1);&lt;br /&gt;
  } else {&lt;br /&gt;
    v_compteur2 -= 2;&lt;br /&gt;
    score(v_compteur2);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ICACHE_RAM_ATTR void blue1() {&lt;br /&gt;
  if (son == 5 || son == 4) {&lt;br /&gt;
    v_compteur1 += 1;&lt;br /&gt;
    score(v_compteur1);&lt;br /&gt;
  } else {&lt;br /&gt;
    v_compteur2 -= 1;&lt;br /&gt;
    score(v_compteur2);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ICACHE_RAM_ATTR void red2() {&lt;br /&gt;
  if (son == 3 || son == 6) {&lt;br /&gt;
    v_compteur2 -=2;&lt;br /&gt;
    score(v_compteur2);&lt;br /&gt;
  } else {&lt;br /&gt;
    v_compteur1 += 2;&lt;br /&gt;
    score(v_compteur1);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ICACHE_RAM_ATTR void blue2() {&lt;br /&gt;
  if (son == 5 || son == 4) {&lt;br /&gt;
    v_compteur2 -= 1;&lt;br /&gt;
    score(v_compteur2);&lt;br /&gt;
  } else {&lt;br /&gt;
    v_compteur1 += 1;&lt;br /&gt;
    score(v_compteur1);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void victory1() {&lt;br /&gt;
  for (int i = 0; i &amp;lt; 20; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(255, 0, 100));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  delay(10000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void victory2() {&lt;br /&gt;
  for (int i = 0; i &amp;lt; 20; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(255, 65, 0));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();&lt;br /&gt;
  delay(10000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void resetLeds() {&lt;br /&gt;
  v_compteur1 = -1;&lt;br /&gt;
  v_compteur2 = 20;&lt;br /&gt;
  for (int i = 0; i &amp;lt; 20; i++) {&lt;br /&gt;
    pixels.setPixelColor(i, pixels.Color(0, 0, 0));&lt;br /&gt;
  }&lt;br /&gt;
  pixels.show();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void score(int compteur) {&lt;br /&gt;
  if (compteur &amp;lt; 10) { // Gestion pour compteur1&lt;br /&gt;
    for (int i = 0; i &amp;lt;= compteur; i++) {&lt;br /&gt;
      pixels.setPixelColor(i, pixels.Color(0, 255, 0));&lt;br /&gt;
    }&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    if (compteur == 9) {&lt;br /&gt;
      victory1(); // Appelle victory1() pour compteur1&lt;br /&gt;
      resetLeds();&lt;br /&gt;
    }&lt;br /&gt;
  } else if (compteur &amp;gt;= 10) { // Gestion pour compteur2&lt;br /&gt;
    for (int j = 19; j &amp;gt;= compteur; j--) {&lt;br /&gt;
      pixels.setPixelColor(j, pixels.Color(0, 255, 0));&lt;br /&gt;
    }&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    if (compteur == 10) {&lt;br /&gt;
      victory2(); // Appelle victory2() pour compteur2&lt;br /&gt;
      resetLeds();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(BPred1, INPUT);&lt;br /&gt;
  attachInterrupt(digitalPinToInterrupt(BPred1), red1, RISING);&lt;br /&gt;
  pinMode(BPblue1, INPUT);&lt;br /&gt;
  attachInterrupt(digitalPinToInterrupt(BPblue1), blue1, RISING);&lt;br /&gt;
  pinMode(BPred2, INPUT);&lt;br /&gt;
  attachInterrupt(digitalPinToInterrupt(BPred2), red2, RISING);&lt;br /&gt;
  pinMode(BPblue2, INPUT);&lt;br /&gt;
  attachInterrupt(digitalPinToInterrupt(BPblue2), blue2, RISING);&lt;br /&gt;
  pixels.begin();           // INITIALISE l'objet ruban NeoPixel&lt;br /&gt;
  pixels.show();            // Éteint tous les pixels aussi vite que possible.&lt;br /&gt;
  pixels.setBrightness(50); // Gère la luminosité (max = 255)&lt;br /&gt;
&lt;br /&gt;
  mySoftwareSerial.begin(9600);&lt;br /&gt;
  myDFPlayer.begin(mySoftwareSerial);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  bool posBPred1 = digitalRead(BPred1);&lt;br /&gt;
  bool posBPblue1 = digitalRead(BPblue1);&lt;br /&gt;
  bool posBPred2 = digitalRead(BPred2);&lt;br /&gt;
  bool posBPblue2 = digitalRead(BPblue2);&lt;br /&gt;
&lt;br /&gt;
  son = random(1, 7); // Génère un nombre aléatoire entre 1 et 6&lt;br /&gt;
  int attente = random(2000, 5000);&lt;br /&gt;
  myDFPlayer.setTimeOut(500);&lt;br /&gt;
&lt;br /&gt;
  myDFPlayer.volume(30); // Fixe le volume à 30 (maximum)&lt;br /&gt;
&lt;br /&gt;
  myDFPlayer.play(son);         // Joue le fichier son correspondant&lt;br /&gt;
&lt;br /&gt;
  delay(attente);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>Nopinks</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Decoupagecarton.png&amp;diff=30271</id>
		<title>Fichier:Decoupagecarton.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Decoupagecarton.png&amp;diff=30271"/>
				<updated>2025-01-23T15:16:00Z</updated>
		
		<summary type="html">&lt;p&gt;Nopinks : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nopinks</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:D%C3%A9butcode.png&amp;diff=30262</id>
		<title>Fichier:Débutcode.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:D%C3%A9butcode.png&amp;diff=30262"/>
				<updated>2025-01-23T15:13:40Z</updated>
		
		<summary type="html">&lt;p&gt;Nopinks : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nopinks</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Debutcontruction.png&amp;diff=30256</id>
		<title>Fichier:Debutcontruction.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Debutcontruction.png&amp;diff=30256"/>
				<updated>2025-01-23T15:12:15Z</updated>
		
		<summary type="html">&lt;p&gt;Nopinks : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nopinks</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_Reflex_Box&amp;diff=30226</id>
		<title>ENIB 2025 : Reflex Box</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_Reflex_Box&amp;diff=30226"/>
				<updated>2025-01-23T14:59:15Z</updated>
		
		<summary type="html">&lt;p&gt;Nopinks : /* étapes de fabrication */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Photo de l'équipe :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:photo_groupe_reflex_box2.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
Lors de la construction de notre Reflexe Box, nous avons utilisé plusieurs composants :&lt;br /&gt;
    - 5 boutons&lt;br /&gt;
    - Une batterie externe&lt;br /&gt;
    - Une plaque Labdec&lt;br /&gt;
    - Un D1 Mini pour contrôler l'ensemble des composants de notre projet&lt;br /&gt;
    - Un DF Player MP3 pour lire la carte SD&lt;br /&gt;
    - Un ruban de 20 LED permettant d'afficher les scores&lt;br /&gt;
    - Des câbles&lt;br /&gt;
    - Des planches de cartons servant à confectionner l'armature&lt;br /&gt;
&lt;br /&gt;
Nous avons également eu besoin de plusieurs outils :&lt;br /&gt;
    - Un fer à souder&lt;br /&gt;
    - Une découpeuse laser&lt;br /&gt;
    - Une pince à dénuder&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
#define PIN 9&lt;br /&gt;
#include &amp;lt;Arduino_GFX_Library.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
&lt;br /&gt;
Nous avons réfléchi à une idée puis fais un dessin de la future maquette.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:dessin_maquette.png|400px]]&lt;br /&gt;
&lt;br /&gt;
===étape 2===&lt;br /&gt;
&lt;br /&gt;
Après avoir dessiné la maquette, nous l'avons construite pour se faire une idée plus réelle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:photo_maquette1.jpg|400px]]&lt;br /&gt;
[[Fichier:photo_maquette2.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
===étape 3===&lt;br /&gt;
Nous avons effectuer plusieurs tests afin de nous familiariser avec les composants, de les tester et de verifier quelles utilisations nous pourrons en faire.&lt;br /&gt;
&lt;br /&gt;
===étape 4===&lt;br /&gt;
&lt;br /&gt;
===étape 5===&lt;br /&gt;
Nous avons finalisé la boite finale et avons fait un flyer.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:logo.png|400px]]&lt;br /&gt;
[[Fichier:photo_jules.png|400px]]&lt;br /&gt;
[[Fichier:flyer.png|400px]]&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont les difficultés, les problèmes, les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
Nous avons rencontré de nombreuses difficultés concernant l'écriture du code. De plus, il reste encore de nombreux bugs qui permettent d'ajouter beaucoup de points.&lt;br /&gt;
Nous avons également rencontré des problèmes liés à la taille de la boîte. Celle-ci, étant assez volumineuse (50 x 30 x 10 cm), n’a pas pu être fabriquée en bois. Nous avons donc dû nous résoudre à la réaliser en carton, ce qui a malheureusement diminué sa solidité.&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/*********&lt;br /&gt;
  Rui Santos&lt;br /&gt;
  Complete project details at http://randomnerdtutorials.com  &lt;br /&gt;
  https://randomnerdtutorials.com/interrupts-timers-esp8266-arduino-ide-nodemcu/&lt;br /&gt;
*********/&lt;br /&gt;
/*&lt;br /&gt;
Lolin (Wemos) D1 mini&lt;br /&gt;
                                     &lt;br /&gt;
                                _________________&lt;br /&gt;
                               /     D1 mini     \&lt;br /&gt;
                              |[ ]RST        TX[ ]|&lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|&lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| SCL&lt;br /&gt;
                        SCK - |[ ]D5-14    4-D2[ ]| SDA&lt;br /&gt;
                       MISO - |[ ]D6-12    0-D3[ ]|&lt;br /&gt;
                       MOSI - |[ ]D7-13    2-D4[ ]| LED_BUILTIN&lt;br /&gt;
                         SS - |[ ]D8-15     GND[ ]|&lt;br /&gt;
                              |[ ]3V3 .      5V[ ]|&lt;br /&gt;
                              |       +---+       |&lt;br /&gt;
                              |_______|USB|_______|&lt;br /&gt;
&lt;br /&gt;
                              */&lt;br /&gt;
&lt;br /&gt;
#define timeSeconds 10&lt;br /&gt;
&lt;br /&gt;
// Set GPIOs for LED and PIR Motion Sensor&lt;br /&gt;
const int led = 2; //D4&lt;br /&gt;
const int bouton = 0; //D3 input pullup&lt;br /&gt;
&lt;br /&gt;
// Timer: Auxiliary variables&lt;br /&gt;
unsigned long now = millis();&lt;br /&gt;
unsigned long lastTrigger = 0;&lt;br /&gt;
boolean startTimer = false;&lt;br /&gt;
&lt;br /&gt;
// vérifie si on a appuyé sur le bouton&lt;br /&gt;
ICACHE_RAM_ATTR void detectsMovement() {&lt;br /&gt;
  Serial.println(&amp;quot;bouton appuyé !!!&amp;quot;);&lt;br /&gt;
  digitalWrite(led, LOW);&lt;br /&gt;
  startTimer = true;&lt;br /&gt;
  lastTrigger = millis();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // Serial port for debugging purposes&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  &lt;br /&gt;
  // PIR Motion Sensor mode INPUT_PULLUP&lt;br /&gt;
  pinMode(bouton, INPUT_PULLUP);&lt;br /&gt;
  // Set motionSensor pin as interrupt, assign interrupt function and set RISING mode&lt;br /&gt;
  attachInterrupt(digitalPinToInterrupt(bouton), detectsMovement, RISING);&lt;br /&gt;
&lt;br /&gt;
  // Set LED to LOW&lt;br /&gt;
  pinMode(led, OUTPUT);&lt;br /&gt;
  digitalWrite(led, HIGH);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // Current time&lt;br /&gt;
  now = millis();&lt;br /&gt;
  // Turn off the LED after the number of seconds defined in the timeSeconds variable&lt;br /&gt;
  if(startTimer &amp;amp;&amp;amp; (now - lastTrigger &amp;gt; (timeSeconds*1000))) {&lt;br /&gt;
    Serial.println(&amp;quot;Motion stopped...&amp;quot;);&lt;br /&gt;
    digitalWrite(led, LOW);&lt;br /&gt;
    startTimer = false;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>Nopinks</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_Reflex_Box&amp;diff=30220</id>
		<title>ENIB 2025 : Reflex Box</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_Reflex_Box&amp;diff=30220"/>
				<updated>2025-01-23T14:57:23Z</updated>
		
		<summary type="html">&lt;p&gt;Nopinks : /* Troubleshouting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Photo de l'équipe :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:photo_groupe_reflex_box2.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
Lors de la construction de notre Reflexe Box, nous avons utilisé plusieurs composants :&lt;br /&gt;
    - 5 boutons&lt;br /&gt;
    - Une batterie externe&lt;br /&gt;
    - Une plaque Labdec&lt;br /&gt;
    - Un D1 Mini pour contrôler l'ensemble des composants de notre projet&lt;br /&gt;
    - Un DF Player MP3 pour lire la carte SD&lt;br /&gt;
    - Un ruban de 20 LED permettant d'afficher les scores&lt;br /&gt;
    - Des câbles&lt;br /&gt;
    - Des planches de cartons servant à confectionner l'armature&lt;br /&gt;
&lt;br /&gt;
Nous avons également eu besoin de plusieurs outils :&lt;br /&gt;
    - Un fer à souder&lt;br /&gt;
    - Une découpeuse laser&lt;br /&gt;
    - Une pince à dénuder&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
#define PIN 9&lt;br /&gt;
#include &amp;lt;Arduino_GFX_Library.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
&lt;br /&gt;
Nous avons réfléchi à une idée puis fais un dessin de la future maquette.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:dessin_maquette.png|400px]]&lt;br /&gt;
&lt;br /&gt;
===étape 2===&lt;br /&gt;
&lt;br /&gt;
Après avoir dessiné la maquette, nous l'avons construite pour se faire une idée plus réelle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:photo_maquette1.jpg|400px]]&lt;br /&gt;
[[Fichier:photo_maquette2.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
===étape 3===&lt;br /&gt;
Nous avons effectuer plusieurs tests afin de nous familiariser avec les composants, de les tester et de verifier quelles utilisations nous pourrons en faire.&lt;br /&gt;
&lt;br /&gt;
===étape 4===&lt;br /&gt;
Nous avons finalisé la boite finale et avons fait un flyer.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:logo.png|400px]]&lt;br /&gt;
[[Fichier:photo_jules.png|400px]]&lt;br /&gt;
[[Fichier:flyer.png|400px]]&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont les difficultés, les problèmes, les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
Nous avons rencontré de nombreuses difficultés concernant l'écriture du code. De plus, il reste encore de nombreux bugs qui permettent d'ajouter beaucoup de points.&lt;br /&gt;
Nous avons également rencontré des problèmes liés à la taille de la boîte. Celle-ci, étant assez volumineuse (50 x 30 x 10 cm), n’a pas pu être fabriquée en bois. Nous avons donc dû nous résoudre à la réaliser en carton, ce qui a malheureusement diminué sa solidité.&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/*********&lt;br /&gt;
  Rui Santos&lt;br /&gt;
  Complete project details at http://randomnerdtutorials.com  &lt;br /&gt;
  https://randomnerdtutorials.com/interrupts-timers-esp8266-arduino-ide-nodemcu/&lt;br /&gt;
*********/&lt;br /&gt;
/*&lt;br /&gt;
Lolin (Wemos) D1 mini&lt;br /&gt;
                                     &lt;br /&gt;
                                _________________&lt;br /&gt;
                               /     D1 mini     \&lt;br /&gt;
                              |[ ]RST        TX[ ]|&lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|&lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| SCL&lt;br /&gt;
                        SCK - |[ ]D5-14    4-D2[ ]| SDA&lt;br /&gt;
                       MISO - |[ ]D6-12    0-D3[ ]|&lt;br /&gt;
                       MOSI - |[ ]D7-13    2-D4[ ]| LED_BUILTIN&lt;br /&gt;
                         SS - |[ ]D8-15     GND[ ]|&lt;br /&gt;
                              |[ ]3V3 .      5V[ ]|&lt;br /&gt;
                              |       +---+       |&lt;br /&gt;
                              |_______|USB|_______|&lt;br /&gt;
&lt;br /&gt;
                              */&lt;br /&gt;
&lt;br /&gt;
#define timeSeconds 10&lt;br /&gt;
&lt;br /&gt;
// Set GPIOs for LED and PIR Motion Sensor&lt;br /&gt;
const int led = 2; //D4&lt;br /&gt;
const int bouton = 0; //D3 input pullup&lt;br /&gt;
&lt;br /&gt;
// Timer: Auxiliary variables&lt;br /&gt;
unsigned long now = millis();&lt;br /&gt;
unsigned long lastTrigger = 0;&lt;br /&gt;
boolean startTimer = false;&lt;br /&gt;
&lt;br /&gt;
// vérifie si on a appuyé sur le bouton&lt;br /&gt;
ICACHE_RAM_ATTR void detectsMovement() {&lt;br /&gt;
  Serial.println(&amp;quot;bouton appuyé !!!&amp;quot;);&lt;br /&gt;
  digitalWrite(led, LOW);&lt;br /&gt;
  startTimer = true;&lt;br /&gt;
  lastTrigger = millis();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // Serial port for debugging purposes&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  &lt;br /&gt;
  // PIR Motion Sensor mode INPUT_PULLUP&lt;br /&gt;
  pinMode(bouton, INPUT_PULLUP);&lt;br /&gt;
  // Set motionSensor pin as interrupt, assign interrupt function and set RISING mode&lt;br /&gt;
  attachInterrupt(digitalPinToInterrupt(bouton), detectsMovement, RISING);&lt;br /&gt;
&lt;br /&gt;
  // Set LED to LOW&lt;br /&gt;
  pinMode(led, OUTPUT);&lt;br /&gt;
  digitalWrite(led, HIGH);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // Current time&lt;br /&gt;
  now = millis();&lt;br /&gt;
  // Turn off the LED after the number of seconds defined in the timeSeconds variable&lt;br /&gt;
  if(startTimer &amp;amp;&amp;amp; (now - lastTrigger &amp;gt; (timeSeconds*1000))) {&lt;br /&gt;
    Serial.println(&amp;quot;Motion stopped...&amp;quot;);&lt;br /&gt;
    digitalWrite(led, LOW);&lt;br /&gt;
    startTimer = false;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>Nopinks</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Reflex_box_v2.svg&amp;diff=30201</id>
		<title>Fichier:Reflex box v2.svg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Reflex_box_v2.svg&amp;diff=30201"/>
				<updated>2025-01-23T14:51:32Z</updated>
		
		<summary type="html">&lt;p&gt;Nopinks : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nopinks</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Rn_image_picker_lib_temp_16764f00-5354-4f12-869c-5b2d8d8e8e82.jpg&amp;diff=29979</id>
		<title>Fichier:Rn image picker lib temp 16764f00-5354-4f12-869c-5b2d8d8e8e82.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Rn_image_picker_lib_temp_16764f00-5354-4f12-869c-5b2d8d8e8e82.jpg&amp;diff=29979"/>
				<updated>2025-01-23T11:34:01Z</updated>
		
		<summary type="html">&lt;p&gt;Nopinks : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nopinks</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:IMG_20250123_121816.jpg&amp;diff=29969</id>
		<title>Fichier:IMG 20250123 121816.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:IMG_20250123_121816.jpg&amp;diff=29969"/>
				<updated>2025-01-23T11:25:23Z</updated>
		
		<summary type="html">&lt;p&gt;Nopinks : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nopinks</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_Reflex_Box&amp;diff=29965</id>
		<title>ENIB 2025 : Reflex Box</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_Reflex_Box&amp;diff=29965"/>
				<updated>2025-01-23T11:22:24Z</updated>
		
		<summary type="html">&lt;p&gt;Nopinks : /* outil et matériel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Photo de l'équipe :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:photo_groupe_reflex_box2.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
Lors de la construction de notre Reflexe Box, nous avons utilisé plusieurs composants :&lt;br /&gt;
    - 5 boutons&lt;br /&gt;
    - Une batterie externe&lt;br /&gt;
    - Une plaque Labdec&lt;br /&gt;
    - Un D1 Mini pour contrôler l'ensemble des composants de notre projet&lt;br /&gt;
    - Un DF Player MP3 pour lire la carte SD&lt;br /&gt;
    - Un ruban de 20 LED permettant d'afficher les scores&lt;br /&gt;
    - Des câbles&lt;br /&gt;
    - Des planches de cartons servant à confectionner l'armature&lt;br /&gt;
&lt;br /&gt;
Nous avons également eu besoin de plusieurs outils :&lt;br /&gt;
    - Un fer à souder&lt;br /&gt;
    - Une découpeuse laser&lt;br /&gt;
    - Une pince à dénuder&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
#define PIN 9&lt;br /&gt;
#include &amp;lt;Arduino_GFX_Library.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
&lt;br /&gt;
Nous avons réfléchi à une idée puis fais un dessin de la future maquette.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:dessin_maquette.png|400px]]&lt;br /&gt;
&lt;br /&gt;
===étape 2===&lt;br /&gt;
&lt;br /&gt;
Après avoir dessiné la maquette, nous l'avons construite pour se faire une idée plus réelle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:photo_maquette1.jpg|400px]]&lt;br /&gt;
[[Fichier:photo_maquette2.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
===étape 3===&lt;br /&gt;
Nous avons effectuer plusieurs tests afin de nous familiariser avec les composants, de les tester et de verifier quelles utilisations nous pourrons en faire.&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
/*********&lt;br /&gt;
  Rui Santos&lt;br /&gt;
  Complete project details at http://randomnerdtutorials.com  &lt;br /&gt;
  https://randomnerdtutorials.com/interrupts-timers-esp8266-arduino-ide-nodemcu/&lt;br /&gt;
*********/&lt;br /&gt;
/*&lt;br /&gt;
Lolin (Wemos) D1 mini&lt;br /&gt;
                                     &lt;br /&gt;
                                _________________&lt;br /&gt;
                               /     D1 mini     \&lt;br /&gt;
                              |[ ]RST        TX[ ]|&lt;br /&gt;
                              |[ ]A0  -GPIO  RX[ ]|&lt;br /&gt;
                              |[ ]D0-16    5-D1[ ]| SCL&lt;br /&gt;
                        SCK - |[ ]D5-14    4-D2[ ]| SDA&lt;br /&gt;
                       MISO - |[ ]D6-12    0-D3[ ]|&lt;br /&gt;
                       MOSI - |[ ]D7-13    2-D4[ ]| LED_BUILTIN&lt;br /&gt;
                         SS - |[ ]D8-15     GND[ ]|&lt;br /&gt;
                              |[ ]3V3 .      5V[ ]|&lt;br /&gt;
                              |       +---+       |&lt;br /&gt;
                              |_______|USB|_______|&lt;br /&gt;
&lt;br /&gt;
                              */&lt;br /&gt;
&lt;br /&gt;
#define timeSeconds 10&lt;br /&gt;
&lt;br /&gt;
// Set GPIOs for LED and PIR Motion Sensor&lt;br /&gt;
const int led = 2; //D4&lt;br /&gt;
const int bouton = 0; //D3 input pullup&lt;br /&gt;
&lt;br /&gt;
// Timer: Auxiliary variables&lt;br /&gt;
unsigned long now = millis();&lt;br /&gt;
unsigned long lastTrigger = 0;&lt;br /&gt;
boolean startTimer = false;&lt;br /&gt;
&lt;br /&gt;
// vérifie si on a appuyé sur le bouton&lt;br /&gt;
ICACHE_RAM_ATTR void detectsMovement() {&lt;br /&gt;
  Serial.println(&amp;quot;bouton appuyé !!!&amp;quot;);&lt;br /&gt;
  digitalWrite(led, LOW);&lt;br /&gt;
  startTimer = true;&lt;br /&gt;
  lastTrigger = millis();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // Serial port for debugging purposes&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  &lt;br /&gt;
  // PIR Motion Sensor mode INPUT_PULLUP&lt;br /&gt;
  pinMode(bouton, INPUT_PULLUP);&lt;br /&gt;
  // Set motionSensor pin as interrupt, assign interrupt function and set RISING mode&lt;br /&gt;
  attachInterrupt(digitalPinToInterrupt(bouton), detectsMovement, RISING);&lt;br /&gt;
&lt;br /&gt;
  // Set LED to LOW&lt;br /&gt;
  pinMode(led, OUTPUT);&lt;br /&gt;
  digitalWrite(led, HIGH);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // Current time&lt;br /&gt;
  now = millis();&lt;br /&gt;
  // Turn off the LED after the number of seconds defined in the timeSeconds variable&lt;br /&gt;
  if(startTimer &amp;amp;&amp;amp; (now - lastTrigger &amp;gt; (timeSeconds*1000))) {&lt;br /&gt;
    Serial.println(&amp;quot;Motion stopped...&amp;quot;);&lt;br /&gt;
    digitalWrite(led, LOW);&lt;br /&gt;
    startTimer = false;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Elément de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>Nopinks</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_Reflex_Box&amp;diff=29728</id>
		<title>ENIB 2025 : Reflex Box</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_Reflex_Box&amp;diff=29728"/>
				<updated>2025-01-22T14:28:41Z</updated>
		
		<summary type="html">&lt;p&gt;Nopinks : /* outil et matériel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Photo de l'équipe :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:photo_groupe_reflex_box2.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
Lors de la construction de notre Reflexe Box, nous avons utilisé plusieurs composants :&lt;br /&gt;
    - 5 boutons&lt;br /&gt;
    - Une batterie externe&lt;br /&gt;
    - Une plaque Labdec&lt;br /&gt;
    - Un D1 Mini pour contrôler l'ensemble des composants de notre projet&lt;br /&gt;
    - Un DF Player MP3 pour lire la carte SD&lt;br /&gt;
    - Un ruban de 20 LED permettant d'afficher les scores&lt;br /&gt;
    - Des câbles&lt;br /&gt;
    - Des planches de bois servant à confectionner l'armature&lt;br /&gt;
&lt;br /&gt;
Nous avons également eu besoin de plusieurs outils :&lt;br /&gt;
    - Un fer à souder&lt;br /&gt;
    - Une découpeuse laser&lt;br /&gt;
    - Une pince à dénuder&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
#define PIN 9&lt;br /&gt;
#include &amp;lt;Arduino_GFX_Library.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
&lt;br /&gt;
Nous avons réfléchi à une idée puis fais un dessin de la future maquette.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:dessin_maquette.png|400px]]&lt;br /&gt;
&lt;br /&gt;
===étape 2===&lt;br /&gt;
&lt;br /&gt;
Après avoir dessiné la maquette, nous l'avons construite pour se faire une idée plus réelle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:photo_maquette1.jpg|400px]]&lt;br /&gt;
[[Fichier:photo_maquette2.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
===étape 3===&lt;br /&gt;
Nous avons effectuer plusieurs tests afin de nous familiariser avec les composants, de les tester et de verifier quelles utilisations nous pourrons en faire.&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
==Elémlent de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>Nopinks</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_Reflex_Box&amp;diff=29724</id>
		<title>ENIB 2025 : Reflex Box</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2025_:_Reflex_Box&amp;diff=29724"/>
				<updated>2025-01-22T14:21:03Z</updated>
		
		<summary type="html">&lt;p&gt;Nopinks : /* étape ... */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Titre de la fiche expérience :&lt;br /&gt;
==description (résumé)==&lt;br /&gt;
Photo de l'équipe :&lt;br /&gt;
&lt;br /&gt;
[[Fichier:photo_groupe_reflex_box2.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
éventuelle vidéo&lt;br /&gt;
==outil et matériel==&lt;br /&gt;
&lt;br /&gt;
==fichiers à joindre==&lt;br /&gt;
code, ficher d'impression 3D, de découpe laser ou vinyle, ...&lt;br /&gt;
===Mettre du code Arduino===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt; &lt;br /&gt;
#define PIN 9&lt;br /&gt;
#include &amp;lt;Arduino_GFX_Library.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==étapes de fabrication==&lt;br /&gt;
indiquer autant d'étape que nécessaire, chacune illustrée par des images (photo, dessins, ...)&lt;br /&gt;
&lt;br /&gt;
===étape 1===&lt;br /&gt;
&lt;br /&gt;
Nous avons réfléchi à une idée puis fais un dessin de la future maquette.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:dessin_maquette.png|400px]]&lt;br /&gt;
&lt;br /&gt;
===étape 2===&lt;br /&gt;
&lt;br /&gt;
Après avoir dessiné la maquette, nous l'avons construite pour se faire une idée plus réelle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:photo_maquette1.jpg|400px]]&lt;br /&gt;
[[Fichier:photo_maquette2.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
===étape 3===&lt;br /&gt;
Nous avons effectuer plusieurs tests afin de nous familiariser avec les composants, de les tester et de verifier quelles utilisations nous pourrons en faire.&lt;br /&gt;
&lt;br /&gt;
===Troubleshouting===&lt;br /&gt;
Quelles sont difficultés, les problèmes, quelles sont les solutions, les trucs et astuces pour que ça marche ?&lt;br /&gt;
&lt;br /&gt;
==Sources et documentation complémentaire==&lt;br /&gt;
&lt;br /&gt;
==Elémlent de présentation==&lt;br /&gt;
je met ici le document de présentation de mon projet&lt;br /&gt;
&lt;br /&gt;
==ne pas modifier sous cette ligne==&lt;br /&gt;
[[Catégorie:Enib2024]]&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2025]]&lt;/div&gt;</summary>
		<author><name>Nopinks</name></author>	</entry>

	</feed>