<?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=Mathieu+Bahuaud</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=Mathieu+Bahuaud"/>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Sp%C3%A9cial:Contributions/Mathieu_Bahuaud"/>
		<updated>2026-05-18T01:56:22Z</updated>
		<subtitle>Contributions de l’utilisateur</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_:_Crazy_light&amp;diff=19252</id>
		<title>ENIB 2022 : Crazy light</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_:_Crazy_light&amp;diff=19252"/>
				<updated>2022-01-19T09:50:22Z</updated>
		
		<summary type="html">&lt;p&gt;Mathieu Bahuaud : /* Code */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==photo de l'équipe==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
[[Fichier:69199338_af.jpg]]&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
&lt;br /&gt;
Appuyer sur les boutons quand les leds sont au plus proche (ruban de leds indiquant le timing) pour continuer de jouer la musique en cours.&lt;br /&gt;
&lt;br /&gt;
==Liste des composants==&lt;br /&gt;
&lt;br /&gt;
* 3 Boutons d'arcades&lt;br /&gt;
* Ruban Leds 1 m&lt;br /&gt;
* boite (bois/carton...)&lt;br /&gt;
* Ecran LCD&lt;br /&gt;
* carte arduino &lt;br /&gt;
* 2 haut-parleurs&lt;br /&gt;
* Carte SD et son lecteur pour arduino&lt;br /&gt;
* Résistances x6&lt;br /&gt;
&lt;br /&gt;
==Documents pour la découpe laser==&lt;br /&gt;
[[Fichier:Première boîteCrazyLight.pdf]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:premiereboiteCrazyLight.pdf]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Deuxième boîteCrazyLight.pdf]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:deuxiemeboiteCrazyLight.pdf]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:troisieme plancheCrazyLight.pdf]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:4emplancheSANSdessinCrazyLight.pdf]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:4emplancheavecdessinCrazyLight.pdf]]&lt;br /&gt;
&lt;br /&gt;
Site pour faire les boîtes en svg:&lt;br /&gt;
https://www.festi.info/boxes.py/&lt;br /&gt;
&lt;br /&gt;
==Schéma Câblage==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SchémacablâgeCrazyLight.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
Code pour controler les Leds et l'ecran LCD&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Wire.h&amp;gt;&lt;br /&gt;
#include &amp;quot;rgb_lcd.h&amp;quot;&lt;br /&gt;
#include &amp;lt;FastLED.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
const int PinBP1 = 8;&lt;br /&gt;
const int PinBP2 = 9;&lt;br /&gt;
const int PinBP3 = 10;&lt;br /&gt;
byte Value_BP1 = 0;&lt;br /&gt;
byte Value_BP2 = 0;&lt;br /&gt;
byte Value_BP3 = 0;&lt;br /&gt;
byte Value_BP[3]={Value_BP1, Value_BP2, Value_BP3};&lt;br /&gt;
&lt;br /&gt;
int PinBP[3] = {PinBP1, PinBP2, PinBP3};&lt;br /&gt;
int colonne[3] = {0, 1, 2};&lt;br /&gt;
const int tut0 = 157;&lt;br /&gt;
const int tut1 = 273;&lt;br /&gt;
const int tut2 = 398;&lt;br /&gt;
const int tut3 = 643;&lt;br /&gt;
const int tut4 = 1015;&lt;br /&gt;
const int tut5 = 1264;&lt;br /&gt;
const int tut6 = 1509;&lt;br /&gt;
const int tut7 = 1758;&lt;br /&gt;
const int tut8 = 1883;&lt;br /&gt;
const int tut9 = 2007;&lt;br /&gt;
const int periodeTut = 2162;&lt;br /&gt;
int tut[10] = {tut0, tut1, tut2, tut3, tut4, tut5, tut6, tut7, tut8, tut9};&lt;br /&gt;
&lt;br /&gt;
const int delay1 = 50;&lt;br /&gt;
const int delay2 = 5;&lt;br /&gt;
long int temps_actuel=0;&lt;br /&gt;
long int temps_temp=0;&lt;br /&gt;
long int temps_temp2=0;&lt;br /&gt;
long int temps_temp3=0;&lt;br /&gt;
long int points = 0;&lt;br /&gt;
&lt;br /&gt;
// definition de la couleur de l'arriere plan de l'ecran LCD&lt;br /&gt;
rgb_lcd lcd;&lt;br /&gt;
&lt;br /&gt;
const int colorR = 255;&lt;br /&gt;
const int colorG = 255;&lt;br /&gt;
const int colorB = 255;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#define NUM_LEDS 63&lt;br /&gt;
#define DATA_PIN 3 //D3&lt;br /&gt;
&lt;br /&gt;
// definition des leds&lt;br /&gt;
CRGB leds[NUM_LEDS];&lt;br /&gt;
&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  //set up BP&lt;br /&gt;
  pinMode(PinBP1, INPUT);&lt;br /&gt;
  pinMode(PinBP2, INPUT);&lt;br /&gt;
  pinMode(PinBP3, INPUT);&lt;br /&gt;
&lt;br /&gt;
  // set up the LCD's number of columns and rows:&lt;br /&gt;
  lcd.begin(16, 2);&lt;br /&gt;
  lcd.setRGB(colorR, colorG, colorB);&lt;br /&gt;
  FastLED.addLeds&amp;lt;NEOPIXEL, DATA_PIN&amp;gt;(leds, NUM_LEDS);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  // phase d'attente, les Leds s'allument une à une&lt;br /&gt;
  for (int i = 0; i &amp;lt; 63; i++)&lt;br /&gt;
  {&lt;br /&gt;
    leds[i] = CRGB::White;&lt;br /&gt;
    FastLED.show();&lt;br /&gt;
    delay(25);&lt;br /&gt;
    leds[i] = CRGB::Black;&lt;br /&gt;
    FastLED.show();&lt;br /&gt;
    delay(5);&lt;br /&gt;
  }&lt;br /&gt;
  //Accueil&lt;br /&gt;
  points=0;&lt;br /&gt;
  lcd.setCursor(0, 0);//place le curseur 1er caractere de la 1er ligne&lt;br /&gt;
  lcd.print(&amp;quot;---Welcome to---&amp;quot;);&lt;br /&gt;
  lcd.setCursor(0, 1);//place le curseur 1er caractere de la 2eme ligne&lt;br /&gt;
  lcd.print(&amp;quot;--CrazyLight--&amp;quot;);&lt;br /&gt;
  Value_BP[0] = digitalRead(PinBP[0]);&lt;br /&gt;
  Value_BP[1] = digitalRead(PinBP[1]);&lt;br /&gt;
  Value_BP[2] = digitalRead(PinBP[2]);&lt;br /&gt;
  &lt;br /&gt;
  //condition lancement de la session de jeu&lt;br /&gt;
  if (Value_BP[0]==HIGH &amp;amp;&amp;amp; Value_BP[1]==HIGH &amp;amp;&amp;amp; Value_BP[2]==HIGH )&lt;br /&gt;
  {&lt;br /&gt;
    //clignotement des leds&lt;br /&gt;
    clign();&lt;br /&gt;
    //debut de la sequence de jeu&lt;br /&gt;
    for (int i = 0; i&amp;lt;2;i++)&lt;br /&gt;
    {&lt;br /&gt;
      bloc_tutut_random();&lt;br /&gt;
    }&lt;br /&gt;
    clign();&lt;br /&gt;
    affi_points();&lt;br /&gt;
    delay(5000);&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
} //fin de loop&lt;br /&gt;
&lt;br /&gt;
//declaration des fonctions blocs de la musique&lt;br /&gt;
&lt;br /&gt;
void bloc_tutut_1main(int num_colonne)&lt;br /&gt;
{&lt;br /&gt;
  for (int n = 0; n &amp;lt; 10; n++)&lt;br /&gt;
  {&lt;br /&gt;
    while (temps_actuel-temps_temp &amp;lt; tut[n]-(delay1+delay2))&lt;br /&gt;
    {&lt;br /&gt;
      for (int i = 20; i &amp;gt; 0; i--)&lt;br /&gt;
      {&lt;br /&gt;
        leds[i*(num_colonne+1)] = CRGB::White;&lt;br /&gt;
        FastLED.show();&lt;br /&gt;
        if(n&amp;gt;0)&lt;br /&gt;
        {&lt;br /&gt;
          delay((tut[n]-tut[n-1])/21);&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
          delay(tut[n]/21);&lt;br /&gt;
        }&lt;br /&gt;
        leds[i*(num_colonne+1)] = CRGB::Black;&lt;br /&gt;
        FastLED.show();&lt;br /&gt;
        if(n&amp;gt;0)&lt;br /&gt;
        {&lt;br /&gt;
          delay((tut[n]-tut[n-1])/210);&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
          delay(tut[n]/210);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      Value_BP[num_colonne] = digitalRead(PinBP[num_colonne]);&lt;br /&gt;
      //attente de pression sur le BP&lt;br /&gt;
      while (Value_BP[num_colonne]!=HIGH)&lt;br /&gt;
      {&lt;br /&gt;
        leds[num_colonne*21]= CRGB::White;&lt;br /&gt;
        FastLED.show();&lt;br /&gt;
        //compteur de points&lt;br /&gt;
        temps_temp2=millis();&lt;br /&gt;
&lt;br /&gt;
        Value_BP[num_colonne] = digitalRead(PinBP[num_colonne]); //condition de sortie&lt;br /&gt;
      }&lt;br /&gt;
      points=points + 1000/(temps_temp2-temps_temp3);&lt;br /&gt;
      temps_temp3=temps_temp2;&lt;br /&gt;
      affi_points();&lt;br /&gt;
      leds[num_colonne*21]= CRGB::Black;&lt;br /&gt;
      FastLED.show();&lt;br /&gt;
      temps_actuel=millis(); // condition de sortie&lt;br /&gt;
    }&lt;br /&gt;
    temps_temp=temps_actuel;&lt;br /&gt;
    &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void bloc_tutut_random()&lt;br /&gt;
{&lt;br /&gt;
  for (int n = 0; n &amp;lt; 10; n++)&lt;br /&gt;
  {&lt;br /&gt;
    int num_colonne;&lt;br /&gt;
    num_colonne = random(0,3);&lt;br /&gt;
    while (temps_actuel-temps_temp &amp;lt; tut[n]-(delay1+delay2))&lt;br /&gt;
    {&lt;br /&gt;
      for (int i = 20; i &amp;gt; 0; i--)&lt;br /&gt;
      {&lt;br /&gt;
        leds[i*(num_colonne+1)] = CRGB::White;&lt;br /&gt;
        FastLED.show();&lt;br /&gt;
        if(n&amp;gt;0)&lt;br /&gt;
        {&lt;br /&gt;
          delay((tut[n]-tut[n-1])/21);&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
          delay(tut[n]/21);&lt;br /&gt;
        }&lt;br /&gt;
        leds[i*(num_colonne+1)] = CRGB::Black;&lt;br /&gt;
        FastLED.show();&lt;br /&gt;
        if(n&amp;gt;0)&lt;br /&gt;
        {&lt;br /&gt;
          delay((tut[n]-tut[n-1])/210);&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
          delay(tut[n]/210);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      Value_BP[num_colonne] = digitalRead(PinBP[num_colonne]);&lt;br /&gt;
      //attente de pression sur le BP&lt;br /&gt;
      while (Value_BP[num_colonne]!=HIGH)&lt;br /&gt;
      {&lt;br /&gt;
        leds[num_colonne*21]= CRGB::White;&lt;br /&gt;
        FastLED.show();&lt;br /&gt;
        //compteur de points&lt;br /&gt;
        temps_temp2=millis();&lt;br /&gt;
&lt;br /&gt;
        Value_BP[num_colonne] = digitalRead(PinBP[num_colonne]); //condition de sortie&lt;br /&gt;
      }&lt;br /&gt;
      points=points + 1000/(temps_temp2-temps_temp3);&lt;br /&gt;
      temps_temp3=temps_temp2;&lt;br /&gt;
      affi_points();&lt;br /&gt;
      leds[num_colonne*21]= CRGB::Black;&lt;br /&gt;
      FastLED.show();&lt;br /&gt;
      temps_actuel=millis(); // condition de sortie&lt;br /&gt;
    }&lt;br /&gt;
    temps_temp=temps_actuel;&lt;br /&gt;
    &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//fonction de clignotement des Leds&lt;br /&gt;
void clign()&lt;br /&gt;
{&lt;br /&gt;
  for (int j =0 ; j&amp;lt;6;j++)&lt;br /&gt;
  {&lt;br /&gt;
    for (int i = 0; i &amp;lt; 63; i++)&lt;br /&gt;
    {&lt;br /&gt;
      leds[i] = CRGB::White;&lt;br /&gt;
    }&lt;br /&gt;
    FastLED.show();&lt;br /&gt;
    delay(50);&lt;br /&gt;
    for (int i = 0; i &amp;lt; 63; i++)&lt;br /&gt;
    {&lt;br /&gt;
      leds[i] = CRGB::Black;&lt;br /&gt;
    }&lt;br /&gt;
    FastLED.show();&lt;br /&gt;
    delay(500);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void affi_points()&lt;br /&gt;
{&lt;br /&gt;
  lcd.clear();&lt;br /&gt;
  lcd.setCursor(0, 0);//place le curseur 1er caractere de la 1er ligne&lt;br /&gt;
  lcd.print(&amp;quot;Your score :    &amp;quot;);&lt;br /&gt;
  lcd.setCursor(0, 1);//place le curseur 1er caractere de la 2eme ligne&lt;br /&gt;
  lcd.print(points);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
Code pour controler la musique&lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;SoftwareSerial.h&amp;gt;&lt;br /&gt;
#include &amp;lt;DFRobotDFPlayerMini.h&amp;gt; &lt;br /&gt;
&lt;br /&gt;
SoftwareSerial mySoftwareSerial(5, 6);  // TX, RX&lt;br /&gt;
DFRobotDFPlayerMini myDFPlayer ; &lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  mySoftwareSerial.begin(9600) ;&lt;br /&gt;
&lt;br /&gt;
  myDFPlayer.begin(mySoftwareSerial) ;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // Joue la premiere chanson de la carte SD pendant 10 secondes&lt;br /&gt;
  myDFPlayer.setTimeOut(500) ;&lt;br /&gt;
&lt;br /&gt;
  myDFPlayer.volume(30) ; // fixe le son à 10 (maximum)&lt;br /&gt;
&lt;br /&gt;
  myDFPlayer.play(4);         // joue le 4eme fichier son.&lt;br /&gt;
&lt;br /&gt;
  delay(60000); //1 minutes de musique&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;/div&gt;</summary>
		<author><name>Mathieu Bahuaud</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_:_Crazy_light&amp;diff=19240</id>
		<title>ENIB 2022 : Crazy light</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_:_Crazy_light&amp;diff=19240"/>
				<updated>2022-01-18T21:47:20Z</updated>
		
		<summary type="html">&lt;p&gt;Mathieu Bahuaud : /* Code */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==photo de l'équipe==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
[[Fichier:69199338_af.jpg]]&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
&lt;br /&gt;
Appuyer sur les boutons quand les leds sont au plus proche (ruban de leds indiquant le timing) pour continuer de jouer la musique en cours.&lt;br /&gt;
&lt;br /&gt;
==Liste des composants==&lt;br /&gt;
&lt;br /&gt;
* 3 Boutons d'arcades&lt;br /&gt;
* Ruban Leds 1 m&lt;br /&gt;
* boite (bois/carton...)&lt;br /&gt;
* Ecran LCD&lt;br /&gt;
* carte arduino &lt;br /&gt;
* 2 haut-parleurs&lt;br /&gt;
* Carte SD et son lecteur pour arduino&lt;br /&gt;
* Résistances x6&lt;br /&gt;
&lt;br /&gt;
==Documents pour la découpe laser==&lt;br /&gt;
[[Fichier:Première boîteCrazyLight.pdf]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:premiereboiteCrazyLight.pdf]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Deuxième boîteCrazyLight.pdf]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:deuxiemeboiteCrazyLight.pdf]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:troisieme plancheCrazyLight.pdf]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:4emplancheSANSdessinCrazyLight.pdf]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:4emplancheavecdessinCrazyLight.pdf]]&lt;br /&gt;
&lt;br /&gt;
Site pour faire les boîtes en svg:&lt;br /&gt;
https://www.festi.info/boxes.py/&lt;br /&gt;
&lt;br /&gt;
==Schéma Câblage==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SchémacablâgeCrazyLight.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
Code pour controler les Leds et l'ecran LCD&lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;Wire.h&amp;gt;&lt;br /&gt;
#include &amp;quot;rgb_lcd.h&amp;quot;&lt;br /&gt;
#include &amp;lt;FastLED.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
const int PinBP1 = 8;&lt;br /&gt;
const int PinBP2 = 9;&lt;br /&gt;
const int PinBP3 = 10;&lt;br /&gt;
byte Value_BP1 = 0;&lt;br /&gt;
byte Value_BP2 = 0;&lt;br /&gt;
byte Value_BP3 = 0;&lt;br /&gt;
byte Value_BP[3]={Value_BP1, Value_BP2, Value_BP3};&lt;br /&gt;
&lt;br /&gt;
int PinBP[3] = {PinBP1, PinBP2, PinBP3};&lt;br /&gt;
int colonne[3] = {0, 1, 2};&lt;br /&gt;
const int tut0 = 157;&lt;br /&gt;
const int tut1 = 273;&lt;br /&gt;
const int tut2 = 398;&lt;br /&gt;
const int tut3 = 643;&lt;br /&gt;
const int tut4 = 1015;&lt;br /&gt;
const int tut5 = 1264;&lt;br /&gt;
const int tut6 = 1509;&lt;br /&gt;
const int tut7 = 1758;&lt;br /&gt;
const int tut8 = 1883;&lt;br /&gt;
const int tut9 = 2007;&lt;br /&gt;
const int periodeTut = 2162;&lt;br /&gt;
int tut[10] = {tut0, tut1, tut2, tut3, tut4, tut5, tut6, tut7, tut8, tut9};&lt;br /&gt;
&lt;br /&gt;
const int delay1 = 50;&lt;br /&gt;
const int delay2 = 5;&lt;br /&gt;
long int temps_actuel=0;&lt;br /&gt;
long int temps_temp=0;&lt;br /&gt;
long int temps_temp2=0;&lt;br /&gt;
long int temps_temp3=0;&lt;br /&gt;
long int points = 0;&lt;br /&gt;
&lt;br /&gt;
// definition de la couleur de l'arriere plan de l'ecran LCD&lt;br /&gt;
rgb_lcd lcd;&lt;br /&gt;
&lt;br /&gt;
const int colorR = 255;&lt;br /&gt;
const int colorG = 255;&lt;br /&gt;
const int colorB = 255;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#define NUM_LEDS 63&lt;br /&gt;
#define DATA_PIN 3 //D3&lt;br /&gt;
&lt;br /&gt;
// definition des leds&lt;br /&gt;
CRGB leds[NUM_LEDS];&lt;br /&gt;
&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  //set up BP&lt;br /&gt;
  pinMode(PinBP1, INPUT);&lt;br /&gt;
  pinMode(PinBP2, INPUT);&lt;br /&gt;
  pinMode(PinBP3, INPUT);&lt;br /&gt;
&lt;br /&gt;
  // set up the LCD's number of columns and rows:&lt;br /&gt;
  lcd.begin(16, 2);&lt;br /&gt;
  lcd.setRGB(colorR, colorG, colorB);&lt;br /&gt;
  FastLED.addLeds&amp;lt;NEOPIXEL, DATA_PIN&amp;gt;(leds, NUM_LEDS);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  // phase d'attente, les Leds s'allument une à une&lt;br /&gt;
  for (int i = 0; i &amp;lt; 63; i++)&lt;br /&gt;
  {&lt;br /&gt;
    leds[i] = CRGB::White;&lt;br /&gt;
    FastLED.show();&lt;br /&gt;
    delay(25);&lt;br /&gt;
    leds[i] = CRGB::Black;&lt;br /&gt;
    FastLED.show();&lt;br /&gt;
    delay(5);&lt;br /&gt;
  }&lt;br /&gt;
  //Accueil&lt;br /&gt;
  lcd.setCursor(0, 0);//place le curseur 1er caractere de la 1er ligne&lt;br /&gt;
  lcd.print(&amp;quot;---Welcome to---&amp;quot;);&lt;br /&gt;
  lcd.setCursor(0, 1);//place le curseur 1er caractere de la 2eme ligne&lt;br /&gt;
  lcd.print(&amp;quot;--CrazyLight--&amp;quot;);&lt;br /&gt;
  Value_BP[0] = digitalRead(PinBP[0]);&lt;br /&gt;
  Value_BP[1] = digitalRead(PinBP[1]);&lt;br /&gt;
  Value_BP[2] = digitalRead(PinBP[2]);&lt;br /&gt;
  &lt;br /&gt;
  //condition lancement de la session de jeu&lt;br /&gt;
  if (Value_BP[0]==HIGH &amp;amp;&amp;amp; Value_BP[1]==HIGH &amp;amp;&amp;amp; Value_BP[2]==HIGH )&lt;br /&gt;
  {&lt;br /&gt;
    //clignotement des leds&lt;br /&gt;
    clign();&lt;br /&gt;
    //debut de la sequence de jeu&lt;br /&gt;
    for (int i = 0; i&amp;lt;3;i++)&lt;br /&gt;
    {&lt;br /&gt;
      bloc_tutut_1main(i);&lt;br /&gt;
    }&lt;br /&gt;
    for (int i = 0; i&amp;lt;3;i++)&lt;br /&gt;
    {&lt;br /&gt;
      bloc_tutut_random;&lt;br /&gt;
    }&lt;br /&gt;
    clign();&lt;br /&gt;
    affi_points();&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
} //fin de loop&lt;br /&gt;
&lt;br /&gt;
//declaration des fonctions blocs de la musique&lt;br /&gt;
&lt;br /&gt;
void bloc_tutut_1main(int num_colonne)&lt;br /&gt;
{&lt;br /&gt;
  for (int n = 0; n &amp;lt; 10; n++)&lt;br /&gt;
  {&lt;br /&gt;
    while (temps_actuel-temps_temp &amp;lt; tut[n]-(delay1+delay2))&lt;br /&gt;
    {&lt;br /&gt;
      for (int i = 20; i &amp;gt; 0; i--)&lt;br /&gt;
      {&lt;br /&gt;
        leds[i*(num_colonne+1)] = CRGB::White;&lt;br /&gt;
        FastLED.show();&lt;br /&gt;
        if(n&amp;gt;0)&lt;br /&gt;
        {&lt;br /&gt;
          delay((tut[n]-tut[n-1])/21);&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
          delay(tut[n]/21);&lt;br /&gt;
        }&lt;br /&gt;
        leds[i*(num_colonne+1)] = CRGB::Black;&lt;br /&gt;
        FastLED.show();&lt;br /&gt;
        if(n&amp;gt;0)&lt;br /&gt;
        {&lt;br /&gt;
          delay((tut[n]-tut[n-1])/210);&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
          delay(tut[n]/210);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      Value_BP[num_colonne] = digitalRead(PinBP[num_colonne]);&lt;br /&gt;
      //attente de pression sur le BP&lt;br /&gt;
      while (Value_BP[num_colonne]!=HIGH)&lt;br /&gt;
      {&lt;br /&gt;
        leds[num_colonne*21]= CRGB::White;&lt;br /&gt;
        FastLED.show();&lt;br /&gt;
        //compteur de points&lt;br /&gt;
        temps_temp2=millis();&lt;br /&gt;
&lt;br /&gt;
        Value_BP[num_colonne] = digitalRead(PinBP[num_colonne]); //condition de sortie&lt;br /&gt;
      }&lt;br /&gt;
      points=points + 1000/(temps_temp2-temps_temp3);&lt;br /&gt;
      temps_temp3=temps_temp2;&lt;br /&gt;
      affi_points();&lt;br /&gt;
      leds[num_colonne*21]= CRGB::Black;&lt;br /&gt;
      FastLED.show();&lt;br /&gt;
      temps_actuel=millis(); // condition de sortie&lt;br /&gt;
    }&lt;br /&gt;
    temps_temp=temps_actuel;&lt;br /&gt;
    &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void bloc_tutut_random()&lt;br /&gt;
{&lt;br /&gt;
  for (int n = 0; n &amp;lt; 10; n++)&lt;br /&gt;
  {&lt;br /&gt;
    int num_colonne;&lt;br /&gt;
    num_colonne = random(0,3);&lt;br /&gt;
    while (temps_actuel-temps_temp &amp;lt; tut[n]-(delay1+delay2))&lt;br /&gt;
    {&lt;br /&gt;
      for (int i = 20; i &amp;gt; 0; i--)&lt;br /&gt;
      {&lt;br /&gt;
        leds[i*(num_colonne+1)] = CRGB::White;&lt;br /&gt;
        FastLED.show();&lt;br /&gt;
        if(n&amp;gt;0)&lt;br /&gt;
        {&lt;br /&gt;
          delay((tut[n]-tut[n-1])/21);&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
          delay(tut[n]/21);&lt;br /&gt;
        }&lt;br /&gt;
        leds[i*(num_colonne+1)] = CRGB::Black;&lt;br /&gt;
        FastLED.show();&lt;br /&gt;
        if(n&amp;gt;0)&lt;br /&gt;
        {&lt;br /&gt;
          delay((tut[n]-tut[n-1])/210);&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
          delay(tut[n]/210);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      Value_BP[num_colonne] = digitalRead(PinBP[num_colonne]);&lt;br /&gt;
      //attente de pression sur le BP&lt;br /&gt;
      while (Value_BP[num_colonne]!=HIGH)&lt;br /&gt;
      {&lt;br /&gt;
        leds[num_colonne*21]= CRGB::White;&lt;br /&gt;
        FastLED.show();&lt;br /&gt;
        //compteur de points&lt;br /&gt;
        temps_temp2=millis();&lt;br /&gt;
&lt;br /&gt;
        Value_BP[num_colonne] = digitalRead(PinBP[num_colonne]); //condition de sortie&lt;br /&gt;
      }&lt;br /&gt;
      points=points + 1000/(temps_temp2-temps_temp3);&lt;br /&gt;
      temps_temp3=temps_temp2;&lt;br /&gt;
      affi_points();&lt;br /&gt;
      leds[num_colonne*21]= CRGB::Black;&lt;br /&gt;
      FastLED.show();&lt;br /&gt;
      temps_actuel=millis(); // condition de sortie&lt;br /&gt;
    }&lt;br /&gt;
    temps_temp=temps_actuel;&lt;br /&gt;
    &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//fonction de clignotement des Leds&lt;br /&gt;
void clign()&lt;br /&gt;
{&lt;br /&gt;
  for (int j =0 ; j&amp;lt;6;j++)&lt;br /&gt;
  {&lt;br /&gt;
    for (int i = 0; i &amp;lt; 63; i++)&lt;br /&gt;
    {&lt;br /&gt;
      leds[i] = CRGB::White;&lt;br /&gt;
    }&lt;br /&gt;
    FastLED.show();&lt;br /&gt;
    delay(50);&lt;br /&gt;
    for (int i = 0; i &amp;lt; 63; i++)&lt;br /&gt;
    {&lt;br /&gt;
      leds[i] = CRGB::Black;&lt;br /&gt;
    }&lt;br /&gt;
    FastLED.show();&lt;br /&gt;
    delay(500);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void affi_points()&lt;br /&gt;
{&lt;br /&gt;
  lcd.clear();&lt;br /&gt;
  lcd.setCursor(0, 0);//place le curseur 1er caractere de la 1er ligne&lt;br /&gt;
  lcd.print(&amp;quot;Your score :    &amp;quot;);&lt;br /&gt;
  lcd.setCursor(0, 1);//place le curseur 1er caractere de la 2eme ligne&lt;br /&gt;
  lcd.print(points);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
Code pour controler la musique&lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;SoftwareSerial.h&amp;gt;&lt;br /&gt;
#include &amp;lt;DFRobotDFPlayerMini.h&amp;gt; &lt;br /&gt;
&lt;br /&gt;
SoftwareSerial mySoftwareSerial(5, 6);  // TX, RX&lt;br /&gt;
DFRobotDFPlayerMini myDFPlayer ; &lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  mySoftwareSerial.begin(9600) ;&lt;br /&gt;
&lt;br /&gt;
  myDFPlayer.begin(mySoftwareSerial) ;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // Joue la premiere chanson de la carte SD pendant 10 secondes&lt;br /&gt;
  myDFPlayer.setTimeOut(500) ;&lt;br /&gt;
&lt;br /&gt;
  myDFPlayer.volume(30) ; // fixe le son à 10 (maximum)&lt;br /&gt;
&lt;br /&gt;
  myDFPlayer.play(4);         // joue le 4eme fichier son.&lt;br /&gt;
&lt;br /&gt;
  delay(60000); //1 minutes de musique&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;/div&gt;</summary>
		<author><name>Mathieu Bahuaud</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_:_Crazy_light&amp;diff=19239</id>
		<title>ENIB 2022 : Crazy light</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_:_Crazy_light&amp;diff=19239"/>
				<updated>2022-01-18T21:44:26Z</updated>
		
		<summary type="html">&lt;p&gt;Mathieu Bahuaud : /* Code */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==photo de l'équipe==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
[[Fichier:69199338_af.jpg]]&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
&lt;br /&gt;
Appuyer sur les boutons quand les leds sont au plus proche (ruban de leds indiquant le timing) pour continuer de jouer la musique en cours.&lt;br /&gt;
&lt;br /&gt;
==Liste des composants==&lt;br /&gt;
&lt;br /&gt;
* 3 Boutons d'arcades&lt;br /&gt;
* Ruban Leds 1 m&lt;br /&gt;
* boite (bois/carton...)&lt;br /&gt;
* Ecran LCD&lt;br /&gt;
* carte arduino &lt;br /&gt;
* 2 haut-parleurs&lt;br /&gt;
* Carte SD et son lecteur pour arduino&lt;br /&gt;
* Résistances x6&lt;br /&gt;
&lt;br /&gt;
==Documents pour la découpe laser==&lt;br /&gt;
[[Fichier:Première boîteCrazyLight.pdf]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:premiereboiteCrazyLight.pdf]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Deuxième boîteCrazyLight.pdf]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:deuxiemeboiteCrazyLight.pdf]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:troisieme plancheCrazyLight.pdf]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:4emplancheSANSdessinCrazyLight.pdf]]&lt;br /&gt;
&lt;br /&gt;
[[Fichier:4emplancheavecdessinCrazyLight.pdf]]&lt;br /&gt;
&lt;br /&gt;
Site pour faire les boîtes en svg:&lt;br /&gt;
https://www.festi.info/boxes.py/&lt;br /&gt;
&lt;br /&gt;
==Schéma Câblage==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:SchémacablâgeCrazyLight.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Wire.h&amp;gt;&lt;br /&gt;
#include &amp;quot;rgb_lcd.h&amp;quot;&lt;br /&gt;
#include &amp;lt;FastLED.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
const int PinBP1 = 8;&lt;br /&gt;
const int PinBP2 = 9;&lt;br /&gt;
const int PinBP3 = 10;&lt;br /&gt;
byte Value_BP1 = 0;&lt;br /&gt;
byte Value_BP2 = 0;&lt;br /&gt;
byte Value_BP3 = 0;&lt;br /&gt;
byte Value_BP[3]={Value_BP1, Value_BP2, Value_BP3};&lt;br /&gt;
&lt;br /&gt;
int PinBP[3] = {PinBP1, PinBP2, PinBP3};&lt;br /&gt;
int colonne[3] = {0, 1, 2};&lt;br /&gt;
const int tut0 = 157;&lt;br /&gt;
const int tut1 = 273;&lt;br /&gt;
const int tut2 = 398;&lt;br /&gt;
const int tut3 = 643;&lt;br /&gt;
const int tut4 = 1015;&lt;br /&gt;
const int tut5 = 1264;&lt;br /&gt;
const int tut6 = 1509;&lt;br /&gt;
const int tut7 = 1758;&lt;br /&gt;
const int tut8 = 1883;&lt;br /&gt;
const int tut9 = 2007;&lt;br /&gt;
const int periodeTut = 2162;&lt;br /&gt;
int tut[10] = {tut0, tut1, tut2, tut3, tut4, tut5, tut6, tut7, tut8, tut9};&lt;br /&gt;
&lt;br /&gt;
const int delay1 = 50;&lt;br /&gt;
const int delay2 = 5;&lt;br /&gt;
long int temps_actuel=0;&lt;br /&gt;
long int temps_temp=0;&lt;br /&gt;
long int temps_temp2=0;&lt;br /&gt;
long int temps_temp3=0;&lt;br /&gt;
long int points = 0;&lt;br /&gt;
&lt;br /&gt;
// definition de la couleur de l'arriere plan de l'ecran LCD&lt;br /&gt;
rgb_lcd lcd;&lt;br /&gt;
&lt;br /&gt;
const int colorR = 255;&lt;br /&gt;
const int colorG = 255;&lt;br /&gt;
const int colorB = 255;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#define NUM_LEDS 63&lt;br /&gt;
#define DATA_PIN 3 //D3&lt;br /&gt;
&lt;br /&gt;
// definition des leds&lt;br /&gt;
CRGB leds[NUM_LEDS];&lt;br /&gt;
&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
  //set up BP&lt;br /&gt;
  pinMode(PinBP1, INPUT);&lt;br /&gt;
  pinMode(PinBP2, INPUT);&lt;br /&gt;
  pinMode(PinBP3, INPUT);&lt;br /&gt;
&lt;br /&gt;
  // set up the LCD's number of columns and rows:&lt;br /&gt;
  lcd.begin(16, 2);&lt;br /&gt;
  lcd.setRGB(colorR, colorG, colorB);&lt;br /&gt;
  FastLED.addLeds&amp;lt;NEOPIXEL, DATA_PIN&amp;gt;(leds, NUM_LEDS);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
  &lt;br /&gt;
  // phase d'attente, les Leds s'allument une à une&lt;br /&gt;
  for (int i = 0; i &amp;lt; 63; i++)&lt;br /&gt;
  {&lt;br /&gt;
    leds[i] = CRGB::White;&lt;br /&gt;
    FastLED.show();&lt;br /&gt;
    delay(25);&lt;br /&gt;
    leds[i] = CRGB::Black;&lt;br /&gt;
    FastLED.show();&lt;br /&gt;
    delay(5);&lt;br /&gt;
  }&lt;br /&gt;
  //Accueil&lt;br /&gt;
  lcd.setCursor(0, 0);//place le curseur 1er caractere de la 1er ligne&lt;br /&gt;
  lcd.print(&amp;quot;---Welcome to---&amp;quot;);&lt;br /&gt;
  lcd.setCursor(0, 1);//place le curseur 1er caractere de la 2eme ligne&lt;br /&gt;
  lcd.print(&amp;quot;--CrazyLight--&amp;quot;);&lt;br /&gt;
  Value_BP[0] = digitalRead(PinBP[0]);&lt;br /&gt;
  Value_BP[1] = digitalRead(PinBP[1]);&lt;br /&gt;
  Value_BP[2] = digitalRead(PinBP[2]);&lt;br /&gt;
  &lt;br /&gt;
  //condition lancement de la session de jeu&lt;br /&gt;
  if (Value_BP[0]==HIGH &amp;amp;&amp;amp; Value_BP[1]==HIGH &amp;amp;&amp;amp; Value_BP[2]==HIGH )&lt;br /&gt;
  {&lt;br /&gt;
    //clignotement des leds&lt;br /&gt;
    clign();&lt;br /&gt;
    //debut de la sequence de jeu&lt;br /&gt;
    for (int i = 0; i&amp;lt;3;i++)&lt;br /&gt;
    {&lt;br /&gt;
      bloc_tutut_1main(i);&lt;br /&gt;
    }&lt;br /&gt;
    for (int i = 0; i&amp;lt;3;i++)&lt;br /&gt;
    {&lt;br /&gt;
      bloc_tutut_random;&lt;br /&gt;
    }&lt;br /&gt;
    clign();&lt;br /&gt;
    affi_points();&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
} //fin de loop&lt;br /&gt;
&lt;br /&gt;
//declaration des fonctions blocs de la musique&lt;br /&gt;
&lt;br /&gt;
void bloc_tutut_1main(int num_colonne)&lt;br /&gt;
{&lt;br /&gt;
  for (int n = 0; n &amp;lt; 10; n++)&lt;br /&gt;
  {&lt;br /&gt;
    while (temps_actuel-temps_temp &amp;lt; tut[n]-(delay1+delay2))&lt;br /&gt;
    {&lt;br /&gt;
      for (int i = 20; i &amp;gt; 0; i--)&lt;br /&gt;
      {&lt;br /&gt;
        leds[i*(num_colonne+1)] = CRGB::White;&lt;br /&gt;
        FastLED.show();&lt;br /&gt;
        if(n&amp;gt;0)&lt;br /&gt;
        {&lt;br /&gt;
          delay((tut[n]-tut[n-1])/21);&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
          delay(tut[n]/21);&lt;br /&gt;
        }&lt;br /&gt;
        leds[i*(num_colonne+1)] = CRGB::Black;&lt;br /&gt;
        FastLED.show();&lt;br /&gt;
        if(n&amp;gt;0)&lt;br /&gt;
        {&lt;br /&gt;
          delay((tut[n]-tut[n-1])/210);&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
          delay(tut[n]/210);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      Value_BP[num_colonne] = digitalRead(PinBP[num_colonne]);&lt;br /&gt;
      //attente de pression sur le BP&lt;br /&gt;
      while (Value_BP[num_colonne]!=HIGH)&lt;br /&gt;
      {&lt;br /&gt;
        leds[num_colonne*21]= CRGB::White;&lt;br /&gt;
        FastLED.show();&lt;br /&gt;
        //compteur de points&lt;br /&gt;
        temps_temp2=millis();&lt;br /&gt;
&lt;br /&gt;
        Value_BP[num_colonne] = digitalRead(PinBP[num_colonne]); //condition de sortie&lt;br /&gt;
      }&lt;br /&gt;
      points=points + 1000/(temps_temp2-temps_temp3);&lt;br /&gt;
      temps_temp3=temps_temp2;&lt;br /&gt;
      affi_points();&lt;br /&gt;
      leds[num_colonne*21]= CRGB::Black;&lt;br /&gt;
      FastLED.show();&lt;br /&gt;
      temps_actuel=millis(); // condition de sortie&lt;br /&gt;
    }&lt;br /&gt;
    temps_temp=temps_actuel;&lt;br /&gt;
    &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void bloc_tutut_random()&lt;br /&gt;
{&lt;br /&gt;
  for (int n = 0; n &amp;lt; 10; n++)&lt;br /&gt;
  {&lt;br /&gt;
    int num_colonne;&lt;br /&gt;
    num_colonne = random(0,3);&lt;br /&gt;
    while (temps_actuel-temps_temp &amp;lt; tut[n]-(delay1+delay2))&lt;br /&gt;
    {&lt;br /&gt;
      for (int i = 20; i &amp;gt; 0; i--)&lt;br /&gt;
      {&lt;br /&gt;
        leds[i*(num_colonne+1)] = CRGB::White;&lt;br /&gt;
        FastLED.show();&lt;br /&gt;
        if(n&amp;gt;0)&lt;br /&gt;
        {&lt;br /&gt;
          delay((tut[n]-tut[n-1])/21);&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
          delay(tut[n]/21);&lt;br /&gt;
        }&lt;br /&gt;
        leds[i*(num_colonne+1)] = CRGB::Black;&lt;br /&gt;
        FastLED.show();&lt;br /&gt;
        if(n&amp;gt;0)&lt;br /&gt;
        {&lt;br /&gt;
          delay((tut[n]-tut[n-1])/210);&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
          delay(tut[n]/210);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      Value_BP[num_colonne] = digitalRead(PinBP[num_colonne]);&lt;br /&gt;
      //attente de pression sur le BP&lt;br /&gt;
      while (Value_BP[num_colonne]!=HIGH)&lt;br /&gt;
      {&lt;br /&gt;
        leds[num_colonne*21]= CRGB::White;&lt;br /&gt;
        FastLED.show();&lt;br /&gt;
        //compteur de points&lt;br /&gt;
        temps_temp2=millis();&lt;br /&gt;
&lt;br /&gt;
        Value_BP[num_colonne] = digitalRead(PinBP[num_colonne]); //condition de sortie&lt;br /&gt;
      }&lt;br /&gt;
      points=points + 1000/(temps_temp2-temps_temp3);&lt;br /&gt;
      temps_temp3=temps_temp2;&lt;br /&gt;
      affi_points();&lt;br /&gt;
      leds[num_colonne*21]= CRGB::Black;&lt;br /&gt;
      FastLED.show();&lt;br /&gt;
      temps_actuel=millis(); // condition de sortie&lt;br /&gt;
    }&lt;br /&gt;
    temps_temp=temps_actuel;&lt;br /&gt;
    &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//fonction de clignotement des Leds&lt;br /&gt;
void clign()&lt;br /&gt;
{&lt;br /&gt;
  for (int j =0 ; j&amp;lt;6;j++)&lt;br /&gt;
  {&lt;br /&gt;
    for (int i = 0; i &amp;lt; 63; i++)&lt;br /&gt;
    {&lt;br /&gt;
      leds[i] = CRGB::White;&lt;br /&gt;
    }&lt;br /&gt;
    FastLED.show();&lt;br /&gt;
    delay(50);&lt;br /&gt;
    for (int i = 0; i &amp;lt; 63; i++)&lt;br /&gt;
    {&lt;br /&gt;
      leds[i] = CRGB::Black;&lt;br /&gt;
    }&lt;br /&gt;
    FastLED.show();&lt;br /&gt;
    delay(500);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void affi_points()&lt;br /&gt;
{&lt;br /&gt;
  lcd.clear();&lt;br /&gt;
  lcd.setCursor(0, 0);//place le curseur 1er caractere de la 1er ligne&lt;br /&gt;
  lcd.print(&amp;quot;Your score :    &amp;quot;);&lt;br /&gt;
  lcd.setCursor(0, 1);//place le curseur 1er caractere de la 2eme ligne&lt;br /&gt;
  lcd.print(points);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;SoftwareSerial.h&amp;gt;&lt;br /&gt;
#include &amp;lt;DFRobotDFPlayerMini.h&amp;gt; &lt;br /&gt;
&lt;br /&gt;
SoftwareSerial mySoftwareSerial(5, 6);  // TX, RX&lt;br /&gt;
DFRobotDFPlayerMini myDFPlayer ; &lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
&lt;br /&gt;
  mySoftwareSerial.begin(9600) ;&lt;br /&gt;
&lt;br /&gt;
  myDFPlayer.begin(mySoftwareSerial) ;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // Joue la premiere chanson de la carte SD pendant 10 secondes&lt;br /&gt;
  myDFPlayer.setTimeOut(500) ;&lt;br /&gt;
&lt;br /&gt;
  myDFPlayer.volume(30) ; // fixe le son à 10 (maximum)&lt;br /&gt;
&lt;br /&gt;
  myDFPlayer.play(4);         // joue le 4eme fichier son.&lt;br /&gt;
&lt;br /&gt;
  delay(60000); //1 minutes de musique&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;/div&gt;</summary>
		<author><name>Mathieu Bahuaud</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_:_Crazy_light&amp;diff=18305</id>
		<title>ENIB 2022 : Crazy light</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_:_Crazy_light&amp;diff=18305"/>
				<updated>2022-01-06T15:12:53Z</updated>
		
		<summary type="html">&lt;p&gt;Mathieu Bahuaud : /* photo de l'équipe */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==photo de l'équipe==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
[[Fichier:Shrek_%28H%3Fros_Wiki%29.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
&lt;br /&gt;
Toucher les boutons quand les leds s'allument (ruban de leds indiquant le timing) pour continuer de jouer la musique en cours.&lt;br /&gt;
&lt;br /&gt;
==Liste des composants==&lt;br /&gt;
&lt;br /&gt;
* Boutons poussoirs&lt;br /&gt;
* Ruban Leds 1 m&lt;br /&gt;
* boite (bois/carton...)&lt;br /&gt;
* Ecran LCD&lt;br /&gt;
* plaque arduino &lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ici je pose mon code documenté !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;/div&gt;</summary>
		<author><name>Mathieu Bahuaud</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_:_Crazy_light&amp;diff=18302</id>
		<title>ENIB 2022 : Crazy light</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_:_Crazy_light&amp;diff=18302"/>
				<updated>2022-01-06T15:11:09Z</updated>
		
		<summary type="html">&lt;p&gt;Mathieu Bahuaud : /* photo de l'équipe */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==photo de l'équipe==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
[[Fichier:Shrek|vignette]]&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
&lt;br /&gt;
Toucher les boutons quand les leds s'allument (ruban de leds indiquant le timing) pour continuer de jouer la musique en cours.&lt;br /&gt;
&lt;br /&gt;
==Liste des composants==&lt;br /&gt;
&lt;br /&gt;
* Boutons poussoirs&lt;br /&gt;
* Ruban Leds 1 m&lt;br /&gt;
* boite (bois/carton...)&lt;br /&gt;
* Ecran LCD&lt;br /&gt;
* plaque arduino &lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ici je pose mon code documenté !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;/div&gt;</summary>
		<author><name>Mathieu Bahuaud</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_:_Crazy_light&amp;diff=18300</id>
		<title>ENIB 2022 : Crazy light</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_:_Crazy_light&amp;diff=18300"/>
				<updated>2022-01-06T15:09:14Z</updated>
		
		<summary type="html">&lt;p&gt;Mathieu Bahuaud : /* photo de l'équipe */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==photo de l'équipe==&lt;br /&gt;
[[Fichier:Shrek.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
&lt;br /&gt;
Toucher les boutons quand les leds s'allument (ruban de leds indiquant le timing) pour continuer de jouer la musique en cours.&lt;br /&gt;
&lt;br /&gt;
==Liste des composants==&lt;br /&gt;
&lt;br /&gt;
* Boutons poussoirs&lt;br /&gt;
* Ruban Leds 1 m&lt;br /&gt;
* boite (bois/carton...)&lt;br /&gt;
* Ecran LCD&lt;br /&gt;
* plaque arduino &lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ici je pose mon code documenté !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;/div&gt;</summary>
		<author><name>Mathieu Bahuaud</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_:_Crazy_light&amp;diff=18293</id>
		<title>ENIB 2022 : Crazy light</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_:_Crazy_light&amp;diff=18293"/>
				<updated>2022-01-06T15:04:19Z</updated>
		
		<summary type="html">&lt;p&gt;Mathieu Bahuaud : Page créée avec « ==photo de l'équipe== 600px  ==Que fait ce projet ? ==  Toucher les boutons quand les leds s'allument (ruban de leds indiquant le timing) po... »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==photo de l'équipe==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
&lt;br /&gt;
Toucher les boutons quand les leds s'allument (ruban de leds indiquant le timing) pour continuer de jouer la musique en cours.&lt;br /&gt;
&lt;br /&gt;
==Liste des composants==&lt;br /&gt;
&lt;br /&gt;
* Boutons poussoirs&lt;br /&gt;
* Ruban Leds 1 m&lt;br /&gt;
* boite (bois/carton...)&lt;br /&gt;
* Ecran LCD&lt;br /&gt;
* plaque arduino &lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ici je pose mon code documenté !&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Catégories==&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Enib2022]]&lt;/div&gt;</summary>
		<author><name>Mathieu Bahuaud</name></author>	</entry>

	</feed>