<?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=LechevalierNoir</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=LechevalierNoir"/>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Sp%C3%A9cial:Contributions/LechevalierNoir"/>
		<updated>2026-05-01T00:16:58Z</updated>
		<subtitle>Contributions de l’utilisateur</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2024_:_Arr%C3%AAte_la_LED&amp;diff=26417</id>
		<title>ENIB 2024 : Arrête la LED</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2024_:_Arr%C3%AAte_la_LED&amp;diff=26417"/>
				<updated>2024-01-31T15:03:48Z</updated>
		
		<summary type="html">&lt;p&gt;LechevalierNoir : /* Liste des composants  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== '''Projet réalisé par : '''==&lt;br /&gt;
&lt;br /&gt;
- Barthe Théo&lt;br /&gt;
&lt;br /&gt;
- Melin Alexandre&lt;br /&gt;
&lt;br /&gt;
- Quenouillère Matéo&lt;br /&gt;
&lt;br /&gt;
- Roule Steven&lt;br /&gt;
&lt;br /&gt;
== '''Descriptif du projet '''==&lt;br /&gt;
&lt;br /&gt;
Attrape la LED est un jeu d'adresse qui demande aux joueurs d'appuyer sur un bouton au bon moment pour arrêter une LED bleue en mouvement sur une bande de LEDs, en l'alignant avec une LED verte. Le jeu utilise un ESP D1 mini pour contrôler les LEDs et un bouton. A chaque réussite, une LED de la bande s'enlève jusqu'à ce qu'il n'en reste plus. Dès que le joueur se loupe, le jeu est remis à zéro.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Photo catch the middle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== '''Liste des composants '''==&lt;br /&gt;
&lt;br /&gt;
* Bouton poussoir style Arcade&lt;br /&gt;
* ESP D1 mini (microcontrôleur) &lt;br /&gt;
* 2 rubans de LED adressable (85 LEDs pour être exact) &lt;br /&gt;
* Câble micro-USB&lt;br /&gt;
* Câbles électriques&lt;br /&gt;
* Carton / bois&lt;br /&gt;
** pour trouver les modèles des boites on peut utiliser le site ci dessous, puis l'imprimer avec une graveuse laser.&lt;br /&gt;
  https://www.festi.info/boxes.py/&lt;br /&gt;
&lt;br /&gt;
== '''Outils utilisés '''==&lt;br /&gt;
&lt;br /&gt;
* Cutter&lt;br /&gt;
* Pistolet à colle&lt;br /&gt;
* Fer à souder&lt;br /&gt;
* Bibliothèque Arduino FastLed&lt;br /&gt;
        https://fastled.io/&lt;br /&gt;
&lt;br /&gt;
== '''Code du projet '''==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;FastLED.h&amp;gt;&lt;br /&gt;
#define NUM_LEDS 85&lt;br /&gt;
#define DATA_PIN D4&lt;br /&gt;
#define PIN_BTN D3&lt;br /&gt;
&lt;br /&gt;
CRGB leds[NUM_LEDS];&lt;br /&gt;
int level_depart = 10; // niveau auquel le joueur est&lt;br /&gt;
int level_courant = level_depart;&lt;br /&gt;
bool test = false; // niveau auquel le joueur est&lt;br /&gt;
int position_leds_v = 37;&lt;br /&gt;
int vitesse = 40;&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
  FastLED.addLeds&amp;lt;NEOPIXEL, DATA_PIN&amp;gt;(leds, NUM_LEDS);&lt;br /&gt;
  pinMode(PIN_BTN, INPUT); // setup du bouton dur l'entrée PIN_BTN =&amp;gt; 3&lt;br /&gt;
  FastLED.setBrightness(10);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
  for (int dot = 0; dot &amp;lt; NUM_LEDS; dot++)&lt;br /&gt;
  {&lt;br /&gt;
    // leds[position_leds_v] = CRGB::Green;&lt;br /&gt;
    for (int i = 0; i &amp;lt; level_courant; i++)&lt;br /&gt;
    {&lt;br /&gt;
      leds[position_leds_v + i] = CRGB::Green;&lt;br /&gt;
    }&lt;br /&gt;
    leds[dot] = CRGB::Blue;&lt;br /&gt;
    FastLED.show();&lt;br /&gt;
&lt;br /&gt;
    if (!digitalRead(PIN_BTN))&lt;br /&gt;
    {&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          leds[position_leds_v + i] = CRGB::Yellow;&lt;br /&gt;
          level_courant -= 1;&lt;br /&gt;
          if (level_courant == 0)&lt;br /&gt;
          {&lt;br /&gt;
            level_courant = level_depart;&lt;br /&gt;
            /* for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
            {&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Yellow;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Black;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
            } */&lt;br /&gt;
&lt;br /&gt;
            for (int i3 = 0; i3 &amp;lt; NUM_LEDS; i3++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[40 + i3] = CRGB::Yellow;&lt;br /&gt;
              leds[40 - i3] = CRGB::Yellow;&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(80);&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
          for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
          {&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::White;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::Black;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
          }&lt;br /&gt;
          leds[position_leds_v + level_courant] = CRGB::Black;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      test = false;&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          test = true;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      if (test == false)&lt;br /&gt;
      {&lt;br /&gt;
        level_courant = level_depart;&lt;br /&gt;
        for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
        {&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Red;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Black;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      FastLED.show();&lt;br /&gt;
    }&lt;br /&gt;
    // clear this led for the next time around the loop&lt;br /&gt;
    leds[dot] = CRGB::Black;&lt;br /&gt;
    delay(vitesse);&lt;br /&gt;
  }&lt;br /&gt;
  for (int dot = NUM_LEDS; dot &amp;gt; 0; dot--)&lt;br /&gt;
  {&lt;br /&gt;
    // leds[position_leds_v] = CRGB::Green;&lt;br /&gt;
    for (int i = 0; i &amp;lt; level_courant; i++)&lt;br /&gt;
    {&lt;br /&gt;
      leds[position_leds_v + i] = CRGB::Green;&lt;br /&gt;
    }&lt;br /&gt;
    leds[dot] = CRGB::Blue;&lt;br /&gt;
    FastLED.show();&lt;br /&gt;
&lt;br /&gt;
    if (!digitalRead(PIN_BTN))&lt;br /&gt;
    {&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          leds[position_leds_v + i] = CRGB::Yellow;&lt;br /&gt;
          level_courant -= 1;&lt;br /&gt;
          if (level_courant == 0)&lt;br /&gt;
          {&lt;br /&gt;
            level_courant = level_depart;&lt;br /&gt;
            /* for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
            {&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Yellow;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Black;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
            } */&lt;br /&gt;
&lt;br /&gt;
            for (int i3 = 0; i3 &amp;lt; NUM_LEDS; i3++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[40 + i3] = CRGB::Yellow;&lt;br /&gt;
              leds[40 - i3] = CRGB::Yellow;&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(80);&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
          for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
          {&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::White;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::Black;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
          }&lt;br /&gt;
          leds[position_leds_v + level_courant] = CRGB::Black;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      test = false;&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          test = true;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      if (test == false)&lt;br /&gt;
      {&lt;br /&gt;
        level_courant = level_depart;&lt;br /&gt;
        for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
        {&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Red;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Black;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      FastLED.show();&lt;br /&gt;
    }&lt;br /&gt;
    // clear this led for the next time around the loop&lt;br /&gt;
    leds[dot] = CRGB::Black;&lt;br /&gt;
    delay(vitesse);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>LechevalierNoir</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2024_:_Arr%C3%AAte_la_LED&amp;diff=26416</id>
		<title>ENIB 2024 : Arrête la LED</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2024_:_Arr%C3%AAte_la_LED&amp;diff=26416"/>
				<updated>2024-01-31T15:02:49Z</updated>
		
		<summary type="html">&lt;p&gt;LechevalierNoir : /* Liste des composants  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== '''Projet réalisé par : '''==&lt;br /&gt;
&lt;br /&gt;
- Barthe Théo&lt;br /&gt;
&lt;br /&gt;
- Melin Alexandre&lt;br /&gt;
&lt;br /&gt;
- Quenouillère Matéo&lt;br /&gt;
&lt;br /&gt;
- Roule Steven&lt;br /&gt;
&lt;br /&gt;
== '''Descriptif du projet '''==&lt;br /&gt;
&lt;br /&gt;
Attrape la LED est un jeu d'adresse qui demande aux joueurs d'appuyer sur un bouton au bon moment pour arrêter une LED bleue en mouvement sur une bande de LEDs, en l'alignant avec une LED verte. Le jeu utilise un ESP D1 mini pour contrôler les LEDs et un bouton. A chaque réussite, une LED de la bande s'enlève jusqu'à ce qu'il n'en reste plus. Dès que le joueur se loupe, le jeu est remis à zéro.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Photo catch the middle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== '''Liste des composants '''==&lt;br /&gt;
&lt;br /&gt;
* Bouton poussoir style Arcade&lt;br /&gt;
* ESP D1 mini (microcontrôleur) &lt;br /&gt;
* 2 rubans de LED adressable (85 LEDs pour être exact) &lt;br /&gt;
* Câble micro-USB&lt;br /&gt;
* Câbles électriques&lt;br /&gt;
* Carton / bois&lt;br /&gt;
** pour trouver les modèles des boites on peut utiliser le site : &lt;br /&gt;
  https://www.festi.info/boxes.py/&lt;br /&gt;
&lt;br /&gt;
Puis l'imprimer avec une graveuse laser.&lt;br /&gt;
&lt;br /&gt;
== '''Outils utilisés '''==&lt;br /&gt;
&lt;br /&gt;
* Cutter&lt;br /&gt;
* Pistolet à colle&lt;br /&gt;
* Fer à souder&lt;br /&gt;
* Bibliothèque Arduino FastLed&lt;br /&gt;
        https://fastled.io/&lt;br /&gt;
&lt;br /&gt;
== '''Code du projet '''==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;FastLED.h&amp;gt;&lt;br /&gt;
#define NUM_LEDS 85&lt;br /&gt;
#define DATA_PIN D4&lt;br /&gt;
#define PIN_BTN D3&lt;br /&gt;
&lt;br /&gt;
CRGB leds[NUM_LEDS];&lt;br /&gt;
int level_depart = 10; // niveau auquel le joueur est&lt;br /&gt;
int level_courant = level_depart;&lt;br /&gt;
bool test = false; // niveau auquel le joueur est&lt;br /&gt;
int position_leds_v = 37;&lt;br /&gt;
int vitesse = 40;&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
  FastLED.addLeds&amp;lt;NEOPIXEL, DATA_PIN&amp;gt;(leds, NUM_LEDS);&lt;br /&gt;
  pinMode(PIN_BTN, INPUT); // setup du bouton dur l'entrée PIN_BTN =&amp;gt; 3&lt;br /&gt;
  FastLED.setBrightness(10);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
  for (int dot = 0; dot &amp;lt; NUM_LEDS; dot++)&lt;br /&gt;
  {&lt;br /&gt;
    // leds[position_leds_v] = CRGB::Green;&lt;br /&gt;
    for (int i = 0; i &amp;lt; level_courant; i++)&lt;br /&gt;
    {&lt;br /&gt;
      leds[position_leds_v + i] = CRGB::Green;&lt;br /&gt;
    }&lt;br /&gt;
    leds[dot] = CRGB::Blue;&lt;br /&gt;
    FastLED.show();&lt;br /&gt;
&lt;br /&gt;
    if (!digitalRead(PIN_BTN))&lt;br /&gt;
    {&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          leds[position_leds_v + i] = CRGB::Yellow;&lt;br /&gt;
          level_courant -= 1;&lt;br /&gt;
          if (level_courant == 0)&lt;br /&gt;
          {&lt;br /&gt;
            level_courant = level_depart;&lt;br /&gt;
            /* for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
            {&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Yellow;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Black;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
            } */&lt;br /&gt;
&lt;br /&gt;
            for (int i3 = 0; i3 &amp;lt; NUM_LEDS; i3++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[40 + i3] = CRGB::Yellow;&lt;br /&gt;
              leds[40 - i3] = CRGB::Yellow;&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(80);&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
          for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
          {&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::White;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::Black;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
          }&lt;br /&gt;
          leds[position_leds_v + level_courant] = CRGB::Black;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      test = false;&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          test = true;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      if (test == false)&lt;br /&gt;
      {&lt;br /&gt;
        level_courant = level_depart;&lt;br /&gt;
        for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
        {&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Red;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Black;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      FastLED.show();&lt;br /&gt;
    }&lt;br /&gt;
    // clear this led for the next time around the loop&lt;br /&gt;
    leds[dot] = CRGB::Black;&lt;br /&gt;
    delay(vitesse);&lt;br /&gt;
  }&lt;br /&gt;
  for (int dot = NUM_LEDS; dot &amp;gt; 0; dot--)&lt;br /&gt;
  {&lt;br /&gt;
    // leds[position_leds_v] = CRGB::Green;&lt;br /&gt;
    for (int i = 0; i &amp;lt; level_courant; i++)&lt;br /&gt;
    {&lt;br /&gt;
      leds[position_leds_v + i] = CRGB::Green;&lt;br /&gt;
    }&lt;br /&gt;
    leds[dot] = CRGB::Blue;&lt;br /&gt;
    FastLED.show();&lt;br /&gt;
&lt;br /&gt;
    if (!digitalRead(PIN_BTN))&lt;br /&gt;
    {&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          leds[position_leds_v + i] = CRGB::Yellow;&lt;br /&gt;
          level_courant -= 1;&lt;br /&gt;
          if (level_courant == 0)&lt;br /&gt;
          {&lt;br /&gt;
            level_courant = level_depart;&lt;br /&gt;
            /* for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
            {&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Yellow;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Black;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
            } */&lt;br /&gt;
&lt;br /&gt;
            for (int i3 = 0; i3 &amp;lt; NUM_LEDS; i3++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[40 + i3] = CRGB::Yellow;&lt;br /&gt;
              leds[40 - i3] = CRGB::Yellow;&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(80);&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
          for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
          {&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::White;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::Black;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
          }&lt;br /&gt;
          leds[position_leds_v + level_courant] = CRGB::Black;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      test = false;&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          test = true;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      if (test == false)&lt;br /&gt;
      {&lt;br /&gt;
        level_courant = level_depart;&lt;br /&gt;
        for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
        {&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Red;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Black;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      FastLED.show();&lt;br /&gt;
    }&lt;br /&gt;
    // clear this led for the next time around the loop&lt;br /&gt;
    leds[dot] = CRGB::Black;&lt;br /&gt;
    delay(vitesse);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>LechevalierNoir</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2024_:_Arr%C3%AAte_la_LED&amp;diff=26412</id>
		<title>ENIB 2024 : Arrête la LED</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2024_:_Arr%C3%AAte_la_LED&amp;diff=26412"/>
				<updated>2024-01-31T15:02:14Z</updated>
		
		<summary type="html">&lt;p&gt;LechevalierNoir : /* Liste des composants  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== '''Projet réalisé par : '''==&lt;br /&gt;
&lt;br /&gt;
- Barthe Théo&lt;br /&gt;
&lt;br /&gt;
- Melin Alexandre&lt;br /&gt;
&lt;br /&gt;
- Quenouillère Matéo&lt;br /&gt;
&lt;br /&gt;
- Roule Steven&lt;br /&gt;
&lt;br /&gt;
== '''Descriptif du projet '''==&lt;br /&gt;
&lt;br /&gt;
Attrape la LED est un jeu d'adresse qui demande aux joueurs d'appuyer sur un bouton au bon moment pour arrêter une LED bleue en mouvement sur une bande de LEDs, en l'alignant avec une LED verte. Le jeu utilise un ESP D1 mini pour contrôler les LEDs et un bouton. A chaque réussite, une LED de la bande s'enlève jusqu'à ce qu'il n'en reste plus. Dès que le joueur se loupe, le jeu est remis à zéro.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Photo catch the middle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== '''Liste des composants '''==&lt;br /&gt;
&lt;br /&gt;
* Bouton poussoir style Arcade&lt;br /&gt;
* ESP D1 mini (microcontrôleur) &lt;br /&gt;
* 2 rubans de LED adressable (85 LEDs pour être exact) &lt;br /&gt;
* Câble micro-USB&lt;br /&gt;
* Câbles électriques&lt;br /&gt;
* Carton / bois&lt;br /&gt;
-&amp;gt; pour trouver les modèles des boites on peut utiliser le site : &lt;br /&gt;
  https://www.festi.info/boxes.py/&lt;br /&gt;
&lt;br /&gt;
Puis l'imprimer avec une graveuse laser.&lt;br /&gt;
&lt;br /&gt;
== '''Outils utilisés '''==&lt;br /&gt;
&lt;br /&gt;
* Cutter&lt;br /&gt;
* Pistolet à colle&lt;br /&gt;
* Fer à souder&lt;br /&gt;
* Bibliothèque Arduino FastLed&lt;br /&gt;
        https://fastled.io/&lt;br /&gt;
&lt;br /&gt;
== '''Code du projet '''==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;FastLED.h&amp;gt;&lt;br /&gt;
#define NUM_LEDS 85&lt;br /&gt;
#define DATA_PIN D4&lt;br /&gt;
#define PIN_BTN D3&lt;br /&gt;
&lt;br /&gt;
CRGB leds[NUM_LEDS];&lt;br /&gt;
int level_depart = 10; // niveau auquel le joueur est&lt;br /&gt;
int level_courant = level_depart;&lt;br /&gt;
bool test = false; // niveau auquel le joueur est&lt;br /&gt;
int position_leds_v = 37;&lt;br /&gt;
int vitesse = 40;&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
  FastLED.addLeds&amp;lt;NEOPIXEL, DATA_PIN&amp;gt;(leds, NUM_LEDS);&lt;br /&gt;
  pinMode(PIN_BTN, INPUT); // setup du bouton dur l'entrée PIN_BTN =&amp;gt; 3&lt;br /&gt;
  FastLED.setBrightness(10);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
  for (int dot = 0; dot &amp;lt; NUM_LEDS; dot++)&lt;br /&gt;
  {&lt;br /&gt;
    // leds[position_leds_v] = CRGB::Green;&lt;br /&gt;
    for (int i = 0; i &amp;lt; level_courant; i++)&lt;br /&gt;
    {&lt;br /&gt;
      leds[position_leds_v + i] = CRGB::Green;&lt;br /&gt;
    }&lt;br /&gt;
    leds[dot] = CRGB::Blue;&lt;br /&gt;
    FastLED.show();&lt;br /&gt;
&lt;br /&gt;
    if (!digitalRead(PIN_BTN))&lt;br /&gt;
    {&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          leds[position_leds_v + i] = CRGB::Yellow;&lt;br /&gt;
          level_courant -= 1;&lt;br /&gt;
          if (level_courant == 0)&lt;br /&gt;
          {&lt;br /&gt;
            level_courant = level_depart;&lt;br /&gt;
            /* for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
            {&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Yellow;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Black;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
            } */&lt;br /&gt;
&lt;br /&gt;
            for (int i3 = 0; i3 &amp;lt; NUM_LEDS; i3++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[40 + i3] = CRGB::Yellow;&lt;br /&gt;
              leds[40 - i3] = CRGB::Yellow;&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(80);&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
          for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
          {&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::White;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::Black;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
          }&lt;br /&gt;
          leds[position_leds_v + level_courant] = CRGB::Black;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      test = false;&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          test = true;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      if (test == false)&lt;br /&gt;
      {&lt;br /&gt;
        level_courant = level_depart;&lt;br /&gt;
        for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
        {&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Red;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Black;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      FastLED.show();&lt;br /&gt;
    }&lt;br /&gt;
    // clear this led for the next time around the loop&lt;br /&gt;
    leds[dot] = CRGB::Black;&lt;br /&gt;
    delay(vitesse);&lt;br /&gt;
  }&lt;br /&gt;
  for (int dot = NUM_LEDS; dot &amp;gt; 0; dot--)&lt;br /&gt;
  {&lt;br /&gt;
    // leds[position_leds_v] = CRGB::Green;&lt;br /&gt;
    for (int i = 0; i &amp;lt; level_courant; i++)&lt;br /&gt;
    {&lt;br /&gt;
      leds[position_leds_v + i] = CRGB::Green;&lt;br /&gt;
    }&lt;br /&gt;
    leds[dot] = CRGB::Blue;&lt;br /&gt;
    FastLED.show();&lt;br /&gt;
&lt;br /&gt;
    if (!digitalRead(PIN_BTN))&lt;br /&gt;
    {&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          leds[position_leds_v + i] = CRGB::Yellow;&lt;br /&gt;
          level_courant -= 1;&lt;br /&gt;
          if (level_courant == 0)&lt;br /&gt;
          {&lt;br /&gt;
            level_courant = level_depart;&lt;br /&gt;
            /* for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
            {&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Yellow;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Black;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
            } */&lt;br /&gt;
&lt;br /&gt;
            for (int i3 = 0; i3 &amp;lt; NUM_LEDS; i3++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[40 + i3] = CRGB::Yellow;&lt;br /&gt;
              leds[40 - i3] = CRGB::Yellow;&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(80);&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
          for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
          {&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::White;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::Black;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
          }&lt;br /&gt;
          leds[position_leds_v + level_courant] = CRGB::Black;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      test = false;&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          test = true;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      if (test == false)&lt;br /&gt;
      {&lt;br /&gt;
        level_courant = level_depart;&lt;br /&gt;
        for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
        {&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Red;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Black;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      FastLED.show();&lt;br /&gt;
    }&lt;br /&gt;
    // clear this led for the next time around the loop&lt;br /&gt;
    leds[dot] = CRGB::Black;&lt;br /&gt;
    delay(vitesse);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>LechevalierNoir</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2024_:_Arr%C3%AAte_la_LED&amp;diff=26410</id>
		<title>ENIB 2024 : Arrête la LED</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2024_:_Arr%C3%AAte_la_LED&amp;diff=26410"/>
				<updated>2024-01-31T15:01:55Z</updated>
		
		<summary type="html">&lt;p&gt;LechevalierNoir : /* Liste des composants  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== '''Projet réalisé par : '''==&lt;br /&gt;
&lt;br /&gt;
- Barthe Théo&lt;br /&gt;
&lt;br /&gt;
- Melin Alexandre&lt;br /&gt;
&lt;br /&gt;
- Quenouillère Matéo&lt;br /&gt;
&lt;br /&gt;
- Roule Steven&lt;br /&gt;
&lt;br /&gt;
== '''Descriptif du projet '''==&lt;br /&gt;
&lt;br /&gt;
Attrape la LED est un jeu d'adresse qui demande aux joueurs d'appuyer sur un bouton au bon moment pour arrêter une LED bleue en mouvement sur une bande de LEDs, en l'alignant avec une LED verte. Le jeu utilise un ESP D1 mini pour contrôler les LEDs et un bouton. A chaque réussite, une LED de la bande s'enlève jusqu'à ce qu'il n'en reste plus. Dès que le joueur se loupe, le jeu est remis à zéro.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Photo catch the middle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== '''Liste des composants '''==&lt;br /&gt;
&lt;br /&gt;
* Bouton poussoir style Arcade&lt;br /&gt;
* ESP D1 mini (microcontrôleur) &lt;br /&gt;
* 2 rubans de LED adressable (85 LEDs pour être exact) &lt;br /&gt;
* Câble micro-USB&lt;br /&gt;
* Câbles électriques&lt;br /&gt;
* Carton / bois&lt;br /&gt;
-&amp;gt; pour trouver les modèles des boites on peut utiliser le site : &lt;br /&gt;
  https://www.festi.info/boxes.py/&lt;br /&gt;
&lt;br /&gt;
  Puis l'imprimer avec une graveuse laser.&lt;br /&gt;
&lt;br /&gt;
== '''Outils utilisés '''==&lt;br /&gt;
&lt;br /&gt;
* Cutter&lt;br /&gt;
* Pistolet à colle&lt;br /&gt;
* Fer à souder&lt;br /&gt;
* Bibliothèque Arduino FastLed&lt;br /&gt;
        https://fastled.io/&lt;br /&gt;
&lt;br /&gt;
== '''Code du projet '''==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;FastLED.h&amp;gt;&lt;br /&gt;
#define NUM_LEDS 85&lt;br /&gt;
#define DATA_PIN D4&lt;br /&gt;
#define PIN_BTN D3&lt;br /&gt;
&lt;br /&gt;
CRGB leds[NUM_LEDS];&lt;br /&gt;
int level_depart = 10; // niveau auquel le joueur est&lt;br /&gt;
int level_courant = level_depart;&lt;br /&gt;
bool test = false; // niveau auquel le joueur est&lt;br /&gt;
int position_leds_v = 37;&lt;br /&gt;
int vitesse = 40;&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
  FastLED.addLeds&amp;lt;NEOPIXEL, DATA_PIN&amp;gt;(leds, NUM_LEDS);&lt;br /&gt;
  pinMode(PIN_BTN, INPUT); // setup du bouton dur l'entrée PIN_BTN =&amp;gt; 3&lt;br /&gt;
  FastLED.setBrightness(10);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
  for (int dot = 0; dot &amp;lt; NUM_LEDS; dot++)&lt;br /&gt;
  {&lt;br /&gt;
    // leds[position_leds_v] = CRGB::Green;&lt;br /&gt;
    for (int i = 0; i &amp;lt; level_courant; i++)&lt;br /&gt;
    {&lt;br /&gt;
      leds[position_leds_v + i] = CRGB::Green;&lt;br /&gt;
    }&lt;br /&gt;
    leds[dot] = CRGB::Blue;&lt;br /&gt;
    FastLED.show();&lt;br /&gt;
&lt;br /&gt;
    if (!digitalRead(PIN_BTN))&lt;br /&gt;
    {&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          leds[position_leds_v + i] = CRGB::Yellow;&lt;br /&gt;
          level_courant -= 1;&lt;br /&gt;
          if (level_courant == 0)&lt;br /&gt;
          {&lt;br /&gt;
            level_courant = level_depart;&lt;br /&gt;
            /* for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
            {&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Yellow;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Black;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
            } */&lt;br /&gt;
&lt;br /&gt;
            for (int i3 = 0; i3 &amp;lt; NUM_LEDS; i3++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[40 + i3] = CRGB::Yellow;&lt;br /&gt;
              leds[40 - i3] = CRGB::Yellow;&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(80);&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
          for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
          {&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::White;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::Black;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
          }&lt;br /&gt;
          leds[position_leds_v + level_courant] = CRGB::Black;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      test = false;&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          test = true;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      if (test == false)&lt;br /&gt;
      {&lt;br /&gt;
        level_courant = level_depart;&lt;br /&gt;
        for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
        {&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Red;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Black;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      FastLED.show();&lt;br /&gt;
    }&lt;br /&gt;
    // clear this led for the next time around the loop&lt;br /&gt;
    leds[dot] = CRGB::Black;&lt;br /&gt;
    delay(vitesse);&lt;br /&gt;
  }&lt;br /&gt;
  for (int dot = NUM_LEDS; dot &amp;gt; 0; dot--)&lt;br /&gt;
  {&lt;br /&gt;
    // leds[position_leds_v] = CRGB::Green;&lt;br /&gt;
    for (int i = 0; i &amp;lt; level_courant; i++)&lt;br /&gt;
    {&lt;br /&gt;
      leds[position_leds_v + i] = CRGB::Green;&lt;br /&gt;
    }&lt;br /&gt;
    leds[dot] = CRGB::Blue;&lt;br /&gt;
    FastLED.show();&lt;br /&gt;
&lt;br /&gt;
    if (!digitalRead(PIN_BTN))&lt;br /&gt;
    {&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          leds[position_leds_v + i] = CRGB::Yellow;&lt;br /&gt;
          level_courant -= 1;&lt;br /&gt;
          if (level_courant == 0)&lt;br /&gt;
          {&lt;br /&gt;
            level_courant = level_depart;&lt;br /&gt;
            /* for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
            {&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Yellow;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Black;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
            } */&lt;br /&gt;
&lt;br /&gt;
            for (int i3 = 0; i3 &amp;lt; NUM_LEDS; i3++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[40 + i3] = CRGB::Yellow;&lt;br /&gt;
              leds[40 - i3] = CRGB::Yellow;&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(80);&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
          for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
          {&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::White;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::Black;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
          }&lt;br /&gt;
          leds[position_leds_v + level_courant] = CRGB::Black;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      test = false;&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          test = true;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      if (test == false)&lt;br /&gt;
      {&lt;br /&gt;
        level_courant = level_depart;&lt;br /&gt;
        for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
        {&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Red;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Black;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      FastLED.show();&lt;br /&gt;
    }&lt;br /&gt;
    // clear this led for the next time around the loop&lt;br /&gt;
    leds[dot] = CRGB::Black;&lt;br /&gt;
    delay(vitesse);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>LechevalierNoir</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2024_:_Arr%C3%AAte_la_LED&amp;diff=26408</id>
		<title>ENIB 2024 : Arrête la LED</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2024_:_Arr%C3%AAte_la_LED&amp;diff=26408"/>
				<updated>2024-01-31T15:01:34Z</updated>
		
		<summary type="html">&lt;p&gt;LechevalierNoir : /* Liste des composants  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== '''Projet réalisé par : '''==&lt;br /&gt;
&lt;br /&gt;
- Barthe Théo&lt;br /&gt;
&lt;br /&gt;
- Melin Alexandre&lt;br /&gt;
&lt;br /&gt;
- Quenouillère Matéo&lt;br /&gt;
&lt;br /&gt;
- Roule Steven&lt;br /&gt;
&lt;br /&gt;
== '''Descriptif du projet '''==&lt;br /&gt;
&lt;br /&gt;
Attrape la LED est un jeu d'adresse qui demande aux joueurs d'appuyer sur un bouton au bon moment pour arrêter une LED bleue en mouvement sur une bande de LEDs, en l'alignant avec une LED verte. Le jeu utilise un ESP D1 mini pour contrôler les LEDs et un bouton. A chaque réussite, une LED de la bande s'enlève jusqu'à ce qu'il n'en reste plus. Dès que le joueur se loupe, le jeu est remis à zéro.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Photo catch the middle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== '''Liste des composants '''==&lt;br /&gt;
&lt;br /&gt;
* Bouton poussoir style Arcade&lt;br /&gt;
* ESP D1 mini (microcontrôleur) &lt;br /&gt;
* 2 rubans de LED adressable (85 LEDs pour être exact) &lt;br /&gt;
* Câble micro-USB&lt;br /&gt;
* Câbles électriques&lt;br /&gt;
* Carton / bois&lt;br /&gt;
-&amp;gt; pour trouver les modèles des boites on peut utiliser le site : &lt;br /&gt;
  https://www.festi.info/boxes.py/&lt;br /&gt;
  Puis l'imprimer avec une graveuse laser.&lt;br /&gt;
&lt;br /&gt;
== '''Outils utilisés '''==&lt;br /&gt;
&lt;br /&gt;
* Cutter&lt;br /&gt;
* Pistolet à colle&lt;br /&gt;
* Fer à souder&lt;br /&gt;
* Bibliothèque Arduino FastLed&lt;br /&gt;
        https://fastled.io/&lt;br /&gt;
&lt;br /&gt;
== '''Code du projet '''==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;FastLED.h&amp;gt;&lt;br /&gt;
#define NUM_LEDS 85&lt;br /&gt;
#define DATA_PIN D4&lt;br /&gt;
#define PIN_BTN D3&lt;br /&gt;
&lt;br /&gt;
CRGB leds[NUM_LEDS];&lt;br /&gt;
int level_depart = 10; // niveau auquel le joueur est&lt;br /&gt;
int level_courant = level_depart;&lt;br /&gt;
bool test = false; // niveau auquel le joueur est&lt;br /&gt;
int position_leds_v = 37;&lt;br /&gt;
int vitesse = 40;&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
  FastLED.addLeds&amp;lt;NEOPIXEL, DATA_PIN&amp;gt;(leds, NUM_LEDS);&lt;br /&gt;
  pinMode(PIN_BTN, INPUT); // setup du bouton dur l'entrée PIN_BTN =&amp;gt; 3&lt;br /&gt;
  FastLED.setBrightness(10);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
  for (int dot = 0; dot &amp;lt; NUM_LEDS; dot++)&lt;br /&gt;
  {&lt;br /&gt;
    // leds[position_leds_v] = CRGB::Green;&lt;br /&gt;
    for (int i = 0; i &amp;lt; level_courant; i++)&lt;br /&gt;
    {&lt;br /&gt;
      leds[position_leds_v + i] = CRGB::Green;&lt;br /&gt;
    }&lt;br /&gt;
    leds[dot] = CRGB::Blue;&lt;br /&gt;
    FastLED.show();&lt;br /&gt;
&lt;br /&gt;
    if (!digitalRead(PIN_BTN))&lt;br /&gt;
    {&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          leds[position_leds_v + i] = CRGB::Yellow;&lt;br /&gt;
          level_courant -= 1;&lt;br /&gt;
          if (level_courant == 0)&lt;br /&gt;
          {&lt;br /&gt;
            level_courant = level_depart;&lt;br /&gt;
            /* for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
            {&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Yellow;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Black;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
            } */&lt;br /&gt;
&lt;br /&gt;
            for (int i3 = 0; i3 &amp;lt; NUM_LEDS; i3++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[40 + i3] = CRGB::Yellow;&lt;br /&gt;
              leds[40 - i3] = CRGB::Yellow;&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(80);&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
          for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
          {&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::White;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::Black;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
          }&lt;br /&gt;
          leds[position_leds_v + level_courant] = CRGB::Black;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      test = false;&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          test = true;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      if (test == false)&lt;br /&gt;
      {&lt;br /&gt;
        level_courant = level_depart;&lt;br /&gt;
        for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
        {&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Red;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Black;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      FastLED.show();&lt;br /&gt;
    }&lt;br /&gt;
    // clear this led for the next time around the loop&lt;br /&gt;
    leds[dot] = CRGB::Black;&lt;br /&gt;
    delay(vitesse);&lt;br /&gt;
  }&lt;br /&gt;
  for (int dot = NUM_LEDS; dot &amp;gt; 0; dot--)&lt;br /&gt;
  {&lt;br /&gt;
    // leds[position_leds_v] = CRGB::Green;&lt;br /&gt;
    for (int i = 0; i &amp;lt; level_courant; i++)&lt;br /&gt;
    {&lt;br /&gt;
      leds[position_leds_v + i] = CRGB::Green;&lt;br /&gt;
    }&lt;br /&gt;
    leds[dot] = CRGB::Blue;&lt;br /&gt;
    FastLED.show();&lt;br /&gt;
&lt;br /&gt;
    if (!digitalRead(PIN_BTN))&lt;br /&gt;
    {&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          leds[position_leds_v + i] = CRGB::Yellow;&lt;br /&gt;
          level_courant -= 1;&lt;br /&gt;
          if (level_courant == 0)&lt;br /&gt;
          {&lt;br /&gt;
            level_courant = level_depart;&lt;br /&gt;
            /* for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
            {&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Yellow;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Black;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
            } */&lt;br /&gt;
&lt;br /&gt;
            for (int i3 = 0; i3 &amp;lt; NUM_LEDS; i3++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[40 + i3] = CRGB::Yellow;&lt;br /&gt;
              leds[40 - i3] = CRGB::Yellow;&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(80);&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
          for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
          {&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::White;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::Black;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
          }&lt;br /&gt;
          leds[position_leds_v + level_courant] = CRGB::Black;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      test = false;&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          test = true;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      if (test == false)&lt;br /&gt;
      {&lt;br /&gt;
        level_courant = level_depart;&lt;br /&gt;
        for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
        {&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Red;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Black;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      FastLED.show();&lt;br /&gt;
    }&lt;br /&gt;
    // clear this led for the next time around the loop&lt;br /&gt;
    leds[dot] = CRGB::Black;&lt;br /&gt;
    delay(vitesse);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>LechevalierNoir</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2024_:_Arr%C3%AAte_la_LED&amp;diff=26403</id>
		<title>ENIB 2024 : Arrête la LED</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2024_:_Arr%C3%AAte_la_LED&amp;diff=26403"/>
				<updated>2024-01-31T14:57:50Z</updated>
		
		<summary type="html">&lt;p&gt;LechevalierNoir : /* Outils utilisés  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== '''Projet réalisé par : '''==&lt;br /&gt;
&lt;br /&gt;
- Barthe Théo&lt;br /&gt;
&lt;br /&gt;
- Melin Alexandre&lt;br /&gt;
&lt;br /&gt;
- Quenouillère Matéo&lt;br /&gt;
&lt;br /&gt;
- Roule Steven&lt;br /&gt;
&lt;br /&gt;
== '''Descriptif du projet '''==&lt;br /&gt;
&lt;br /&gt;
Attrape la LED est un jeu d'adresse qui demande aux joueurs d'appuyer sur un bouton au bon moment pour arrêter une LED bleue en mouvement sur une bande de LEDs, en l'alignant avec une LED verte. Le jeu utilise un ESP D1 mini pour contrôler les LEDs et un bouton. A chaque réussite, une LED de la bande s'enlève jusqu'à ce qu'il n'en reste plus. Dès que le joueur se loupe, le jeu est remis à zéro.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Photo catch the middle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== '''Liste des composants '''==&lt;br /&gt;
&lt;br /&gt;
* Bouton poussoir style Arcade&lt;br /&gt;
* ESP D1 mini (microcontrôleur) &lt;br /&gt;
* 2 rubans de LED adressable (85 LEDs pour être exact) &lt;br /&gt;
* Carton / bois&lt;br /&gt;
* Câble micro-USB&lt;br /&gt;
* Câbles électriques&lt;br /&gt;
&lt;br /&gt;
== '''Outils utilisés '''==&lt;br /&gt;
&lt;br /&gt;
* Cutter&lt;br /&gt;
* Pistolet à colle&lt;br /&gt;
* Fer à souder&lt;br /&gt;
* Bibliothèque Arduino FastLed&lt;br /&gt;
        https://fastled.io/&lt;br /&gt;
&lt;br /&gt;
== '''Code du projet '''==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;FastLED.h&amp;gt;&lt;br /&gt;
#define NUM_LEDS 85&lt;br /&gt;
#define DATA_PIN D4&lt;br /&gt;
#define PIN_BTN D3&lt;br /&gt;
&lt;br /&gt;
CRGB leds[NUM_LEDS];&lt;br /&gt;
int level_depart = 10; // niveau auquel le joueur est&lt;br /&gt;
int level_courant = level_depart;&lt;br /&gt;
bool test = false; // niveau auquel le joueur est&lt;br /&gt;
int position_leds_v = 37;&lt;br /&gt;
int vitesse = 40;&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
  FastLED.addLeds&amp;lt;NEOPIXEL, DATA_PIN&amp;gt;(leds, NUM_LEDS);&lt;br /&gt;
  pinMode(PIN_BTN, INPUT); // setup du bouton dur l'entrée PIN_BTN =&amp;gt; 3&lt;br /&gt;
  FastLED.setBrightness(10);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
  for (int dot = 0; dot &amp;lt; NUM_LEDS; dot++)&lt;br /&gt;
  {&lt;br /&gt;
    // leds[position_leds_v] = CRGB::Green;&lt;br /&gt;
    for (int i = 0; i &amp;lt; level_courant; i++)&lt;br /&gt;
    {&lt;br /&gt;
      leds[position_leds_v + i] = CRGB::Green;&lt;br /&gt;
    }&lt;br /&gt;
    leds[dot] = CRGB::Blue;&lt;br /&gt;
    FastLED.show();&lt;br /&gt;
&lt;br /&gt;
    if (!digitalRead(PIN_BTN))&lt;br /&gt;
    {&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          leds[position_leds_v + i] = CRGB::Yellow;&lt;br /&gt;
          level_courant -= 1;&lt;br /&gt;
          if (level_courant == 0)&lt;br /&gt;
          {&lt;br /&gt;
            level_courant = level_depart;&lt;br /&gt;
            /* for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
            {&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Yellow;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Black;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
            } */&lt;br /&gt;
&lt;br /&gt;
            for (int i3 = 0; i3 &amp;lt; NUM_LEDS; i3++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[40 + i3] = CRGB::Yellow;&lt;br /&gt;
              leds[40 - i3] = CRGB::Yellow;&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(80);&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
          for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
          {&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::White;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::Black;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
          }&lt;br /&gt;
          leds[position_leds_v + level_courant] = CRGB::Black;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      test = false;&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          test = true;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      if (test == false)&lt;br /&gt;
      {&lt;br /&gt;
        level_courant = level_depart;&lt;br /&gt;
        for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
        {&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Red;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Black;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      FastLED.show();&lt;br /&gt;
    }&lt;br /&gt;
    // clear this led for the next time around the loop&lt;br /&gt;
    leds[dot] = CRGB::Black;&lt;br /&gt;
    delay(vitesse);&lt;br /&gt;
  }&lt;br /&gt;
  for (int dot = NUM_LEDS; dot &amp;gt; 0; dot--)&lt;br /&gt;
  {&lt;br /&gt;
    // leds[position_leds_v] = CRGB::Green;&lt;br /&gt;
    for (int i = 0; i &amp;lt; level_courant; i++)&lt;br /&gt;
    {&lt;br /&gt;
      leds[position_leds_v + i] = CRGB::Green;&lt;br /&gt;
    }&lt;br /&gt;
    leds[dot] = CRGB::Blue;&lt;br /&gt;
    FastLED.show();&lt;br /&gt;
&lt;br /&gt;
    if (!digitalRead(PIN_BTN))&lt;br /&gt;
    {&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          leds[position_leds_v + i] = CRGB::Yellow;&lt;br /&gt;
          level_courant -= 1;&lt;br /&gt;
          if (level_courant == 0)&lt;br /&gt;
          {&lt;br /&gt;
            level_courant = level_depart;&lt;br /&gt;
            /* for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
            {&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Yellow;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Black;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
            } */&lt;br /&gt;
&lt;br /&gt;
            for (int i3 = 0; i3 &amp;lt; NUM_LEDS; i3++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[40 + i3] = CRGB::Yellow;&lt;br /&gt;
              leds[40 - i3] = CRGB::Yellow;&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(80);&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
          for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
          {&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::White;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::Black;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
          }&lt;br /&gt;
          leds[position_leds_v + level_courant] = CRGB::Black;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      test = false;&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          test = true;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      if (test == false)&lt;br /&gt;
      {&lt;br /&gt;
        level_courant = level_depart;&lt;br /&gt;
        for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
        {&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Red;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Black;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      FastLED.show();&lt;br /&gt;
    }&lt;br /&gt;
    // clear this led for the next time around the loop&lt;br /&gt;
    leds[dot] = CRGB::Black;&lt;br /&gt;
    delay(vitesse);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>LechevalierNoir</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2024_:_Arr%C3%AAte_la_LED&amp;diff=26394</id>
		<title>ENIB 2024 : Arrête la LED</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2024_:_Arr%C3%AAte_la_LED&amp;diff=26394"/>
				<updated>2024-01-31T14:53:07Z</updated>
		
		<summary type="html">&lt;p&gt;LechevalierNoir : /* Descriptif du projet  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== '''Projet réalisé par : '''==&lt;br /&gt;
&lt;br /&gt;
- Barthe Théo&lt;br /&gt;
&lt;br /&gt;
- Melin Alexandre&lt;br /&gt;
&lt;br /&gt;
- Quenouillère Matéo&lt;br /&gt;
&lt;br /&gt;
- Roule Steven&lt;br /&gt;
&lt;br /&gt;
== '''Descriptif du projet '''==&lt;br /&gt;
&lt;br /&gt;
Attrape la LED est un jeu d'adresse qui demande aux joueurs d'appuyer sur un bouton au bon moment pour arrêter une LED bleue en mouvement sur une bande de LEDs, en l'alignant avec une LED verte. Le jeu utilise un ESP D1 mini pour contrôler les LEDs et un bouton. A chaque réussite, une LED de la bande s'enlève jusqu'à ce qu'il n'en reste plus. Dès que le joueur se loupe, le jeu est remis à zéro.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Photo catch the middle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== '''Liste des composants '''==&lt;br /&gt;
&lt;br /&gt;
* Bouton poussoir style Arcade&lt;br /&gt;
* ESP D1 mini (microcontrôleur) &lt;br /&gt;
* 2 rubans de LED adressable (85 LEDs pour être exact) &lt;br /&gt;
* Carton / bois&lt;br /&gt;
* Câble micro-USB&lt;br /&gt;
* Câbles électriques&lt;br /&gt;
&lt;br /&gt;
== '''Outils utilisés '''==&lt;br /&gt;
&lt;br /&gt;
* Cutter&lt;br /&gt;
* Pistolet à colle&lt;br /&gt;
* Fer à souder&lt;br /&gt;
* Bibliothèque Arduino FastLed&lt;br /&gt;
&lt;br /&gt;
== '''Code du projet '''==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;FastLED.h&amp;gt;&lt;br /&gt;
#define NUM_LEDS 85&lt;br /&gt;
#define DATA_PIN D4&lt;br /&gt;
#define PIN_BTN D3&lt;br /&gt;
&lt;br /&gt;
CRGB leds[NUM_LEDS];&lt;br /&gt;
int level_depart = 10; // niveau auquel le joueur est&lt;br /&gt;
int level_courant = level_depart;&lt;br /&gt;
bool test = false; // niveau auquel le joueur est&lt;br /&gt;
int position_leds_v = 37;&lt;br /&gt;
int vitesse = 40;&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
  FastLED.addLeds&amp;lt;NEOPIXEL, DATA_PIN&amp;gt;(leds, NUM_LEDS);&lt;br /&gt;
  pinMode(PIN_BTN, INPUT); // setup du bouton dur l'entrée PIN_BTN =&amp;gt; 3&lt;br /&gt;
  FastLED.setBrightness(10);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
  for (int dot = 0; dot &amp;lt; NUM_LEDS; dot++)&lt;br /&gt;
  {&lt;br /&gt;
    // leds[position_leds_v] = CRGB::Green;&lt;br /&gt;
    for (int i = 0; i &amp;lt; level_courant; i++)&lt;br /&gt;
    {&lt;br /&gt;
      leds[position_leds_v + i] = CRGB::Green;&lt;br /&gt;
    }&lt;br /&gt;
    leds[dot] = CRGB::Blue;&lt;br /&gt;
    FastLED.show();&lt;br /&gt;
&lt;br /&gt;
    if (!digitalRead(PIN_BTN))&lt;br /&gt;
    {&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          leds[position_leds_v + i] = CRGB::Yellow;&lt;br /&gt;
          level_courant -= 1;&lt;br /&gt;
          if (level_courant == 0)&lt;br /&gt;
          {&lt;br /&gt;
            level_courant = level_depart;&lt;br /&gt;
            /* for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
            {&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Yellow;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Black;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
            } */&lt;br /&gt;
&lt;br /&gt;
            for (int i3 = 0; i3 &amp;lt; NUM_LEDS; i3++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[40 + i3] = CRGB::Yellow;&lt;br /&gt;
              leds[40 - i3] = CRGB::Yellow;&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(80);&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
          for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
          {&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::White;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::Black;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
          }&lt;br /&gt;
          leds[position_leds_v + level_courant] = CRGB::Black;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      test = false;&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          test = true;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      if (test == false)&lt;br /&gt;
      {&lt;br /&gt;
        level_courant = level_depart;&lt;br /&gt;
        for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
        {&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Red;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Black;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      FastLED.show();&lt;br /&gt;
    }&lt;br /&gt;
    // clear this led for the next time around the loop&lt;br /&gt;
    leds[dot] = CRGB::Black;&lt;br /&gt;
    delay(vitesse);&lt;br /&gt;
  }&lt;br /&gt;
  for (int dot = NUM_LEDS; dot &amp;gt; 0; dot--)&lt;br /&gt;
  {&lt;br /&gt;
    // leds[position_leds_v] = CRGB::Green;&lt;br /&gt;
    for (int i = 0; i &amp;lt; level_courant; i++)&lt;br /&gt;
    {&lt;br /&gt;
      leds[position_leds_v + i] = CRGB::Green;&lt;br /&gt;
    }&lt;br /&gt;
    leds[dot] = CRGB::Blue;&lt;br /&gt;
    FastLED.show();&lt;br /&gt;
&lt;br /&gt;
    if (!digitalRead(PIN_BTN))&lt;br /&gt;
    {&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          leds[position_leds_v + i] = CRGB::Yellow;&lt;br /&gt;
          level_courant -= 1;&lt;br /&gt;
          if (level_courant == 0)&lt;br /&gt;
          {&lt;br /&gt;
            level_courant = level_depart;&lt;br /&gt;
            /* for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
            {&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Yellow;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Black;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
            } */&lt;br /&gt;
&lt;br /&gt;
            for (int i3 = 0; i3 &amp;lt; NUM_LEDS; i3++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[40 + i3] = CRGB::Yellow;&lt;br /&gt;
              leds[40 - i3] = CRGB::Yellow;&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(80);&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
          for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
          {&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::White;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::Black;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
          }&lt;br /&gt;
          leds[position_leds_v + level_courant] = CRGB::Black;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      test = false;&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          test = true;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      if (test == false)&lt;br /&gt;
      {&lt;br /&gt;
        level_courant = level_depart;&lt;br /&gt;
        for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
        {&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Red;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Black;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      FastLED.show();&lt;br /&gt;
    }&lt;br /&gt;
    // clear this led for the next time around the loop&lt;br /&gt;
    leds[dot] = CRGB::Black;&lt;br /&gt;
    delay(vitesse);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>LechevalierNoir</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2024_:_Arr%C3%AAte_la_LED&amp;diff=26385</id>
		<title>ENIB 2024 : Arrête la LED</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2024_:_Arr%C3%AAte_la_LED&amp;diff=26385"/>
				<updated>2024-01-31T14:41:45Z</updated>
		
		<summary type="html">&lt;p&gt;LechevalierNoir : /* Descriptif du projet  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== '''Projet réalisé par : '''==&lt;br /&gt;
&lt;br /&gt;
- Barthe Théo&lt;br /&gt;
&lt;br /&gt;
- Melin Alexandre&lt;br /&gt;
&lt;br /&gt;
- Quenouillère Matéo&lt;br /&gt;
&lt;br /&gt;
- Roule Steven&lt;br /&gt;
&lt;br /&gt;
== '''Descriptif du projet '''==&lt;br /&gt;
&lt;br /&gt;
Attrape la LED est un jeu d'adresse qui demande aux joueurs d'appuyer sur un bouton au bon moment pour arrêter une LED bleue en mouvement sur une bande de LEDs, en l'alignant avec une LED verte. Le jeu utilise un ESP D1 mini pour contrôler les LEDs et un bouton.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Photo catch the middle.jpg|300px]]&lt;br /&gt;
&lt;br /&gt;
== '''Liste des composants '''==&lt;br /&gt;
&lt;br /&gt;
* Bouton poussoir style Arcade&lt;br /&gt;
* ESP D1 mini (microcontrôleur) &lt;br /&gt;
* 2 rubans de LED adressable (85 LEDs pour être exact) &lt;br /&gt;
* Carton / bois&lt;br /&gt;
* Câble micro-USB&lt;br /&gt;
* Câbles électriques&lt;br /&gt;
&lt;br /&gt;
== '''Outils utilisés '''==&lt;br /&gt;
&lt;br /&gt;
* Cutter&lt;br /&gt;
* Pistolet à colle&lt;br /&gt;
* Fer à souder&lt;br /&gt;
* Bibliothèque Arduino FastLed&lt;br /&gt;
&lt;br /&gt;
== '''Code du projet '''==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;FastLED.h&amp;gt;&lt;br /&gt;
#define NUM_LEDS 85&lt;br /&gt;
#define DATA_PIN D4&lt;br /&gt;
#define PIN_BTN D3&lt;br /&gt;
&lt;br /&gt;
CRGB leds[NUM_LEDS];&lt;br /&gt;
int level_depart = 10; // niveau auquel le joueur est&lt;br /&gt;
int level_courant = level_depart;&lt;br /&gt;
bool test = false; // niveau auquel le joueur est&lt;br /&gt;
int position_leds_v = 37;&lt;br /&gt;
int vitesse = 40;&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
  FastLED.addLeds&amp;lt;NEOPIXEL, DATA_PIN&amp;gt;(leds, NUM_LEDS);&lt;br /&gt;
  pinMode(PIN_BTN, INPUT); // setup du bouton dur l'entrée PIN_BTN =&amp;gt; 3&lt;br /&gt;
  FastLED.setBrightness(10);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
  for (int dot = 0; dot &amp;lt; NUM_LEDS; dot++)&lt;br /&gt;
  {&lt;br /&gt;
    // leds[position_leds_v] = CRGB::Green;&lt;br /&gt;
    for (int i = 0; i &amp;lt; level_courant; i++)&lt;br /&gt;
    {&lt;br /&gt;
      leds[position_leds_v + i] = CRGB::Green;&lt;br /&gt;
    }&lt;br /&gt;
    leds[dot] = CRGB::Blue;&lt;br /&gt;
    FastLED.show();&lt;br /&gt;
&lt;br /&gt;
    if (!digitalRead(PIN_BTN))&lt;br /&gt;
    {&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          leds[position_leds_v + i] = CRGB::Yellow;&lt;br /&gt;
          level_courant -= 1;&lt;br /&gt;
          if (level_courant == 0)&lt;br /&gt;
          {&lt;br /&gt;
            level_courant = level_depart;&lt;br /&gt;
            /* for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
            {&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Yellow;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Black;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
            } */&lt;br /&gt;
&lt;br /&gt;
            for (int i3 = 0; i3 &amp;lt; NUM_LEDS; i3++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[40 + i3] = CRGB::Yellow;&lt;br /&gt;
              leds[40 - i3] = CRGB::Yellow;&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(80);&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
          for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
          {&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::White;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::Black;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
          }&lt;br /&gt;
          leds[position_leds_v + level_courant] = CRGB::Black;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      test = false;&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          test = true;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      if (test == false)&lt;br /&gt;
      {&lt;br /&gt;
        level_courant = level_depart;&lt;br /&gt;
        for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
        {&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Red;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Black;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      FastLED.show();&lt;br /&gt;
    }&lt;br /&gt;
    // clear this led for the next time around the loop&lt;br /&gt;
    leds[dot] = CRGB::Black;&lt;br /&gt;
    delay(vitesse);&lt;br /&gt;
  }&lt;br /&gt;
  for (int dot = NUM_LEDS; dot &amp;gt; 0; dot--)&lt;br /&gt;
  {&lt;br /&gt;
    // leds[position_leds_v] = CRGB::Green;&lt;br /&gt;
    for (int i = 0; i &amp;lt; level_courant; i++)&lt;br /&gt;
    {&lt;br /&gt;
      leds[position_leds_v + i] = CRGB::Green;&lt;br /&gt;
    }&lt;br /&gt;
    leds[dot] = CRGB::Blue;&lt;br /&gt;
    FastLED.show();&lt;br /&gt;
&lt;br /&gt;
    if (!digitalRead(PIN_BTN))&lt;br /&gt;
    {&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          leds[position_leds_v + i] = CRGB::Yellow;&lt;br /&gt;
          level_courant -= 1;&lt;br /&gt;
          if (level_courant == 0)&lt;br /&gt;
          {&lt;br /&gt;
            level_courant = level_depart;&lt;br /&gt;
            /* for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
            {&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Yellow;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Black;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
            } */&lt;br /&gt;
&lt;br /&gt;
            for (int i3 = 0; i3 &amp;lt; NUM_LEDS; i3++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[40 + i3] = CRGB::Yellow;&lt;br /&gt;
              leds[40 - i3] = CRGB::Yellow;&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(80);&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
          for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
          {&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::White;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::Black;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
          }&lt;br /&gt;
          leds[position_leds_v + level_courant] = CRGB::Black;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      test = false;&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          test = true;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      if (test == false)&lt;br /&gt;
      {&lt;br /&gt;
        level_courant = level_depart;&lt;br /&gt;
        for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
        {&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Red;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Black;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      FastLED.show();&lt;br /&gt;
    }&lt;br /&gt;
    // clear this led for the next time around the loop&lt;br /&gt;
    leds[dot] = CRGB::Black;&lt;br /&gt;
    delay(vitesse);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>LechevalierNoir</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2024_:_Arr%C3%AAte_la_LED&amp;diff=26382</id>
		<title>ENIB 2024 : Arrête la LED</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2024_:_Arr%C3%AAte_la_LED&amp;diff=26382"/>
				<updated>2024-01-31T14:40:14Z</updated>
		
		<summary type="html">&lt;p&gt;LechevalierNoir : /* Descriptif du projet  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== '''Projet réalisé par : '''==&lt;br /&gt;
&lt;br /&gt;
- Barthe Théo&lt;br /&gt;
&lt;br /&gt;
- Melin Alexandre&lt;br /&gt;
&lt;br /&gt;
- Quenouillère Matéo&lt;br /&gt;
&lt;br /&gt;
- Roule Steven&lt;br /&gt;
&lt;br /&gt;
== '''Descriptif du projet '''==&lt;br /&gt;
&lt;br /&gt;
Attrape la LED est un jeu d'adresse qui demande aux joueurs d'appuyer sur un bouton au bon moment pour arrêter une LED bleue en mouvement sur une bande de LEDs, en l'alignant avec une LED verte. Le jeu utilise un ESP D1 mini pour contrôler les LEDs et un bouton.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Photo catch the middle.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
== '''Liste des composants '''==&lt;br /&gt;
&lt;br /&gt;
* Bouton poussoir style Arcade&lt;br /&gt;
* ESP D1 mini (microcontrôleur) &lt;br /&gt;
* 2 rubans de LED adressable (85 LEDs pour être exact) &lt;br /&gt;
* Carton / bois&lt;br /&gt;
* Câble micro-USB&lt;br /&gt;
* Câbles électriques&lt;br /&gt;
&lt;br /&gt;
== '''Outils utilisés '''==&lt;br /&gt;
&lt;br /&gt;
* Cutter&lt;br /&gt;
* Pistolet à colle&lt;br /&gt;
* Fer à souder&lt;br /&gt;
* Bibliothèque Arduino FastLed&lt;br /&gt;
&lt;br /&gt;
== '''Code du projet '''==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;FastLED.h&amp;gt;&lt;br /&gt;
#define NUM_LEDS 85&lt;br /&gt;
#define DATA_PIN D4&lt;br /&gt;
#define PIN_BTN D3&lt;br /&gt;
&lt;br /&gt;
CRGB leds[NUM_LEDS];&lt;br /&gt;
int level_depart = 10; // niveau auquel le joueur est&lt;br /&gt;
int level_courant = level_depart;&lt;br /&gt;
bool test = false; // niveau auquel le joueur est&lt;br /&gt;
int position_leds_v = 37;&lt;br /&gt;
int vitesse = 40;&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
  FastLED.addLeds&amp;lt;NEOPIXEL, DATA_PIN&amp;gt;(leds, NUM_LEDS);&lt;br /&gt;
  pinMode(PIN_BTN, INPUT); // setup du bouton dur l'entrée PIN_BTN =&amp;gt; 3&lt;br /&gt;
  FastLED.setBrightness(10);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
  for (int dot = 0; dot &amp;lt; NUM_LEDS; dot++)&lt;br /&gt;
  {&lt;br /&gt;
    // leds[position_leds_v] = CRGB::Green;&lt;br /&gt;
    for (int i = 0; i &amp;lt; level_courant; i++)&lt;br /&gt;
    {&lt;br /&gt;
      leds[position_leds_v + i] = CRGB::Green;&lt;br /&gt;
    }&lt;br /&gt;
    leds[dot] = CRGB::Blue;&lt;br /&gt;
    FastLED.show();&lt;br /&gt;
&lt;br /&gt;
    if (!digitalRead(PIN_BTN))&lt;br /&gt;
    {&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          leds[position_leds_v + i] = CRGB::Yellow;&lt;br /&gt;
          level_courant -= 1;&lt;br /&gt;
          if (level_courant == 0)&lt;br /&gt;
          {&lt;br /&gt;
            level_courant = level_depart;&lt;br /&gt;
            /* for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
            {&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Yellow;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Black;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
            } */&lt;br /&gt;
&lt;br /&gt;
            for (int i3 = 0; i3 &amp;lt; NUM_LEDS; i3++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[40 + i3] = CRGB::Yellow;&lt;br /&gt;
              leds[40 - i3] = CRGB::Yellow;&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(80);&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
          for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
          {&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::White;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::Black;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
          }&lt;br /&gt;
          leds[position_leds_v + level_courant] = CRGB::Black;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      test = false;&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          test = true;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      if (test == false)&lt;br /&gt;
      {&lt;br /&gt;
        level_courant = level_depart;&lt;br /&gt;
        for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
        {&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Red;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Black;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      FastLED.show();&lt;br /&gt;
    }&lt;br /&gt;
    // clear this led for the next time around the loop&lt;br /&gt;
    leds[dot] = CRGB::Black;&lt;br /&gt;
    delay(vitesse);&lt;br /&gt;
  }&lt;br /&gt;
  for (int dot = NUM_LEDS; dot &amp;gt; 0; dot--)&lt;br /&gt;
  {&lt;br /&gt;
    // leds[position_leds_v] = CRGB::Green;&lt;br /&gt;
    for (int i = 0; i &amp;lt; level_courant; i++)&lt;br /&gt;
    {&lt;br /&gt;
      leds[position_leds_v + i] = CRGB::Green;&lt;br /&gt;
    }&lt;br /&gt;
    leds[dot] = CRGB::Blue;&lt;br /&gt;
    FastLED.show();&lt;br /&gt;
&lt;br /&gt;
    if (!digitalRead(PIN_BTN))&lt;br /&gt;
    {&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          leds[position_leds_v + i] = CRGB::Yellow;&lt;br /&gt;
          level_courant -= 1;&lt;br /&gt;
          if (level_courant == 0)&lt;br /&gt;
          {&lt;br /&gt;
            level_courant = level_depart;&lt;br /&gt;
            /* for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
            {&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Yellow;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Black;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
            } */&lt;br /&gt;
&lt;br /&gt;
            for (int i3 = 0; i3 &amp;lt; NUM_LEDS; i3++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[40 + i3] = CRGB::Yellow;&lt;br /&gt;
              leds[40 - i3] = CRGB::Yellow;&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(80);&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
          for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
          {&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::White;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::Black;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
          }&lt;br /&gt;
          leds[position_leds_v + level_courant] = CRGB::Black;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      test = false;&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          test = true;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      if (test == false)&lt;br /&gt;
      {&lt;br /&gt;
        level_courant = level_depart;&lt;br /&gt;
        for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
        {&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Red;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Black;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      FastLED.show();&lt;br /&gt;
    }&lt;br /&gt;
    // clear this led for the next time around the loop&lt;br /&gt;
    leds[dot] = CRGB::Black;&lt;br /&gt;
    delay(vitesse);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>LechevalierNoir</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Photo_catch_the_middle.jpg&amp;diff=26381</id>
		<title>Fichier:Photo catch the middle.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Photo_catch_the_middle.jpg&amp;diff=26381"/>
				<updated>2024-01-31T14:37:14Z</updated>
		
		<summary type="html">&lt;p&gt;LechevalierNoir : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>LechevalierNoir</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2024_:_Arr%C3%AAte_la_LED&amp;diff=26377</id>
		<title>ENIB 2024 : Arrête la LED</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2024_:_Arr%C3%AAte_la_LED&amp;diff=26377"/>
				<updated>2024-01-31T14:34:35Z</updated>
		
		<summary type="html">&lt;p&gt;LechevalierNoir : /* Code du projet  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== '''Projet réalisé par : '''==&lt;br /&gt;
&lt;br /&gt;
- Barthe Théo&lt;br /&gt;
&lt;br /&gt;
- Melin Alexandre&lt;br /&gt;
&lt;br /&gt;
- Quenouillère Matéo&lt;br /&gt;
&lt;br /&gt;
- Roule Steven&lt;br /&gt;
&lt;br /&gt;
== '''Descriptif du projet '''==&lt;br /&gt;
&lt;br /&gt;
Attrape la LED est un jeu d'adresse qui demande aux joueurs d'appuyer sur un bouton au bon moment pour arrêter une LED bleue en mouvement sur une bande de LEDs, en l'alignant avec une LED verte. Le jeu utilise un ESP D1 mini pour contrôler les LEDs et un bouton.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Liste des composants '''==&lt;br /&gt;
&lt;br /&gt;
* Bouton poussoir style Arcade&lt;br /&gt;
* ESP D1 mini (microcontrôleur) &lt;br /&gt;
* 2 rubans de LED adressable (85 LEDs pour être exact) &lt;br /&gt;
* Carton / bois&lt;br /&gt;
* Câble micro-USB&lt;br /&gt;
* Câbles électriques&lt;br /&gt;
&lt;br /&gt;
== '''Outils utilisés '''==&lt;br /&gt;
&lt;br /&gt;
* Cutter&lt;br /&gt;
* Pistolet à colle&lt;br /&gt;
* Fer à souder&lt;br /&gt;
* Bibliothèque Arduino FastLed&lt;br /&gt;
&lt;br /&gt;
== '''Code du projet '''==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;FastLED.h&amp;gt;&lt;br /&gt;
#define NUM_LEDS 85&lt;br /&gt;
#define DATA_PIN D4&lt;br /&gt;
#define PIN_BTN D3&lt;br /&gt;
&lt;br /&gt;
CRGB leds[NUM_LEDS];&lt;br /&gt;
int level_depart = 10; // niveau auquel le joueur est&lt;br /&gt;
int level_courant = level_depart;&lt;br /&gt;
bool test = false; // niveau auquel le joueur est&lt;br /&gt;
int position_leds_v = 37;&lt;br /&gt;
int vitesse = 40;&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
  FastLED.addLeds&amp;lt;NEOPIXEL, DATA_PIN&amp;gt;(leds, NUM_LEDS);&lt;br /&gt;
  pinMode(PIN_BTN, INPUT); // setup du bouton dur l'entrée PIN_BTN =&amp;gt; 3&lt;br /&gt;
  FastLED.setBrightness(10);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
  for (int dot = 0; dot &amp;lt; NUM_LEDS; dot++)&lt;br /&gt;
  {&lt;br /&gt;
    // leds[position_leds_v] = CRGB::Green;&lt;br /&gt;
    for (int i = 0; i &amp;lt; level_courant; i++)&lt;br /&gt;
    {&lt;br /&gt;
      leds[position_leds_v + i] = CRGB::Green;&lt;br /&gt;
    }&lt;br /&gt;
    leds[dot] = CRGB::Blue;&lt;br /&gt;
    FastLED.show();&lt;br /&gt;
&lt;br /&gt;
    if (!digitalRead(PIN_BTN))&lt;br /&gt;
    {&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          leds[position_leds_v + i] = CRGB::Yellow;&lt;br /&gt;
          level_courant -= 1;&lt;br /&gt;
          if (level_courant == 0)&lt;br /&gt;
          {&lt;br /&gt;
            level_courant = level_depart;&lt;br /&gt;
            /* for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
            {&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Yellow;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Black;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
            } */&lt;br /&gt;
&lt;br /&gt;
            for (int i3 = 0; i3 &amp;lt; NUM_LEDS; i3++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[40 + i3] = CRGB::Yellow;&lt;br /&gt;
              leds[40 - i3] = CRGB::Yellow;&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(80);&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
          for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
          {&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::White;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::Black;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
          }&lt;br /&gt;
          leds[position_leds_v + level_courant] = CRGB::Black;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      test = false;&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          test = true;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      if (test == false)&lt;br /&gt;
      {&lt;br /&gt;
        level_courant = level_depart;&lt;br /&gt;
        for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
        {&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Red;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Black;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      FastLED.show();&lt;br /&gt;
    }&lt;br /&gt;
    // clear this led for the next time around the loop&lt;br /&gt;
    leds[dot] = CRGB::Black;&lt;br /&gt;
    delay(vitesse);&lt;br /&gt;
  }&lt;br /&gt;
  for (int dot = NUM_LEDS; dot &amp;gt; 0; dot--)&lt;br /&gt;
  {&lt;br /&gt;
    // leds[position_leds_v] = CRGB::Green;&lt;br /&gt;
    for (int i = 0; i &amp;lt; level_courant; i++)&lt;br /&gt;
    {&lt;br /&gt;
      leds[position_leds_v + i] = CRGB::Green;&lt;br /&gt;
    }&lt;br /&gt;
    leds[dot] = CRGB::Blue;&lt;br /&gt;
    FastLED.show();&lt;br /&gt;
&lt;br /&gt;
    if (!digitalRead(PIN_BTN))&lt;br /&gt;
    {&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          leds[position_leds_v + i] = CRGB::Yellow;&lt;br /&gt;
          level_courant -= 1;&lt;br /&gt;
          if (level_courant == 0)&lt;br /&gt;
          {&lt;br /&gt;
            level_courant = level_depart;&lt;br /&gt;
            /* for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
            {&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Yellow;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Black;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
            } */&lt;br /&gt;
&lt;br /&gt;
            for (int i3 = 0; i3 &amp;lt; NUM_LEDS; i3++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[40 + i3] = CRGB::Yellow;&lt;br /&gt;
              leds[40 - i3] = CRGB::Yellow;&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(80);&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
          for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
          {&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::White;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::Black;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
          }&lt;br /&gt;
          leds[position_leds_v + level_courant] = CRGB::Black;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      test = false;&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          test = true;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      if (test == false)&lt;br /&gt;
      {&lt;br /&gt;
        level_courant = level_depart;&lt;br /&gt;
        for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
        {&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Red;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Black;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      FastLED.show();&lt;br /&gt;
    }&lt;br /&gt;
    // clear this led for the next time around the loop&lt;br /&gt;
    leds[dot] = CRGB::Black;&lt;br /&gt;
    delay(vitesse);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>LechevalierNoir</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2024_:_Arr%C3%AAte_la_LED&amp;diff=26376</id>
		<title>ENIB 2024 : Arrête la LED</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2024_:_Arr%C3%AAte_la_LED&amp;diff=26376"/>
				<updated>2024-01-31T14:34:06Z</updated>
		
		<summary type="html">&lt;p&gt;LechevalierNoir : /* Code du projet  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== '''Projet réalisé par : '''==&lt;br /&gt;
&lt;br /&gt;
- Barthe Théo&lt;br /&gt;
&lt;br /&gt;
- Melin Alexandre&lt;br /&gt;
&lt;br /&gt;
- Quenouillère Matéo&lt;br /&gt;
&lt;br /&gt;
- Roule Steven&lt;br /&gt;
&lt;br /&gt;
== '''Descriptif du projet '''==&lt;br /&gt;
&lt;br /&gt;
Attrape la LED est un jeu d'adresse qui demande aux joueurs d'appuyer sur un bouton au bon moment pour arrêter une LED bleue en mouvement sur une bande de LEDs, en l'alignant avec une LED verte. Le jeu utilise un ESP D1 mini pour contrôler les LEDs et un bouton.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Liste des composants '''==&lt;br /&gt;
&lt;br /&gt;
* Bouton poussoir style Arcade&lt;br /&gt;
* ESP D1 mini (microcontrôleur) &lt;br /&gt;
* 2 rubans de LED adressable (85 LEDs pour être exact) &lt;br /&gt;
* Carton / bois&lt;br /&gt;
* Câble micro-USB&lt;br /&gt;
* Câbles électriques&lt;br /&gt;
&lt;br /&gt;
== '''Outils utilisés '''==&lt;br /&gt;
&lt;br /&gt;
* Cutter&lt;br /&gt;
* Pistolet à colle&lt;br /&gt;
* Fer à souder&lt;br /&gt;
* Bibliothèque Arduino FastLed&lt;br /&gt;
&lt;br /&gt;
== '''Code du projet '''==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Arduino&amp;quot; line&amp;gt;&lt;br /&gt;
#include &amp;lt;FastLED.h&amp;gt;&lt;br /&gt;
#define NUM_LEDS 85&lt;br /&gt;
#define DATA_PIN D4&lt;br /&gt;
#define PIN_BTN D3&lt;br /&gt;
&lt;br /&gt;
CRGB leds[NUM_LEDS];&lt;br /&gt;
int level_depart = 10; // niveau auquel le joueur est&lt;br /&gt;
int level_courant = level_depart;&lt;br /&gt;
bool test = false; // niveau auquel le joueur est&lt;br /&gt;
int position_leds_v = 37;&lt;br /&gt;
int vitesse = 40;&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
  FastLED.addLeds&amp;lt;NEOPIXEL, DATA_PIN&amp;gt;(leds, NUM_LEDS);&lt;br /&gt;
  pinMode(PIN_BTN, INPUT); // setup du bouton dur l'entrée PIN_BTN =&amp;gt; 3&lt;br /&gt;
  FastLED.setBrightness(10);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
  for (int dot = 0; dot &amp;lt; NUM_LEDS; dot++)&lt;br /&gt;
  {&lt;br /&gt;
    // leds[position_leds_v] = CRGB::Green;&lt;br /&gt;
    for (int i = 0; i &amp;lt; level_courant; i++)&lt;br /&gt;
    {&lt;br /&gt;
      leds[position_leds_v + i] = CRGB::Green;&lt;br /&gt;
    }&lt;br /&gt;
    leds[dot] = CRGB::Blue;&lt;br /&gt;
    FastLED.show();&lt;br /&gt;
&lt;br /&gt;
    if (!digitalRead(PIN_BTN))&lt;br /&gt;
    {&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          leds[position_leds_v + i] = CRGB::Yellow;&lt;br /&gt;
          level_courant -= 1;&lt;br /&gt;
          if (level_courant == 0)&lt;br /&gt;
          {&lt;br /&gt;
            level_courant = level_depart;&lt;br /&gt;
            /* for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
            {&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Yellow;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Black;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
            } */&lt;br /&gt;
&lt;br /&gt;
            for (int i3 = 0; i3 &amp;lt; NUM_LEDS; i3++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[40 + i3] = CRGB::Yellow;&lt;br /&gt;
              leds[40 - i3] = CRGB::Yellow;&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(80);&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
          for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
          {&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::White;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::Black;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
          }&lt;br /&gt;
          leds[position_leds_v + level_courant] = CRGB::Black;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      test = false;&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          test = true;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      if (test == false)&lt;br /&gt;
      {&lt;br /&gt;
        level_courant = level_depart;&lt;br /&gt;
        for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
        {&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Red;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Black;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      FastLED.show();&lt;br /&gt;
    }&lt;br /&gt;
    // clear this led for the next time around the loop&lt;br /&gt;
    leds[dot] = CRGB::Black;&lt;br /&gt;
    delay(vitesse);&lt;br /&gt;
  }&lt;br /&gt;
  for (int dot = NUM_LEDS; dot &amp;gt; 0; dot--)&lt;br /&gt;
  {&lt;br /&gt;
    // leds[position_leds_v] = CRGB::Green;&lt;br /&gt;
    for (int i = 0; i &amp;lt; level_courant; i++)&lt;br /&gt;
    {&lt;br /&gt;
      leds[position_leds_v + i] = CRGB::Green;&lt;br /&gt;
    }&lt;br /&gt;
    leds[dot] = CRGB::Blue;&lt;br /&gt;
    FastLED.show();&lt;br /&gt;
&lt;br /&gt;
    if (!digitalRead(PIN_BTN))&lt;br /&gt;
    {&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          leds[position_leds_v + i] = CRGB::Yellow;&lt;br /&gt;
          level_courant -= 1;&lt;br /&gt;
          if (level_courant == 0)&lt;br /&gt;
          {&lt;br /&gt;
            level_courant = level_depart;&lt;br /&gt;
            /* for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
            {&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Yellow;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Black;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
            } */&lt;br /&gt;
&lt;br /&gt;
            for (int i3 = 0; i3 &amp;lt; NUM_LEDS; i3++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[40 + i3] = CRGB::Yellow;&lt;br /&gt;
              leds[40 - i3] = CRGB::Yellow;&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(80);&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
          for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
          {&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::White;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::Black;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
          }&lt;br /&gt;
          leds[position_leds_v + level_courant] = CRGB::Black;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      test = false;&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          test = true;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      if (test == false)&lt;br /&gt;
      {&lt;br /&gt;
        level_courant = level_depart;&lt;br /&gt;
        for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
        {&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Red;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Black;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      FastLED.show();&lt;br /&gt;
    }&lt;br /&gt;
    // clear this led for the next time around the loop&lt;br /&gt;
    leds[dot] = CRGB::Black;&lt;br /&gt;
    delay(vitesse);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>LechevalierNoir</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2024_:_Arr%C3%AAte_la_LED&amp;diff=26373</id>
		<title>ENIB 2024 : Arrête la LED</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2024_:_Arr%C3%AAte_la_LED&amp;diff=26373"/>
				<updated>2024-01-31T14:32:45Z</updated>
		
		<summary type="html">&lt;p&gt;LechevalierNoir : /* Outils utilisés  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== '''Projet réalisé par : '''==&lt;br /&gt;
&lt;br /&gt;
- Barthe Théo&lt;br /&gt;
&lt;br /&gt;
- Melin Alexandre&lt;br /&gt;
&lt;br /&gt;
- Quenouillère Matéo&lt;br /&gt;
&lt;br /&gt;
- Roule Steven&lt;br /&gt;
&lt;br /&gt;
== '''Descriptif du projet '''==&lt;br /&gt;
&lt;br /&gt;
Attrape la LED est un jeu d'adresse qui demande aux joueurs d'appuyer sur un bouton au bon moment pour arrêter une LED bleue en mouvement sur une bande de LEDs, en l'alignant avec une LED verte. Le jeu utilise un ESP D1 mini pour contrôler les LEDs et un bouton.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Liste des composants '''==&lt;br /&gt;
&lt;br /&gt;
* Bouton poussoir style Arcade&lt;br /&gt;
* ESP D1 mini (microcontrôleur) &lt;br /&gt;
* 2 rubans de LED adressable (85 LEDs pour être exact) &lt;br /&gt;
* Carton / bois&lt;br /&gt;
* Câble micro-USB&lt;br /&gt;
* Câbles électriques&lt;br /&gt;
&lt;br /&gt;
== '''Outils utilisés '''==&lt;br /&gt;
&lt;br /&gt;
* Cutter&lt;br /&gt;
* Pistolet à colle&lt;br /&gt;
* Fer à souder&lt;br /&gt;
* Bibliothèque Arduino FastLed&lt;br /&gt;
&lt;br /&gt;
== '''Code du projet '''==&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;FastLED.h&amp;gt;&lt;br /&gt;
#define NUM_LEDS 85&lt;br /&gt;
#define DATA_PIN D4&lt;br /&gt;
#define PIN_BTN D3&lt;br /&gt;
&lt;br /&gt;
CRGB leds[NUM_LEDS];&lt;br /&gt;
int level_depart = 10; // niveau auquel le joueur est&lt;br /&gt;
int level_courant = level_depart;&lt;br /&gt;
bool test = false; // niveau auquel le joueur est&lt;br /&gt;
int position_leds_v = 37;&lt;br /&gt;
int vitesse = 40;&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
  FastLED.addLeds&amp;lt;NEOPIXEL, DATA_PIN&amp;gt;(leds, NUM_LEDS);&lt;br /&gt;
  pinMode(PIN_BTN, INPUT); // setup du bouton dur l'entrée PIN_BTN =&amp;gt; 3&lt;br /&gt;
  FastLED.setBrightness(10);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
&lt;br /&gt;
  for (int dot = 0; dot &amp;lt; NUM_LEDS; dot++)&lt;br /&gt;
  {&lt;br /&gt;
    // leds[position_leds_v] = CRGB::Green;&lt;br /&gt;
    for (int i = 0; i &amp;lt; level_courant; i++)&lt;br /&gt;
    {&lt;br /&gt;
      leds[position_leds_v + i] = CRGB::Green;&lt;br /&gt;
    }&lt;br /&gt;
    leds[dot] = CRGB::Blue;&lt;br /&gt;
    FastLED.show();&lt;br /&gt;
&lt;br /&gt;
    if (!digitalRead(PIN_BTN))&lt;br /&gt;
    {&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          leds[position_leds_v + i] = CRGB::Yellow;&lt;br /&gt;
          level_courant -= 1;&lt;br /&gt;
          if (level_courant == 0)&lt;br /&gt;
          {&lt;br /&gt;
            level_courant = level_depart;&lt;br /&gt;
            /* for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
            {&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Yellow;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Black;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
            } */&lt;br /&gt;
&lt;br /&gt;
            for (int i3 = 0; i3 &amp;lt; NUM_LEDS; i3++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[40 + i3] = CRGB::Yellow;&lt;br /&gt;
              leds[40 - i3] = CRGB::Yellow;&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(80);&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
          for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
          {&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::White;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::Black;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
          }&lt;br /&gt;
          leds[position_leds_v + level_courant] = CRGB::Black;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      test = false;&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          test = true;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      if (test == false)&lt;br /&gt;
      {&lt;br /&gt;
        level_courant = level_depart;&lt;br /&gt;
        for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
        {&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Red;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Black;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      FastLED.show();&lt;br /&gt;
    }&lt;br /&gt;
    // clear this led for the next time around the loop&lt;br /&gt;
    leds[dot] = CRGB::Black;&lt;br /&gt;
    delay(vitesse);&lt;br /&gt;
  }&lt;br /&gt;
  for (int dot = NUM_LEDS; dot &amp;gt; 0; dot--)&lt;br /&gt;
  {&lt;br /&gt;
    // leds[position_leds_v] = CRGB::Green;&lt;br /&gt;
    for (int i = 0; i &amp;lt; level_courant; i++)&lt;br /&gt;
    {&lt;br /&gt;
      leds[position_leds_v + i] = CRGB::Green;&lt;br /&gt;
    }&lt;br /&gt;
    leds[dot] = CRGB::Blue;&lt;br /&gt;
    FastLED.show();&lt;br /&gt;
&lt;br /&gt;
    if (!digitalRead(PIN_BTN))&lt;br /&gt;
    {&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          leds[position_leds_v + i] = CRGB::Yellow;&lt;br /&gt;
          level_courant -= 1;&lt;br /&gt;
          if (level_courant == 0)&lt;br /&gt;
          {&lt;br /&gt;
            level_courant = level_depart;&lt;br /&gt;
            /* for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
            {&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Yellow;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
              for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
              {&lt;br /&gt;
                leds[i1] = CRGB::Black;&lt;br /&gt;
              }&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(200);&lt;br /&gt;
            } */&lt;br /&gt;
&lt;br /&gt;
            for (int i3 = 0; i3 &amp;lt; NUM_LEDS; i3++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[40 + i3] = CRGB::Yellow;&lt;br /&gt;
              leds[40 - i3] = CRGB::Yellow;&lt;br /&gt;
              FastLED.show();&lt;br /&gt;
              delay(80);&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
          for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
          {&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::White;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
            for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
            {&lt;br /&gt;
              leds[i1] = CRGB::Black;&lt;br /&gt;
            }&lt;br /&gt;
            FastLED.show();&lt;br /&gt;
            delay(200);&lt;br /&gt;
          }&lt;br /&gt;
          leds[position_leds_v + level_courant] = CRGB::Black;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      test = false;&lt;br /&gt;
      for (int i = 0; i &amp;lt;= level_courant; i++)&lt;br /&gt;
      {&lt;br /&gt;
        if (dot == position_leds_v + i)&lt;br /&gt;
        {&lt;br /&gt;
          test = true;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      if (test == false)&lt;br /&gt;
      {&lt;br /&gt;
        level_courant = level_depart;&lt;br /&gt;
        for (int i2 = 0; i2 &amp;lt; 5; i2++)&lt;br /&gt;
        {&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Red;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
          for (int i1 = 0; i1 &amp;lt; NUM_LEDS; i1++)&lt;br /&gt;
          {&lt;br /&gt;
            leds[i1] = CRGB::Black;&lt;br /&gt;
          }&lt;br /&gt;
          FastLED.show();&lt;br /&gt;
          delay(200);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      FastLED.show();&lt;br /&gt;
    }&lt;br /&gt;
    // clear this led for the next time around the loop&lt;br /&gt;
    leds[dot] = CRGB::Black;&lt;br /&gt;
    delay(vitesse);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>LechevalierNoir</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2024_:_Arr%C3%AAte_la_LED&amp;diff=26366</id>
		<title>ENIB 2024 : Arrête la LED</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2024_:_Arr%C3%AAte_la_LED&amp;diff=26366"/>
				<updated>2024-01-31T14:28:56Z</updated>
		
		<summary type="html">&lt;p&gt;LechevalierNoir : /* Outils utilisés  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== '''Projet réalisé par : '''==&lt;br /&gt;
&lt;br /&gt;
- Barthe Théo&lt;br /&gt;
&lt;br /&gt;
- Melin Alexandre&lt;br /&gt;
&lt;br /&gt;
- Quenouillère Matéo&lt;br /&gt;
&lt;br /&gt;
- Roule Steven&lt;br /&gt;
&lt;br /&gt;
== '''Descriptif du projet '''==&lt;br /&gt;
&lt;br /&gt;
Attrape la LED est un jeu d'adresse qui demande aux joueurs d'appuyer sur un bouton au bon moment pour arrêter une LED bleue en mouvement sur une bande de LEDs, en l'alignant avec une LED verte. Le jeu utilise un ESP D1 mini pour contrôler les LEDs et un bouton.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Liste des composants '''==&lt;br /&gt;
&lt;br /&gt;
* Bouton poussoir style Arcade&lt;br /&gt;
* ESP D1 mini (microcontrôleur) &lt;br /&gt;
* 2 rubans de LED adressable (85 LEDs pour être exact) &lt;br /&gt;
* Carton / bois&lt;br /&gt;
* Câble micro-USB&lt;br /&gt;
* Câbles électriques&lt;br /&gt;
&lt;br /&gt;
== '''Outils utilisés '''==&lt;br /&gt;
&lt;br /&gt;
* Cutter&lt;br /&gt;
* Pistolet à colle&lt;br /&gt;
* Fer à souder&lt;br /&gt;
* Bibliothèque Arduino FastLed&lt;/div&gt;</summary>
		<author><name>LechevalierNoir</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2024_:_Arr%C3%AAte_la_LED&amp;diff=26143</id>
		<title>ENIB 2024 : Arrête la LED</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2024_:_Arr%C3%AAte_la_LED&amp;diff=26143"/>
				<updated>2024-01-31T09:56:37Z</updated>
		
		<summary type="html">&lt;p&gt;LechevalierNoir : /* Descriptif du projet  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== '''Projet réalisé par : '''==&lt;br /&gt;
&lt;br /&gt;
- Barthe Théo&lt;br /&gt;
&lt;br /&gt;
- Melin Alexandre&lt;br /&gt;
&lt;br /&gt;
- Quenouillère Matéo&lt;br /&gt;
&lt;br /&gt;
- Roule Steven&lt;br /&gt;
&lt;br /&gt;
== '''Descriptif du projet '''==&lt;br /&gt;
&lt;br /&gt;
Attrape la LED est un jeu d'adresse qui demande aux joueurs d'appuyer sur un bouton au bon moment pour arrêter une LED bleue en mouvement sur une bande de LEDs, en l'alignant avec une LED verte. Le jeu utilise un ESP D1 mini pour contrôler les LEDs et un bouton.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Liste des composants '''==&lt;br /&gt;
&lt;br /&gt;
* Bouton poussoir style Arcade&lt;br /&gt;
* ESP D1 mini (microcontrôleur) &lt;br /&gt;
* 2 rubans de LED adressable (85 LEDs pour être exact) &lt;br /&gt;
* Carton / bois&lt;br /&gt;
* Câble micro-USB&lt;br /&gt;
* Câbles électriques&lt;br /&gt;
&lt;br /&gt;
== '''Outils utilisés '''==&lt;br /&gt;
&lt;br /&gt;
* Cutter&lt;br /&gt;
* Pistolet à colle&lt;br /&gt;
* Fer à souder&lt;br /&gt;
* Bibliothèque Arduino FastLed&amp;amp;&lt;/div&gt;</summary>
		<author><name>LechevalierNoir</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2024_:_Arr%C3%AAte_la_LED&amp;diff=26099</id>
		<title>ENIB 2024 : Arrête la LED</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2024_:_Arr%C3%AAte_la_LED&amp;diff=26099"/>
				<updated>2024-01-31T09:12:00Z</updated>
		
		<summary type="html">&lt;p&gt;LechevalierNoir : /* Projet réalisé par :  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== '''Projet réalisé par : '''==&lt;br /&gt;
&lt;br /&gt;
- Barthe Théo&lt;br /&gt;
&lt;br /&gt;
- Melin Alexandre&lt;br /&gt;
&lt;br /&gt;
- Quenouillère Matéo&lt;br /&gt;
&lt;br /&gt;
- Roule Steven&lt;br /&gt;
&lt;br /&gt;
== '''Descriptif du projet '''==&lt;br /&gt;
&lt;br /&gt;
Attrape la LED est un jeu d'adresse qui demande aux joueurs d'appuyer sur un bouton au bon moment pour arrêter une LED bleue en mouvement sur une bande de LEDs, en l'alignant avec une LED verte. Le jeu utilise un ESP D1 mini pour contrôler les LEDs et un bouton.&lt;/div&gt;</summary>
		<author><name>LechevalierNoir</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2024_:_Arr%C3%AAte_la_LED&amp;diff=26092</id>
		<title>ENIB 2024 : Arrête la LED</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2024_:_Arr%C3%AAte_la_LED&amp;diff=26092"/>
				<updated>2024-01-31T08:58:48Z</updated>
		
		<summary type="html">&lt;p&gt;LechevalierNoir : /* Projet réalisé par :  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== '''Projet réalisé par : '''==&lt;br /&gt;
&lt;br /&gt;
- Barthe Théo&lt;br /&gt;
&lt;br /&gt;
- Melin Alexandre&lt;br /&gt;
&lt;br /&gt;
- Quenouillère Matéo&lt;br /&gt;
&lt;br /&gt;
- Roule Steven&lt;br /&gt;
&lt;br /&gt;
== '''Projet réalisé par : '''==&lt;/div&gt;</summary>
		<author><name>LechevalierNoir</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2024_:_Arr%C3%AAte_la_LED&amp;diff=26091</id>
		<title>ENIB 2024 : Arrête la LED</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2024_:_Arr%C3%AAte_la_LED&amp;diff=26091"/>
				<updated>2024-01-31T08:58:21Z</updated>
		
		<summary type="html">&lt;p&gt;LechevalierNoir : /* Projet réalisé par : */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== '''Projet réalisé par : '''==&lt;br /&gt;
&lt;br /&gt;
- Barthe Théo&lt;br /&gt;
&lt;br /&gt;
- Melin Alexandre&lt;br /&gt;
&lt;br /&gt;
- Quenouillère Matéo&lt;br /&gt;
&lt;br /&gt;
- Roule Steven&lt;/div&gt;</summary>
		<author><name>LechevalierNoir</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2024_:_Arr%C3%AAte_la_LED&amp;diff=26090</id>
		<title>ENIB 2024 : Arrête la LED</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2024_:_Arr%C3%AAte_la_LED&amp;diff=26090"/>
				<updated>2024-01-31T08:57:59Z</updated>
		
		<summary type="html">&lt;p&gt;LechevalierNoir : /* Projet réalisé par : */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Projet réalisé par :==&lt;br /&gt;
&lt;br /&gt;
- Barthe Théo&lt;br /&gt;
&lt;br /&gt;
- Melin Alexandre&lt;br /&gt;
&lt;br /&gt;
- Quenouillère Matéo&lt;br /&gt;
&lt;br /&gt;
- Roule Steven&lt;/div&gt;</summary>
		<author><name>LechevalierNoir</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2024_:_Arr%C3%AAte_la_LED&amp;diff=26088</id>
		<title>ENIB 2024 : Arrête la LED</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2024_:_Arr%C3%AAte_la_LED&amp;diff=26088"/>
				<updated>2024-01-31T08:57:37Z</updated>
		
		<summary type="html">&lt;p&gt;LechevalierNoir : Page créée avec «  ==Projet réalisé par :== - Barthe Théo - Melin Alexandre - Quenouillère Matéo - Roule Steven »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Projet réalisé par :==&lt;br /&gt;
- Barthe Théo&lt;br /&gt;
- Melin Alexandre&lt;br /&gt;
- Quenouillère Matéo&lt;br /&gt;
- Roule Steven&lt;/div&gt;</summary>
		<author><name>LechevalierNoir</name></author>	</entry>

	</feed>