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

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_A_:_The_Fastest&amp;diff=18613</id>
		<title>ENIB 2022 - groupe A : The Fastest</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_A_:_The_Fastest&amp;diff=18613"/>
				<updated>2022-01-14T13:22:28Z</updated>
		
		<summary type="html">&lt;p&gt;Théoooooo : /* photo de l'équipe */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==photo de l'équipe==&lt;br /&gt;
[[Fichier:L'équipe The Fastest.jpg|vignette]]&lt;br /&gt;
[[Fichier:2 joueurs.jpg|vignette|1 contre 1]]&lt;br /&gt;
[[Fichier:Cablage the fastest.jpg|vignette|Cablage]]&lt;br /&gt;
[[Fichier:The Fastest.jpg|vignette|The Fastest]]&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
Jeu de réflexe en 1 contre 1.&lt;br /&gt;
Une led s'allume, il faut être le premier à appuyer sur son bouton !&lt;br /&gt;
&lt;br /&gt;
==Liste des composants==&lt;br /&gt;
&lt;br /&gt;
* Arduino (UNO/NANO)&lt;br /&gt;
* Afficheur LCD (GROVE RGB backlight)&lt;br /&gt;
* LED RGB&lt;br /&gt;
* Résistances 10k x2&lt;br /&gt;
* Résistances 220 x3&lt;br /&gt;
* Boutons poussoirs x2&lt;br /&gt;
* Breadboard&lt;br /&gt;
* Buzzer&lt;br /&gt;
* Bois&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;quot;pitches.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
rgb_lcd lcd;&lt;br /&gt;
&lt;br /&gt;
const int colorR = 255;&lt;br /&gt;
const int colorG = 0;&lt;br /&gt;
const int colorB = 0;&lt;br /&gt;
&lt;br /&gt;
const byte COLOR_BLACK = 0b000;&lt;br /&gt;
const byte COLOR_RED = 0b100;&lt;br /&gt;
const byte COLOR_GREEN = 0b010;&lt;br /&gt;
const byte COLOR_BLUE = 0b001;&lt;br /&gt;
const byte COLOR_MAGENTA = 0b101;&lt;br /&gt;
const byte COLOR_CYAN = 0b011;&lt;br /&gt;
const byte COLOR_YELLOW = 0b110;&lt;br /&gt;
const byte COLOR_WHITE = 0b111;&lt;br /&gt;
&lt;br /&gt;
int buttonStateP1;&lt;br /&gt;
int buttonStateP2;&lt;br /&gt;
bool p1Done;&lt;br /&gt;
bool p2Done;&lt;br /&gt;
float startTime;&lt;br /&gt;
float winningTime;&lt;br /&gt;
float finalTimeP1;&lt;br /&gt;
float finalTimeP2;&lt;br /&gt;
float endTimeP1;&lt;br /&gt;
float endTimeP2;&lt;br /&gt;
int scoreP1 = 0;&lt;br /&gt;
int scoreP2 = 0;&lt;br /&gt;
int ranDelay;&lt;br /&gt;
&lt;br /&gt;
/* Broches */&lt;br /&gt;
const byte PIN_LED_R = 9;&lt;br /&gt;
const byte PIN_LED_G = 10;&lt;br /&gt;
const byte PIN_LED_B = 11;&lt;br /&gt;
const byte PIN_BUTTON_1 = 3;&lt;br /&gt;
const byte PIN_BUTTON_2 = 4;&lt;br /&gt;
const byte BUZZER = 8;&lt;br /&gt;
&lt;br /&gt;
// notes in the melody:&lt;br /&gt;
int melody[] = {&lt;br /&gt;
  NOTE_C4, NOTE_G3, NOTE_G3, NOTE_A3, NOTE_G3, 0, NOTE_B3, NOTE_C4&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// note durations: 4 = quarter note, 8 = eighth note, etc.:&lt;br /&gt;
int noteDurations[] = {&lt;br /&gt;
  4, 8, 8, 4, 4, 4, 4, 4&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
int songLength = sizeof(melody)/sizeof(melody[0]);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  lcd.begin(16, 2);&lt;br /&gt;
&lt;br /&gt;
  // Initialise les broches&lt;br /&gt;
  pinMode(PIN_LED_R, OUTPUT);&lt;br /&gt;
  pinMode(PIN_LED_G, OUTPUT);&lt;br /&gt;
  pinMode(PIN_LED_B, OUTPUT);&lt;br /&gt;
  displayColor(COLOR_BLACK);&lt;br /&gt;
&lt;br /&gt;
  pinMode(PIN_BUTTON_1, INPUT);&lt;br /&gt;
  pinMode(PIN_BUTTON_2, INPUT);&lt;br /&gt;
&lt;br /&gt;
  pinMode(BUZZER, OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  for (int thisNote = 0; thisNote &amp;lt; 8; thisNote++) {&lt;br /&gt;
    int noteDuration = 1000 / noteDurations[thisNote];&lt;br /&gt;
    tone(8, melody[thisNote], noteDuration);&lt;br /&gt;
    int pauseBetweenNotes = noteDuration * 1.30;&lt;br /&gt;
    delay(pauseBetweenNotes);&lt;br /&gt;
    noTone(8);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  lcd.setRGB(200,200,200);&lt;br /&gt;
  lcd.clear();&lt;br /&gt;
  lcd.setCursor(0, 0);&lt;br /&gt;
  lcd.print(&amp;quot;Push the button&amp;quot;);&lt;br /&gt;
  lcd.setCursor(0, 1);&lt;br /&gt;
  lcd.print(&amp;quot;to start game !&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  while ((digitalRead(PIN_BUTTON_2)== 0)&amp;amp;&amp;amp;(digitalRead(PIN_BUTTON_1)== 0)) {&lt;br /&gt;
  }&lt;br /&gt;
  lcd.clear();&lt;br /&gt;
  displayColorPWM(255,0,0);&lt;br /&gt;
  lcd.setCursor(0, 0);&lt;br /&gt;
  lcd.print(&amp;quot;Get Ready!&amp;quot;);&lt;br /&gt;
  delay(1500);&lt;br /&gt;
  displayColorPWM(255, 90,0);&lt;br /&gt;
  lcd.setCursor(0, 1);&lt;br /&gt;
  lcd.print(&amp;quot;Get Set!&amp;quot;);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  ranDelay = random(2000, 5000);&lt;br /&gt;
  delay(ranDelay);&lt;br /&gt;
  Serial.println(&amp;quot;Go!&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  startTime = millis();&lt;br /&gt;
  displayColor(COLOR_GREEN);&lt;br /&gt;
 &lt;br /&gt;
  while(p1Done == false || p2Done == false){&lt;br /&gt;
    buttonStateP1 = digitalRead(PIN_BUTTON_1);&lt;br /&gt;
    buttonStateP2 = digitalRead(PIN_BUTTON_2);&lt;br /&gt;
    // Listen for Player 1 button to be pressed and set Player 1 as done.&lt;br /&gt;
    if (buttonStateP1 == HIGH &amp;amp;&amp;amp; p1Done == false) {&lt;br /&gt;
      endTimeP1 = millis();&lt;br /&gt;
      p1Done = true;     &lt;br /&gt;
    }&lt;br /&gt;
    // Listen for Player 2 button to be pressed and set Player 2 as done.&lt;br /&gt;
    if (buttonStateP2 == HIGH &amp;amp;&amp;amp; p2Done == false) {&lt;br /&gt;
      endTimeP2 = millis();&lt;br /&gt;
      p2Done = true;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  displayColor(COLOR_BLACK); // Turn off the game LED&lt;br /&gt;
  finalTimeP1 = (endTimeP1 - startTime); //Calculate how long it took Player to push their button&lt;br /&gt;
  finalTimeP2 = (endTimeP2 - startTime); //Calculate how long it took Player to push their button&lt;br /&gt;
&lt;br /&gt;
  if (endTimeP1 &amp;lt; endTimeP2){ // Run if Player 1 won the round&lt;br /&gt;
    lcd.setRGB(255,0,0);&lt;br /&gt;
    winningTime = (endTimeP2 - startTime) - (endTimeP1 - startTime);&lt;br /&gt;
    scoreP1 = scoreP1 + 1;&lt;br /&gt;
    lcd.clear();&lt;br /&gt;
    lcd.setCursor(5,0);&lt;br /&gt;
    lcd.print(scoreP1);&lt;br /&gt;
    lcd.print(&amp;quot; - &amp;quot;);&lt;br /&gt;
    lcd.print(scoreP2);&lt;br /&gt;
    lcd.setCursor(0, 1);&lt;br /&gt;
    lcd.print(&amp;quot;P1 won by: &amp;quot;);&lt;br /&gt;
    lcd.print(winningTime/1000);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    lcd.setRGB(0, 0, 255);&lt;br /&gt;
    winningTime = (endTimeP1 - startTime) - (endTimeP2 - startTime);&lt;br /&gt;
    scoreP2 = scoreP2 + 1;&lt;br /&gt;
    lcd.clear();&lt;br /&gt;
    lcd.setCursor(5,0);&lt;br /&gt;
    lcd.print(scoreP1);&lt;br /&gt;
    lcd.print(&amp;quot; - &amp;quot;);&lt;br /&gt;
    lcd.print(scoreP2);&lt;br /&gt;
    lcd.setCursor(0,1);&lt;br /&gt;
    lcd.print(&amp;quot;P2 won by: &amp;quot;);&lt;br /&gt;
    lcd.print(winningTime/1000);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  delay(3500);&lt;br /&gt;
&lt;br /&gt;
  // Reset all variables to restart the game&lt;br /&gt;
  buttonStateP1 = 0;&lt;br /&gt;
  buttonStateP2 = 0;  &lt;br /&gt;
  p1Done = false;&lt;br /&gt;
  p2Done = false;&lt;br /&gt;
  ranDelay = 0;&lt;br /&gt;
  startTime = 0;&lt;br /&gt;
  endTimeP1 = 0;&lt;br /&gt;
  endTimeP2 = 0;&lt;br /&gt;
  finalTimeP1 = 0;&lt;br /&gt;
  finalTimeP2 = 0;&lt;br /&gt;
  winningTime = 0;&lt;br /&gt;
  delay(2000);&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
/** Affiche une couleur */&lt;br /&gt;
void displayColor(byte color) {&lt;br /&gt;
  digitalWrite(PIN_LED_R, !bitRead(color, 2));&lt;br /&gt;
  digitalWrite(PIN_LED_G, !bitRead(color, 1));&lt;br /&gt;
  digitalWrite(PIN_LED_B, !bitRead(color, 0));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void displayColorPWM(int pwmRouge, int pwmVert, int pwmBleu) { // reçoit valeur 0-255 par couleur&lt;br /&gt;
&lt;br /&gt;
  analogWrite(PIN_LED_R, 255-pwmRouge);&lt;br /&gt;
  analogWrite(PIN_LED_G, 255-pwmVert);&lt;br /&gt;
  analogWrite(PIN_LED_B, 255-pwmBleu);&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>Théoooooo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:The_Fastest.jpg&amp;diff=18612</id>
		<title>Fichier:The Fastest.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:The_Fastest.jpg&amp;diff=18612"/>
				<updated>2022-01-14T13:22:18Z</updated>
		
		<summary type="html">&lt;p&gt;Théoooooo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Fastest&lt;/div&gt;</summary>
		<author><name>Théoooooo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Cablage_the_fastest.jpg&amp;diff=18611</id>
		<title>Fichier:Cablage the fastest.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:Cablage_the_fastest.jpg&amp;diff=18611"/>
				<updated>2022-01-14T13:21:28Z</updated>
		
		<summary type="html">&lt;p&gt;Théoooooo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cablage the fastest&lt;/div&gt;</summary>
		<author><name>Théoooooo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:2_joueurs.jpg&amp;diff=18609</id>
		<title>Fichier:2 joueurs.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:2_joueurs.jpg&amp;diff=18609"/>
				<updated>2022-01-14T13:17:58Z</updated>
		
		<summary type="html">&lt;p&gt;Théoooooo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;2 joueurs&lt;/div&gt;</summary>
		<author><name>Théoooooo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_A_:_The_Fastest&amp;diff=18606</id>
		<title>ENIB 2022 - groupe A : The Fastest</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_A_:_The_Fastest&amp;diff=18606"/>
				<updated>2022-01-14T13:09:47Z</updated>
		
		<summary type="html">&lt;p&gt;Théoooooo : /* photo de l'équipe */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==photo de l'équipe==&lt;br /&gt;
[[Fichier:L'équipe The Fastest.jpg|vignette]]&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
Jeu de réflexe en 1 contre 1.&lt;br /&gt;
Une led s'allume, il faut être le premier à appuyer sur son bouton !&lt;br /&gt;
&lt;br /&gt;
==Liste des composants==&lt;br /&gt;
&lt;br /&gt;
* Arduino (UNO/NANO)&lt;br /&gt;
* Afficheur LCD (GROVE RGB backlight)&lt;br /&gt;
* LED RGB&lt;br /&gt;
* Résistances 10k x2&lt;br /&gt;
* Résistances 220 x3&lt;br /&gt;
* Boutons poussoirs x2&lt;br /&gt;
* Breadboard&lt;br /&gt;
* Buzzer&lt;br /&gt;
* Bois&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;quot;pitches.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
rgb_lcd lcd;&lt;br /&gt;
&lt;br /&gt;
const int colorR = 255;&lt;br /&gt;
const int colorG = 0;&lt;br /&gt;
const int colorB = 0;&lt;br /&gt;
&lt;br /&gt;
const byte COLOR_BLACK = 0b000;&lt;br /&gt;
const byte COLOR_RED = 0b100;&lt;br /&gt;
const byte COLOR_GREEN = 0b010;&lt;br /&gt;
const byte COLOR_BLUE = 0b001;&lt;br /&gt;
const byte COLOR_MAGENTA = 0b101;&lt;br /&gt;
const byte COLOR_CYAN = 0b011;&lt;br /&gt;
const byte COLOR_YELLOW = 0b110;&lt;br /&gt;
const byte COLOR_WHITE = 0b111;&lt;br /&gt;
&lt;br /&gt;
int buttonStateP1;&lt;br /&gt;
int buttonStateP2;&lt;br /&gt;
bool p1Done;&lt;br /&gt;
bool p2Done;&lt;br /&gt;
float startTime;&lt;br /&gt;
float winningTime;&lt;br /&gt;
float finalTimeP1;&lt;br /&gt;
float finalTimeP2;&lt;br /&gt;
float endTimeP1;&lt;br /&gt;
float endTimeP2;&lt;br /&gt;
int scoreP1 = 0;&lt;br /&gt;
int scoreP2 = 0;&lt;br /&gt;
int ranDelay;&lt;br /&gt;
&lt;br /&gt;
/* Broches */&lt;br /&gt;
const byte PIN_LED_R = 9;&lt;br /&gt;
const byte PIN_LED_G = 10;&lt;br /&gt;
const byte PIN_LED_B = 11;&lt;br /&gt;
const byte PIN_BUTTON_1 = 3;&lt;br /&gt;
const byte PIN_BUTTON_2 = 4;&lt;br /&gt;
const byte BUZZER = 8;&lt;br /&gt;
&lt;br /&gt;
// notes in the melody:&lt;br /&gt;
int melody[] = {&lt;br /&gt;
  NOTE_C4, NOTE_G3, NOTE_G3, NOTE_A3, NOTE_G3, 0, NOTE_B3, NOTE_C4&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// note durations: 4 = quarter note, 8 = eighth note, etc.:&lt;br /&gt;
int noteDurations[] = {&lt;br /&gt;
  4, 8, 8, 4, 4, 4, 4, 4&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
int songLength = sizeof(melody)/sizeof(melody[0]);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  lcd.begin(16, 2);&lt;br /&gt;
&lt;br /&gt;
  // Initialise les broches&lt;br /&gt;
  pinMode(PIN_LED_R, OUTPUT);&lt;br /&gt;
  pinMode(PIN_LED_G, OUTPUT);&lt;br /&gt;
  pinMode(PIN_LED_B, OUTPUT);&lt;br /&gt;
  displayColor(COLOR_BLACK);&lt;br /&gt;
&lt;br /&gt;
  pinMode(PIN_BUTTON_1, INPUT);&lt;br /&gt;
  pinMode(PIN_BUTTON_2, INPUT);&lt;br /&gt;
&lt;br /&gt;
  pinMode(BUZZER, OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  for (int thisNote = 0; thisNote &amp;lt; 8; thisNote++) {&lt;br /&gt;
    int noteDuration = 1000 / noteDurations[thisNote];&lt;br /&gt;
    tone(8, melody[thisNote], noteDuration);&lt;br /&gt;
    int pauseBetweenNotes = noteDuration * 1.30;&lt;br /&gt;
    delay(pauseBetweenNotes);&lt;br /&gt;
    noTone(8);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  lcd.setRGB(200,200,200);&lt;br /&gt;
  lcd.clear();&lt;br /&gt;
  lcd.setCursor(0, 0);&lt;br /&gt;
  lcd.print(&amp;quot;Push the button&amp;quot;);&lt;br /&gt;
  lcd.setCursor(0, 1);&lt;br /&gt;
  lcd.print(&amp;quot;to start game !&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  while ((digitalRead(PIN_BUTTON_2)== 0)&amp;amp;&amp;amp;(digitalRead(PIN_BUTTON_1)== 0)) {&lt;br /&gt;
  }&lt;br /&gt;
  lcd.clear();&lt;br /&gt;
  displayColorPWM(255,0,0);&lt;br /&gt;
  lcd.setCursor(0, 0);&lt;br /&gt;
  lcd.print(&amp;quot;Get Ready!&amp;quot;);&lt;br /&gt;
  delay(1500);&lt;br /&gt;
  displayColorPWM(255, 90,0);&lt;br /&gt;
  lcd.setCursor(0, 1);&lt;br /&gt;
  lcd.print(&amp;quot;Get Set!&amp;quot;);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  ranDelay = random(2000, 5000);&lt;br /&gt;
  delay(ranDelay);&lt;br /&gt;
  Serial.println(&amp;quot;Go!&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  startTime = millis();&lt;br /&gt;
  displayColor(COLOR_GREEN);&lt;br /&gt;
 &lt;br /&gt;
  while(p1Done == false || p2Done == false){&lt;br /&gt;
    buttonStateP1 = digitalRead(PIN_BUTTON_1);&lt;br /&gt;
    buttonStateP2 = digitalRead(PIN_BUTTON_2);&lt;br /&gt;
    // Listen for Player 1 button to be pressed and set Player 1 as done.&lt;br /&gt;
    if (buttonStateP1 == HIGH &amp;amp;&amp;amp; p1Done == false) {&lt;br /&gt;
      endTimeP1 = millis();&lt;br /&gt;
      p1Done = true;     &lt;br /&gt;
    }&lt;br /&gt;
    // Listen for Player 2 button to be pressed and set Player 2 as done.&lt;br /&gt;
    if (buttonStateP2 == HIGH &amp;amp;&amp;amp; p2Done == false) {&lt;br /&gt;
      endTimeP2 = millis();&lt;br /&gt;
      p2Done = true;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  displayColor(COLOR_BLACK); // Turn off the game LED&lt;br /&gt;
  finalTimeP1 = (endTimeP1 - startTime); //Calculate how long it took Player to push their button&lt;br /&gt;
  finalTimeP2 = (endTimeP2 - startTime); //Calculate how long it took Player to push their button&lt;br /&gt;
&lt;br /&gt;
  if (endTimeP1 &amp;lt; endTimeP2){ // Run if Player 1 won the round&lt;br /&gt;
    lcd.setRGB(255,0,0);&lt;br /&gt;
    winningTime = (endTimeP2 - startTime) - (endTimeP1 - startTime);&lt;br /&gt;
    scoreP1 = scoreP1 + 1;&lt;br /&gt;
    lcd.clear();&lt;br /&gt;
    lcd.setCursor(5,0);&lt;br /&gt;
    lcd.print(scoreP1);&lt;br /&gt;
    lcd.print(&amp;quot; - &amp;quot;);&lt;br /&gt;
    lcd.print(scoreP2);&lt;br /&gt;
    lcd.setCursor(0, 1);&lt;br /&gt;
    lcd.print(&amp;quot;P1 won by: &amp;quot;);&lt;br /&gt;
    lcd.print(winningTime/1000);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    lcd.setRGB(0, 0, 255);&lt;br /&gt;
    winningTime = (endTimeP1 - startTime) - (endTimeP2 - startTime);&lt;br /&gt;
    scoreP2 = scoreP2 + 1;&lt;br /&gt;
    lcd.clear();&lt;br /&gt;
    lcd.setCursor(5,0);&lt;br /&gt;
    lcd.print(scoreP1);&lt;br /&gt;
    lcd.print(&amp;quot; - &amp;quot;);&lt;br /&gt;
    lcd.print(scoreP2);&lt;br /&gt;
    lcd.setCursor(0,1);&lt;br /&gt;
    lcd.print(&amp;quot;P2 won by: &amp;quot;);&lt;br /&gt;
    lcd.print(winningTime/1000);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  delay(3500);&lt;br /&gt;
&lt;br /&gt;
  // Reset all variables to restart the game&lt;br /&gt;
  buttonStateP1 = 0;&lt;br /&gt;
  buttonStateP2 = 0;  &lt;br /&gt;
  p1Done = false;&lt;br /&gt;
  p2Done = false;&lt;br /&gt;
  ranDelay = 0;&lt;br /&gt;
  startTime = 0;&lt;br /&gt;
  endTimeP1 = 0;&lt;br /&gt;
  endTimeP2 = 0;&lt;br /&gt;
  finalTimeP1 = 0;&lt;br /&gt;
  finalTimeP2 = 0;&lt;br /&gt;
  winningTime = 0;&lt;br /&gt;
  delay(2000);&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
/** Affiche une couleur */&lt;br /&gt;
void displayColor(byte color) {&lt;br /&gt;
  digitalWrite(PIN_LED_R, !bitRead(color, 2));&lt;br /&gt;
  digitalWrite(PIN_LED_G, !bitRead(color, 1));&lt;br /&gt;
  digitalWrite(PIN_LED_B, !bitRead(color, 0));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void displayColorPWM(int pwmRouge, int pwmVert, int pwmBleu) { // reçoit valeur 0-255 par couleur&lt;br /&gt;
&lt;br /&gt;
  analogWrite(PIN_LED_R, 255-pwmRouge);&lt;br /&gt;
  analogWrite(PIN_LED_G, 255-pwmVert);&lt;br /&gt;
  analogWrite(PIN_LED_B, 255-pwmBleu);&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>Théoooooo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:L%27%C3%A9quipe_The_Fastest.jpg&amp;diff=18605</id>
		<title>Fichier:L'équipe The Fastest.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:L%27%C3%A9quipe_The_Fastest.jpg&amp;diff=18605"/>
				<updated>2022-01-14T13:09:37Z</updated>
		
		<summary type="html">&lt;p&gt;Théoooooo : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;L'équipe The Fastest&lt;/div&gt;</summary>
		<author><name>Théoooooo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_A_:_The_Fastest&amp;diff=18604</id>
		<title>ENIB 2022 - groupe A : The Fastest</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_A_:_The_Fastest&amp;diff=18604"/>
				<updated>2022-01-14T13:04:20Z</updated>
		
		<summary type="html">&lt;p&gt;Théoooooo : /* Liste des composants */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==photo de l'équipe==&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
Jeu de réflexe en 1 contre 1.&lt;br /&gt;
Une led s'allume, il faut être le premier à appuyer sur son bouton !&lt;br /&gt;
&lt;br /&gt;
==Liste des composants==&lt;br /&gt;
&lt;br /&gt;
* Arduino (UNO/NANO)&lt;br /&gt;
* Afficheur LCD (GROVE RGB backlight)&lt;br /&gt;
* LED RGB&lt;br /&gt;
* Résistances 10k x2&lt;br /&gt;
* Résistances 220 x3&lt;br /&gt;
* Boutons poussoirs x2&lt;br /&gt;
* Breadboard&lt;br /&gt;
* Buzzer&lt;br /&gt;
* Bois&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;quot;pitches.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
rgb_lcd lcd;&lt;br /&gt;
&lt;br /&gt;
const int colorR = 255;&lt;br /&gt;
const int colorG = 0;&lt;br /&gt;
const int colorB = 0;&lt;br /&gt;
&lt;br /&gt;
const byte COLOR_BLACK = 0b000;&lt;br /&gt;
const byte COLOR_RED = 0b100;&lt;br /&gt;
const byte COLOR_GREEN = 0b010;&lt;br /&gt;
const byte COLOR_BLUE = 0b001;&lt;br /&gt;
const byte COLOR_MAGENTA = 0b101;&lt;br /&gt;
const byte COLOR_CYAN = 0b011;&lt;br /&gt;
const byte COLOR_YELLOW = 0b110;&lt;br /&gt;
const byte COLOR_WHITE = 0b111;&lt;br /&gt;
&lt;br /&gt;
int buttonStateP1;&lt;br /&gt;
int buttonStateP2;&lt;br /&gt;
bool p1Done;&lt;br /&gt;
bool p2Done;&lt;br /&gt;
float startTime;&lt;br /&gt;
float winningTime;&lt;br /&gt;
float finalTimeP1;&lt;br /&gt;
float finalTimeP2;&lt;br /&gt;
float endTimeP1;&lt;br /&gt;
float endTimeP2;&lt;br /&gt;
int scoreP1 = 0;&lt;br /&gt;
int scoreP2 = 0;&lt;br /&gt;
int ranDelay;&lt;br /&gt;
&lt;br /&gt;
/* Broches */&lt;br /&gt;
const byte PIN_LED_R = 9;&lt;br /&gt;
const byte PIN_LED_G = 10;&lt;br /&gt;
const byte PIN_LED_B = 11;&lt;br /&gt;
const byte PIN_BUTTON_1 = 3;&lt;br /&gt;
const byte PIN_BUTTON_2 = 4;&lt;br /&gt;
const byte BUZZER = 8;&lt;br /&gt;
&lt;br /&gt;
// notes in the melody:&lt;br /&gt;
int melody[] = {&lt;br /&gt;
  NOTE_C4, NOTE_G3, NOTE_G3, NOTE_A3, NOTE_G3, 0, NOTE_B3, NOTE_C4&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// note durations: 4 = quarter note, 8 = eighth note, etc.:&lt;br /&gt;
int noteDurations[] = {&lt;br /&gt;
  4, 8, 8, 4, 4, 4, 4, 4&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
int songLength = sizeof(melody)/sizeof(melody[0]);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  lcd.begin(16, 2);&lt;br /&gt;
&lt;br /&gt;
  // Initialise les broches&lt;br /&gt;
  pinMode(PIN_LED_R, OUTPUT);&lt;br /&gt;
  pinMode(PIN_LED_G, OUTPUT);&lt;br /&gt;
  pinMode(PIN_LED_B, OUTPUT);&lt;br /&gt;
  displayColor(COLOR_BLACK);&lt;br /&gt;
&lt;br /&gt;
  pinMode(PIN_BUTTON_1, INPUT);&lt;br /&gt;
  pinMode(PIN_BUTTON_2, INPUT);&lt;br /&gt;
&lt;br /&gt;
  pinMode(BUZZER, OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  for (int thisNote = 0; thisNote &amp;lt; 8; thisNote++) {&lt;br /&gt;
    int noteDuration = 1000 / noteDurations[thisNote];&lt;br /&gt;
    tone(8, melody[thisNote], noteDuration);&lt;br /&gt;
    int pauseBetweenNotes = noteDuration * 1.30;&lt;br /&gt;
    delay(pauseBetweenNotes);&lt;br /&gt;
    noTone(8);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  lcd.setRGB(200,200,200);&lt;br /&gt;
  lcd.clear();&lt;br /&gt;
  lcd.setCursor(0, 0);&lt;br /&gt;
  lcd.print(&amp;quot;Push the button&amp;quot;);&lt;br /&gt;
  lcd.setCursor(0, 1);&lt;br /&gt;
  lcd.print(&amp;quot;to start game !&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  while ((digitalRead(PIN_BUTTON_2)== 0)&amp;amp;&amp;amp;(digitalRead(PIN_BUTTON_1)== 0)) {&lt;br /&gt;
  }&lt;br /&gt;
  lcd.clear();&lt;br /&gt;
  displayColorPWM(255,0,0);&lt;br /&gt;
  lcd.setCursor(0, 0);&lt;br /&gt;
  lcd.print(&amp;quot;Get Ready!&amp;quot;);&lt;br /&gt;
  delay(1500);&lt;br /&gt;
  displayColorPWM(255, 90,0);&lt;br /&gt;
  lcd.setCursor(0, 1);&lt;br /&gt;
  lcd.print(&amp;quot;Get Set!&amp;quot;);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  ranDelay = random(2000, 5000);&lt;br /&gt;
  delay(ranDelay);&lt;br /&gt;
  Serial.println(&amp;quot;Go!&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  startTime = millis();&lt;br /&gt;
  displayColor(COLOR_GREEN);&lt;br /&gt;
 &lt;br /&gt;
  while(p1Done == false || p2Done == false){&lt;br /&gt;
    buttonStateP1 = digitalRead(PIN_BUTTON_1);&lt;br /&gt;
    buttonStateP2 = digitalRead(PIN_BUTTON_2);&lt;br /&gt;
    // Listen for Player 1 button to be pressed and set Player 1 as done.&lt;br /&gt;
    if (buttonStateP1 == HIGH &amp;amp;&amp;amp; p1Done == false) {&lt;br /&gt;
      endTimeP1 = millis();&lt;br /&gt;
      p1Done = true;     &lt;br /&gt;
    }&lt;br /&gt;
    // Listen for Player 2 button to be pressed and set Player 2 as done.&lt;br /&gt;
    if (buttonStateP2 == HIGH &amp;amp;&amp;amp; p2Done == false) {&lt;br /&gt;
      endTimeP2 = millis();&lt;br /&gt;
      p2Done = true;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  displayColor(COLOR_BLACK); // Turn off the game LED&lt;br /&gt;
  finalTimeP1 = (endTimeP1 - startTime); //Calculate how long it took Player to push their button&lt;br /&gt;
  finalTimeP2 = (endTimeP2 - startTime); //Calculate how long it took Player to push their button&lt;br /&gt;
&lt;br /&gt;
  if (endTimeP1 &amp;lt; endTimeP2){ // Run if Player 1 won the round&lt;br /&gt;
    lcd.setRGB(255,0,0);&lt;br /&gt;
    winningTime = (endTimeP2 - startTime) - (endTimeP1 - startTime);&lt;br /&gt;
    scoreP1 = scoreP1 + 1;&lt;br /&gt;
    lcd.clear();&lt;br /&gt;
    lcd.setCursor(5,0);&lt;br /&gt;
    lcd.print(scoreP1);&lt;br /&gt;
    lcd.print(&amp;quot; - &amp;quot;);&lt;br /&gt;
    lcd.print(scoreP2);&lt;br /&gt;
    lcd.setCursor(0, 1);&lt;br /&gt;
    lcd.print(&amp;quot;P1 won by: &amp;quot;);&lt;br /&gt;
    lcd.print(winningTime/1000);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    lcd.setRGB(0, 0, 255);&lt;br /&gt;
    winningTime = (endTimeP1 - startTime) - (endTimeP2 - startTime);&lt;br /&gt;
    scoreP2 = scoreP2 + 1;&lt;br /&gt;
    lcd.clear();&lt;br /&gt;
    lcd.setCursor(5,0);&lt;br /&gt;
    lcd.print(scoreP1);&lt;br /&gt;
    lcd.print(&amp;quot; - &amp;quot;);&lt;br /&gt;
    lcd.print(scoreP2);&lt;br /&gt;
    lcd.setCursor(0,1);&lt;br /&gt;
    lcd.print(&amp;quot;P2 won by: &amp;quot;);&lt;br /&gt;
    lcd.print(winningTime/1000);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  delay(3500);&lt;br /&gt;
&lt;br /&gt;
  // Reset all variables to restart the game&lt;br /&gt;
  buttonStateP1 = 0;&lt;br /&gt;
  buttonStateP2 = 0;  &lt;br /&gt;
  p1Done = false;&lt;br /&gt;
  p2Done = false;&lt;br /&gt;
  ranDelay = 0;&lt;br /&gt;
  startTime = 0;&lt;br /&gt;
  endTimeP1 = 0;&lt;br /&gt;
  endTimeP2 = 0;&lt;br /&gt;
  finalTimeP1 = 0;&lt;br /&gt;
  finalTimeP2 = 0;&lt;br /&gt;
  winningTime = 0;&lt;br /&gt;
  delay(2000);&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
/** Affiche une couleur */&lt;br /&gt;
void displayColor(byte color) {&lt;br /&gt;
  digitalWrite(PIN_LED_R, !bitRead(color, 2));&lt;br /&gt;
  digitalWrite(PIN_LED_G, !bitRead(color, 1));&lt;br /&gt;
  digitalWrite(PIN_LED_B, !bitRead(color, 0));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void displayColorPWM(int pwmRouge, int pwmVert, int pwmBleu) { // reçoit valeur 0-255 par couleur&lt;br /&gt;
&lt;br /&gt;
  analogWrite(PIN_LED_R, 255-pwmRouge);&lt;br /&gt;
  analogWrite(PIN_LED_G, 255-pwmVert);&lt;br /&gt;
  analogWrite(PIN_LED_B, 255-pwmBleu);&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>Théoooooo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_A_:_The_Fastest&amp;diff=18589</id>
		<title>ENIB 2022 - groupe A : The Fastest</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_A_:_The_Fastest&amp;diff=18589"/>
				<updated>2022-01-14T12:50:11Z</updated>
		
		<summary type="html">&lt;p&gt;Théoooooo : /* Code */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==photo de l'équipe==&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
Jeu de réflexe en 1 contre 1.&lt;br /&gt;
Une led s'allume, il faut être le premier à appuyer sur son bouton !&lt;br /&gt;
&lt;br /&gt;
==Liste des composants==&lt;br /&gt;
&lt;br /&gt;
* Arduino (UNO/NANO)&lt;br /&gt;
* Afficheur LCD (GROVE RGB backlight)&lt;br /&gt;
* LED RGB&lt;br /&gt;
* Résistances 10k x2&lt;br /&gt;
* Résistances 220 x3&lt;br /&gt;
* Boutons poussoirs x2&lt;br /&gt;
* Bois&lt;br /&gt;
* Breadboard&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;quot;pitches.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
rgb_lcd lcd;&lt;br /&gt;
&lt;br /&gt;
const int colorR = 255;&lt;br /&gt;
const int colorG = 0;&lt;br /&gt;
const int colorB = 0;&lt;br /&gt;
&lt;br /&gt;
const byte COLOR_BLACK = 0b000;&lt;br /&gt;
const byte COLOR_RED = 0b100;&lt;br /&gt;
const byte COLOR_GREEN = 0b010;&lt;br /&gt;
const byte COLOR_BLUE = 0b001;&lt;br /&gt;
const byte COLOR_MAGENTA = 0b101;&lt;br /&gt;
const byte COLOR_CYAN = 0b011;&lt;br /&gt;
const byte COLOR_YELLOW = 0b110;&lt;br /&gt;
const byte COLOR_WHITE = 0b111;&lt;br /&gt;
&lt;br /&gt;
int buttonStateP1;&lt;br /&gt;
int buttonStateP2;&lt;br /&gt;
bool p1Done;&lt;br /&gt;
bool p2Done;&lt;br /&gt;
float startTime;&lt;br /&gt;
float winningTime;&lt;br /&gt;
float finalTimeP1;&lt;br /&gt;
float finalTimeP2;&lt;br /&gt;
float endTimeP1;&lt;br /&gt;
float endTimeP2;&lt;br /&gt;
int scoreP1 = 0;&lt;br /&gt;
int scoreP2 = 0;&lt;br /&gt;
int ranDelay;&lt;br /&gt;
&lt;br /&gt;
/* Broches */&lt;br /&gt;
const byte PIN_LED_R = 9;&lt;br /&gt;
const byte PIN_LED_G = 10;&lt;br /&gt;
const byte PIN_LED_B = 11;&lt;br /&gt;
const byte PIN_BUTTON_1 = 3;&lt;br /&gt;
const byte PIN_BUTTON_2 = 4;&lt;br /&gt;
const byte BUZZER = 8;&lt;br /&gt;
&lt;br /&gt;
// notes in the melody:&lt;br /&gt;
int melody[] = {&lt;br /&gt;
  NOTE_C4, NOTE_G3, NOTE_G3, NOTE_A3, NOTE_G3, 0, NOTE_B3, NOTE_C4&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// note durations: 4 = quarter note, 8 = eighth note, etc.:&lt;br /&gt;
int noteDurations[] = {&lt;br /&gt;
  4, 8, 8, 4, 4, 4, 4, 4&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
int songLength = sizeof(melody)/sizeof(melody[0]);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  lcd.begin(16, 2);&lt;br /&gt;
&lt;br /&gt;
  // Initialise les broches&lt;br /&gt;
  pinMode(PIN_LED_R, OUTPUT);&lt;br /&gt;
  pinMode(PIN_LED_G, OUTPUT);&lt;br /&gt;
  pinMode(PIN_LED_B, OUTPUT);&lt;br /&gt;
  displayColor(COLOR_BLACK);&lt;br /&gt;
&lt;br /&gt;
  pinMode(PIN_BUTTON_1, INPUT);&lt;br /&gt;
  pinMode(PIN_BUTTON_2, INPUT);&lt;br /&gt;
&lt;br /&gt;
  pinMode(BUZZER, OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  for (int thisNote = 0; thisNote &amp;lt; 8; thisNote++) {&lt;br /&gt;
    int noteDuration = 1000 / noteDurations[thisNote];&lt;br /&gt;
    tone(8, melody[thisNote], noteDuration);&lt;br /&gt;
    int pauseBetweenNotes = noteDuration * 1.30;&lt;br /&gt;
    delay(pauseBetweenNotes);&lt;br /&gt;
    noTone(8);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  lcd.setRGB(200,200,200);&lt;br /&gt;
  lcd.clear();&lt;br /&gt;
  lcd.setCursor(0, 0);&lt;br /&gt;
  lcd.print(&amp;quot;Push the button&amp;quot;);&lt;br /&gt;
  lcd.setCursor(0, 1);&lt;br /&gt;
  lcd.print(&amp;quot;to start game !&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  while ((digitalRead(PIN_BUTTON_2)== 0)&amp;amp;&amp;amp;(digitalRead(PIN_BUTTON_1)== 0)) {&lt;br /&gt;
  }&lt;br /&gt;
  lcd.clear();&lt;br /&gt;
  displayColorPWM(255,0,0);&lt;br /&gt;
  lcd.setCursor(0, 0);&lt;br /&gt;
  lcd.print(&amp;quot;Get Ready!&amp;quot;);&lt;br /&gt;
  delay(1500);&lt;br /&gt;
  displayColorPWM(255, 90,0);&lt;br /&gt;
  lcd.setCursor(0, 1);&lt;br /&gt;
  lcd.print(&amp;quot;Get Set!&amp;quot;);&lt;br /&gt;
  delay(500);&lt;br /&gt;
  ranDelay = random(2000, 5000);&lt;br /&gt;
  delay(ranDelay);&lt;br /&gt;
  Serial.println(&amp;quot;Go!&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  startTime = millis();&lt;br /&gt;
  displayColor(COLOR_GREEN);&lt;br /&gt;
 &lt;br /&gt;
  while(p1Done == false || p2Done == false){&lt;br /&gt;
    buttonStateP1 = digitalRead(PIN_BUTTON_1);&lt;br /&gt;
    buttonStateP2 = digitalRead(PIN_BUTTON_2);&lt;br /&gt;
    // Listen for Player 1 button to be pressed and set Player 1 as done.&lt;br /&gt;
    if (buttonStateP1 == HIGH &amp;amp;&amp;amp; p1Done == false) {&lt;br /&gt;
      endTimeP1 = millis();&lt;br /&gt;
      p1Done = true;     &lt;br /&gt;
    }&lt;br /&gt;
    // Listen for Player 2 button to be pressed and set Player 2 as done.&lt;br /&gt;
    if (buttonStateP2 == HIGH &amp;amp;&amp;amp; p2Done == false) {&lt;br /&gt;
      endTimeP2 = millis();&lt;br /&gt;
      p2Done = true;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  displayColor(COLOR_BLACK); // Turn off the game LED&lt;br /&gt;
  finalTimeP1 = (endTimeP1 - startTime); //Calculate how long it took Player to push their button&lt;br /&gt;
  finalTimeP2 = (endTimeP2 - startTime); //Calculate how long it took Player to push their button&lt;br /&gt;
&lt;br /&gt;
  if (endTimeP1 &amp;lt; endTimeP2){ // Run if Player 1 won the round&lt;br /&gt;
    lcd.setRGB(255,0,0);&lt;br /&gt;
    winningTime = (endTimeP2 - startTime) - (endTimeP1 - startTime);&lt;br /&gt;
    scoreP1 = scoreP1 + 1;&lt;br /&gt;
    lcd.clear();&lt;br /&gt;
    lcd.setCursor(5,0);&lt;br /&gt;
    lcd.print(scoreP1);&lt;br /&gt;
    lcd.print(&amp;quot; - &amp;quot;);&lt;br /&gt;
    lcd.print(scoreP2);&lt;br /&gt;
    lcd.setCursor(0, 1);&lt;br /&gt;
    lcd.print(&amp;quot;P1 won by: &amp;quot;);&lt;br /&gt;
    lcd.print(winningTime/1000);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    lcd.setRGB(0, 0, 255);&lt;br /&gt;
    winningTime = (endTimeP1 - startTime) - (endTimeP2 - startTime);&lt;br /&gt;
    scoreP2 = scoreP2 + 1;&lt;br /&gt;
    lcd.clear();&lt;br /&gt;
    lcd.setCursor(5,0);&lt;br /&gt;
    lcd.print(scoreP1);&lt;br /&gt;
    lcd.print(&amp;quot; - &amp;quot;);&lt;br /&gt;
    lcd.print(scoreP2);&lt;br /&gt;
    lcd.setCursor(0,1);&lt;br /&gt;
    lcd.print(&amp;quot;P2 won by: &amp;quot;);&lt;br /&gt;
    lcd.print(winningTime/1000);&lt;br /&gt;
    delay(1000);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  delay(3500);&lt;br /&gt;
&lt;br /&gt;
  // Reset all variables to restart the game&lt;br /&gt;
  buttonStateP1 = 0;&lt;br /&gt;
  buttonStateP2 = 0;  &lt;br /&gt;
  p1Done = false;&lt;br /&gt;
  p2Done = false;&lt;br /&gt;
  ranDelay = 0;&lt;br /&gt;
  startTime = 0;&lt;br /&gt;
  endTimeP1 = 0;&lt;br /&gt;
  endTimeP2 = 0;&lt;br /&gt;
  finalTimeP1 = 0;&lt;br /&gt;
  finalTimeP2 = 0;&lt;br /&gt;
  winningTime = 0;&lt;br /&gt;
  delay(2000);&lt;br /&gt;
}&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
/** Affiche une couleur */&lt;br /&gt;
void displayColor(byte color) {&lt;br /&gt;
  digitalWrite(PIN_LED_R, !bitRead(color, 2));&lt;br /&gt;
  digitalWrite(PIN_LED_G, !bitRead(color, 1));&lt;br /&gt;
  digitalWrite(PIN_LED_B, !bitRead(color, 0));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void displayColorPWM(int pwmRouge, int pwmVert, int pwmBleu) { // reçoit valeur 0-255 par couleur&lt;br /&gt;
&lt;br /&gt;
  analogWrite(PIN_LED_R, 255-pwmRouge);&lt;br /&gt;
  analogWrite(PIN_LED_G, 255-pwmVert);&lt;br /&gt;
  analogWrite(PIN_LED_B, 255-pwmBleu);&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>Théoooooo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_A_:_The_Fastest&amp;diff=18463</id>
		<title>ENIB 2022 - groupe A : The Fastest</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_A_:_The_Fastest&amp;diff=18463"/>
				<updated>2022-01-13T14:59:54Z</updated>
		
		<summary type="html">&lt;p&gt;Théoooooo : /* Liste des composants */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==photo de l'équipe==&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
Jeu de réflexe en 1 contre 1.&lt;br /&gt;
Une led s'allume, il faut être le premier à appuyer sur son bouton !&lt;br /&gt;
&lt;br /&gt;
==Liste des composants==&lt;br /&gt;
&lt;br /&gt;
* Arduino (UNO/NANO)&lt;br /&gt;
* Afficheur LCD (GROVE RGB backlight)&lt;br /&gt;
* LED RGB&lt;br /&gt;
* Résistances 10k x2&lt;br /&gt;
* Résistances 220 x3&lt;br /&gt;
* Boutons poussoirs x2&lt;br /&gt;
* Bois&lt;br /&gt;
* Breadboard&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>Théoooooo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_A_:_The_Fastest&amp;diff=18461</id>
		<title>ENIB 2022 - groupe A : The Fastest</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_A_:_The_Fastest&amp;diff=18461"/>
				<updated>2022-01-13T14:58:27Z</updated>
		
		<summary type="html">&lt;p&gt;Théoooooo : /* photo de l'équipe */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==photo de l'équipe==&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
Jeu de réflexe en 1 contre 1.&lt;br /&gt;
Une led s'allume, il faut être le premier à appuyer sur son bouton !&lt;br /&gt;
&lt;br /&gt;
==Liste des composants==&lt;br /&gt;
&lt;br /&gt;
* Arduino (UNO/NANO)&lt;br /&gt;
* Afficheur LCD (GROVE RGB backlight)&lt;br /&gt;
* LED RGB&lt;br /&gt;
* Résistances 10k x2&lt;br /&gt;
* Résistances 220 x3&lt;br /&gt;
* Boutons poussoirs x2&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>Théoooooo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_A_:_The_Fastest&amp;diff=18459</id>
		<title>ENIB 2022 - groupe A : The Fastest</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_A_:_The_Fastest&amp;diff=18459"/>
				<updated>2022-01-13T14:58:08Z</updated>
		
		<summary type="html">&lt;p&gt;Théoooooo : /* Que fait ce projet ? */&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;
Jeu de réflexe en 1 contre 1.&lt;br /&gt;
Une led s'allume, il faut être le premier à appuyer sur son bouton !&lt;br /&gt;
&lt;br /&gt;
==Liste des composants==&lt;br /&gt;
&lt;br /&gt;
* Arduino (UNO/NANO)&lt;br /&gt;
* Afficheur LCD (GROVE RGB backlight)&lt;br /&gt;
* LED RGB&lt;br /&gt;
* Résistances 10k x2&lt;br /&gt;
* Résistances 220 x3&lt;br /&gt;
* Boutons poussoirs x2&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>Théoooooo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_A_:_The_Fastest&amp;diff=18458</id>
		<title>ENIB 2022 - groupe A : The Fastest</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_A_:_The_Fastest&amp;diff=18458"/>
				<updated>2022-01-13T14:57:19Z</updated>
		
		<summary type="html">&lt;p&gt;Théoooooo : /* Que fait ce projet ? */&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;
Jeu de réflexe en 1 contre 1&lt;br /&gt;
Une led s'allume, il faut être le premier à appuyer sur son bouton !&lt;br /&gt;
&lt;br /&gt;
==Liste des composants==&lt;br /&gt;
&lt;br /&gt;
* Arduino (UNO/NANO)&lt;br /&gt;
* Afficheur LCD (GROVE RGB backlight)&lt;br /&gt;
* LED RGB&lt;br /&gt;
* Résistances 10k x2&lt;br /&gt;
* Résistances 220 x3&lt;br /&gt;
* Boutons poussoirs x2&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>Théoooooo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_A_:_The_Fastest&amp;diff=18437</id>
		<title>ENIB 2022 - groupe A : The Fastest</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_A_:_The_Fastest&amp;diff=18437"/>
				<updated>2022-01-13T14:07:07Z</updated>
		
		<summary type="html">&lt;p&gt;Théoooooo : /* Que fait ce projet ? */&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;
Jeu de reflex en 1 contre 1&lt;br /&gt;
Une led s'allume, il faut être le premier à appuyer sur son bouton !&lt;br /&gt;
&lt;br /&gt;
==Liste des composants==&lt;br /&gt;
&lt;br /&gt;
* Arduino (UNO/NANO)&lt;br /&gt;
* Afficheur LCD (GROVE RGB backlight)&lt;br /&gt;
* LED RGB&lt;br /&gt;
* Résistances 10k x2&lt;br /&gt;
* Résistances 220 x3&lt;br /&gt;
* Boutons poussoirs x2&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>Théoooooo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_A_:_The_Fastest&amp;diff=18435</id>
		<title>ENIB 2022 - groupe A : The Fastest</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_A_:_The_Fastest&amp;diff=18435"/>
				<updated>2022-01-13T14:05:52Z</updated>
		
		<summary type="html">&lt;p&gt;Théoooooo : /* Liste des composants */&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;
Jeu de reflex en 1 contre 1&lt;br /&gt;
&lt;br /&gt;
==Liste des composants==&lt;br /&gt;
&lt;br /&gt;
* Arduino (UNO/NANO)&lt;br /&gt;
* Afficheur LCD (GROVE RGB backlight)&lt;br /&gt;
* LED RGB&lt;br /&gt;
* Résistances 10k x2&lt;br /&gt;
* Résistances 220 x3&lt;br /&gt;
* Boutons poussoirs x2&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>Théoooooo</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_A_:_The_Fastest&amp;diff=18431</id>
		<title>ENIB 2022 - groupe A : The Fastest</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2022_-_groupe_A_:_The_Fastest&amp;diff=18431"/>
				<updated>2022-01-13T14:03:23Z</updated>
		
		<summary type="html">&lt;p&gt;Théoooooo : Page créée avec « ==photo de l'équipe== 600px  ==Que fait ce projet ? == Jeu de reflex en 1 contre 1  ==Liste des composants==  * composant 1 * composant 2 *... »&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;
Jeu de reflex en 1 contre 1&lt;br /&gt;
&lt;br /&gt;
==Liste des composants==&lt;br /&gt;
&lt;br /&gt;
* composant 1&lt;br /&gt;
* composant 2&lt;br /&gt;
* ...&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>Théoooooo</name></author>	</entry>

	</feed>