<?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=Romain+Fauvel</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=Romain+Fauvel"/>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Sp%C3%A9cial:Contributions/Romain_Fauvel"/>
		<updated>2026-05-02T21:17:29Z</updated>
		<subtitle>Contributions de l’utilisateur</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2023_:_Salade_d%27Enigmes&amp;diff=22115</id>
		<title>ENIB 2023 : Salade d'Enigmes</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2023_:_Salade_d%27Enigmes&amp;diff=22115"/>
				<updated>2023-01-26T14:57:21Z</updated>
		
		<summary type="html">&lt;p&gt;Romain Fauvel : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==photo de l'équipe==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:PhotoDeMoi.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
Ce projet est une combinaison de 4 énigmes.&lt;br /&gt;
==Liste des parties==&lt;br /&gt;
&lt;br /&gt;
* Partie 1 Tableau périodique :&lt;br /&gt;
&lt;br /&gt;
Le but était de sélectionner 2 valeurs grâce à un potentiomètre. Ces valeurs se devinaient grâce à deux matériaux coller sur la plaque et leur nombre atomique trouvé sur le tableau périodique&lt;br /&gt;
&lt;br /&gt;
[[Fichier:EnigmeTableauPeriodiqueV2.jpg|vignette]]&lt;br /&gt;
&lt;br /&gt;
* Partie 2 Corde César&lt;br /&gt;
&lt;br /&gt;
[[Fichier:CodeCesarV2.jpg|vignette]]&lt;br /&gt;
&lt;br /&gt;
* Partie 3 Code Morse&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MorseEtSelectionReponseV2.jpg|vignette]]&lt;br /&gt;
&lt;br /&gt;
*Partie 4 labyrinthe&lt;br /&gt;
&lt;br /&gt;
[[Fichier:LabyrintheV2.jpg|vignette]]&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Code pour la partie Tableau périodique (Il y a une librairie à télécharger) :&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;SPI.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Wire.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Adafruit_GFX.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Adafruit_SSD1306.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define SCREEN_WIDTH 128 // OLED display width, in pixels&lt;br /&gt;
#define SCREEN_HEIGHT 64 // OLED display height, in pixels&lt;br /&gt;
#define valPotReader A0&lt;br /&gt;
#define buttonPer D8&lt;br /&gt;
#define Win D7&lt;br /&gt;
&lt;br /&gt;
#define OLED_RESET     -1 // Reset pin # (or -1 if sharing Arduino reset pin)&lt;br /&gt;
#define SCREEN_ADDRESS 0x3C ///&amp;lt; See datasheet for Address; 0x3D for 128x64, 0x3C for 128x32&lt;br /&gt;
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &amp;amp;Wire, OLED_RESET);&lt;br /&gt;
&lt;br /&gt;
int valPot;&lt;br /&gt;
int pos=0;&lt;br /&gt;
int resultPer[2]={0,0};&lt;br /&gt;
int solPer[2] = {29,13};&lt;br /&gt;
bool buttonPerState=0;&lt;br /&gt;
bool prevButtonPerState=0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
&lt;br /&gt;
  pinMode(valPotReader,INPUT);&lt;br /&gt;
  pinMode(buttonPer,INPUT);&lt;br /&gt;
  pinMode(Win,OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  // SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally&lt;br /&gt;
  if(!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) {&lt;br /&gt;
    Serial.println(F(&amp;quot;SSD1306 allocation failed&amp;quot;));&lt;br /&gt;
    for(;;); // Don't proceed, loop forever&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Show initial display buffer contents on the screen --&lt;br /&gt;
  // the library initializes this with an Adafruit splash screen.&lt;br /&gt;
  display.display();&lt;br /&gt;
  delay(2000); // Pause for 2 seconds&lt;br /&gt;
&lt;br /&gt;
  // Clear the buffer&lt;br /&gt;
  display.clearDisplay();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
  valPot=round((float(analogRead(valPotReader))/1024)*118);&lt;br /&gt;
  show();&lt;br /&gt;
  if(isPressed()){&lt;br /&gt;
    Serial.println(&amp;quot;oui&amp;quot;);&lt;br /&gt;
    int i = pos%2;&lt;br /&gt;
    pos=pos+1;&lt;br /&gt;
    resultPer[i]=valPot;&lt;br /&gt;
    show();&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
  Serial.println((resultPer[0]==solPer[0] &amp;amp;&amp;amp; resultPer[1]==solPer[1]));&lt;br /&gt;
&lt;br /&gt;
  if(resultPer[0]==solPer[0] &amp;amp;&amp;amp; resultPer[1]==solPer[1])&lt;br /&gt;
  {&lt;br /&gt;
    Serial.print(&amp;quot;Win&amp;quot;);&lt;br /&gt;
    digitalWrite(Win,HIGH);&lt;br /&gt;
  }else{digitalWrite(Win,LOW);}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void show(){&lt;br /&gt;
  display.clearDisplay();&lt;br /&gt;
  display.setTextSize(4);&lt;br /&gt;
  display.setTextColor(SSD1306_WHITE);&lt;br /&gt;
  display.setCursor(16,16); &lt;br /&gt;
  display.print(valPot);&lt;br /&gt;
&lt;br /&gt;
  display.setTextSize(1);&lt;br /&gt;
  display.setCursor(80,53); &lt;br /&gt;
  display.print(resultPer[0]);&lt;br /&gt;
  display.print('|');&lt;br /&gt;
  display.print(resultPer[1]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  display.display();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
bool isPressed(){&lt;br /&gt;
   buttonPerState=digitalRead(buttonPer);&lt;br /&gt;
&lt;br /&gt;
  if(prevButtonPerState==0 &amp;amp;&amp;amp; buttonPerState==1){&lt;br /&gt;
    prevButtonPerState=buttonPerState;&lt;br /&gt;
    return 1;&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    prevButtonPerState=buttonPerState;&lt;br /&gt;
    return 0;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////&lt;br /&gt;
&lt;br /&gt;
Code pour sélection de la réponse (Rouge ou Vert ou Bleu) :&lt;br /&gt;
&lt;br /&gt;
#define r1_pin 13 &lt;br /&gt;
#define b1_pin 12&lt;br /&gt;
#define g1_pin 11&lt;br /&gt;
#define bp0 4&lt;br /&gt;
&lt;br /&gt;
#define r2_pin 10 &lt;br /&gt;
#define b2_pin 9&lt;br /&gt;
#define g2_pin 8&lt;br /&gt;
#define bp2 3&lt;br /&gt;
&lt;br /&gt;
#define r3_pin 7&lt;br /&gt;
#define b3_pin 6&lt;br /&gt;
#define g3_pin 5&lt;br /&gt;
#define bp3 2&lt;br /&gt;
&lt;br /&gt;
#define validation A0&lt;br /&gt;
&lt;br /&gt;
unsigned long previousMillis = 0;     &lt;br /&gt;
unsigned long previousMillis2 = 0;        &lt;br /&gt;
int i =0;&lt;br /&gt;
&lt;br /&gt;
int val1 =0;&lt;br /&gt;
int val2 =0;&lt;br /&gt;
int val3 =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;
byte table[7] = {COLOR_RED,COLOR_GREEN,COLOR_BLUE,COLOR_MAGENTA,COLOR_CYAN,COLOR_YELLOW,COLOR_WHITE};&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(b1_pin, OUTPUT);&lt;br /&gt;
  pinMode(g1_pin, OUTPUT);&lt;br /&gt;
  pinMode(r1_pin, OUTPUT);&lt;br /&gt;
  pinMode(bp0, INPUT);&lt;br /&gt;
&lt;br /&gt;
  pinMode(b2_pin, OUTPUT);&lt;br /&gt;
  pinMode(g2_pin, OUTPUT);&lt;br /&gt;
  pinMode(r2_pin, OUTPUT);&lt;br /&gt;
  pinMode(bp2, INPUT);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  pinMode(b3_pin, OUTPUT);&lt;br /&gt;
  pinMode(g3_pin, OUTPUT);&lt;br /&gt;
  pinMode(r3_pin, OUTPUT);&lt;br /&gt;
  pinMode(bp3, INPUT);&lt;br /&gt;
  pinMode(validation, INPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void displayColor1(byte color) {&lt;br /&gt;
&lt;br /&gt;
  // Version anode commune&lt;br /&gt;
  digitalWrite(r1_pin, !bitRead(color, 2));&lt;br /&gt;
  digitalWrite(g1_pin, !bitRead(color, 1));&lt;br /&gt;
  digitalWrite(b1_pin, !bitRead(color, 0));&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void displayColor2(byte color) {&lt;br /&gt;
&lt;br /&gt;
  // Version anode commune&lt;br /&gt;
  digitalWrite(r2_pin, !bitRead(color, 2));&lt;br /&gt;
  digitalWrite(g2_pin, !bitRead(color, 1));&lt;br /&gt;
  digitalWrite(b2_pin, !bitRead(color, 0));&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void displayColor3(byte color) {&lt;br /&gt;
&lt;br /&gt;
  // Version anode commune&lt;br /&gt;
  digitalWrite(r3_pin, !bitRead(color, 2));&lt;br /&gt;
  digitalWrite(g3_pin, !bitRead(color, 1));&lt;br /&gt;
  digitalWrite(b3_pin, !bitRead(color, 0));&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
 // displayColor1(table[1]);&lt;br /&gt;
if( digitalRead(bp0) &amp;amp;&amp;amp; millis() - previousMillis2 &amp;gt; 1000 )&lt;br /&gt;
{&lt;br /&gt;
 &lt;br /&gt;
  displayColor1(table[i]);&lt;br /&gt;
   i=i+1;&lt;br /&gt;
   previousMillis2 = millis();&lt;br /&gt;
   if (table[i] == COLOR_BLUE)&lt;br /&gt;
   {&lt;br /&gt;
    Serial.println(&amp;quot;labyrinthe ok&amp;quot;);&lt;br /&gt;
    val1 = 1;&lt;br /&gt;
   }&lt;br /&gt;
  &lt;br /&gt;
  if( i &amp;gt;= 7)&lt;br /&gt;
  {&lt;br /&gt;
    i= 0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
if( digitalRead(bp2) &amp;amp;&amp;amp; millis() - previousMillis2 &amp;gt; 1000 )&lt;br /&gt;
{&lt;br /&gt;
 &lt;br /&gt;
  displayColor2(table[i]);&lt;br /&gt;
   i=i+1;&lt;br /&gt;
   previousMillis2 = millis();&lt;br /&gt;
   &lt;br /&gt;
   if (table[i]== COLOR_GREEN)&lt;br /&gt;
   {&lt;br /&gt;
    Serial.println(&amp;quot;cesar ok&amp;quot;);&lt;br /&gt;
    val2=1;&lt;br /&gt;
   }&lt;br /&gt;
  if( i &amp;gt;= 7)&lt;br /&gt;
  {&lt;br /&gt;
    i= 0;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if( digitalRead(bp3) &amp;amp;&amp;amp; millis() - previousMillis2 &amp;gt; 1000 )&lt;br /&gt;
{&lt;br /&gt;
 &lt;br /&gt;
  displayColor3(table[i]);&lt;br /&gt;
   i=i+1;&lt;br /&gt;
   previousMillis2 = millis();&lt;br /&gt;
&lt;br /&gt;
    if (table[i]== COLOR_CYAN)&lt;br /&gt;
   {&lt;br /&gt;
    Serial.println(&amp;quot;periodique ok&amp;quot;);&lt;br /&gt;
    val3 = 1;&lt;br /&gt;
   }&lt;br /&gt;
  &lt;br /&gt;
  if( i &amp;gt;= 7)&lt;br /&gt;
  {&lt;br /&gt;
    i= 0;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if( val1 &amp;amp;&amp;amp; val2 &amp;amp;&amp;amp; val3)&lt;br /&gt;
{&lt;br /&gt;
   displayColor1(COLOR_BLUE);&lt;br /&gt;
   displayColor2(COLOR_BLUE);&lt;br /&gt;
   displayColor3(COLOR_BLUE);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if(val1 &amp;amp;&amp;amp; val2 &amp;amp;&amp;amp; val3 &amp;amp;&amp;amp; (bp0 || bp2 || bp3))&lt;br /&gt;
{&lt;br /&gt;
 &lt;br /&gt;
   val1 = 0;&lt;br /&gt;
   val2 = 0;&lt;br /&gt;
   val3 = 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (analogRead(validation) == 1)&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;morse ok&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////////////////////&lt;br /&gt;
&lt;br /&gt;
Code pour le Morse :&lt;br /&gt;
&lt;br /&gt;
#define green D2&lt;br /&gt;
#define b D1&lt;br /&gt;
#define g D3&lt;br /&gt;
#define r D4&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
pinMode(LED_BUILTIN, OUTPUT);&lt;br /&gt;
Serial.begin(9600);&lt;br /&gt;
pinMode(green, OUTPUT);&lt;br /&gt;
pinMode(b, OUTPUT);&lt;br /&gt;
pinMode(g, OUTPUT);&lt;br /&gt;
pinMode(r, OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
&lt;br /&gt;
}/&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
   digitalWrite(LED_BUILTIN, LOW);   // Arduino: turn the LED on (HIGH)&lt;br /&gt;
   digitalWrite(green, LOW);&lt;br /&gt;
&lt;br /&gt;
   digitalWrite(b, HIGH);&lt;br /&gt;
   digitalWrite(r, LOW);&lt;br /&gt;
   digitalWrite(g, LOW);&lt;br /&gt;
&lt;br /&gt;
   Serial.println(&amp;quot;low&amp;quot;);&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   digitalWrite(LED_BUILTIN, HIGH);   // Arduino: turn the LED on (HIGH)&lt;br /&gt;
   digitalWrite(green, HIGH);&lt;br /&gt;
&lt;br /&gt;
   digitalWrite(b, HIGH);&lt;br /&gt;
   digitalWrite(r, HIGH);&lt;br /&gt;
   digitalWrite(g, HIGH);&lt;br /&gt;
&lt;br /&gt;
   Serial.println(&amp;quot;high&amp;quot;);&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   //digitalWrite(D4, LOW);&lt;br /&gt;
   //digitalWrite(BLU, HIGH);&lt;br /&gt;
 &lt;br /&gt;
   //delay(1000);&lt;br /&gt;
   //digitalWrite(green, LOW);&lt;br /&gt;
&lt;br /&gt;
  / digitalWrite(GND, LOW);&lt;br /&gt;
   //digitalWrite(RED, LOW);&lt;br /&gt;
   //digitalWrite(GRN, HIGH);&lt;br /&gt;
   //digitalWrite(BLU, LOW);&lt;br /&gt;
 &lt;br /&gt;
   delay(1000);&lt;br /&gt;
 Serial.println(&amp;quot;test&amp;quot;);&lt;br /&gt;
 digitalWrite(GND, HIGH);&lt;br /&gt;
  // digitalWrite(RED, LOW);&lt;br /&gt;
  //// digitalWrite(GRN, LOW);&lt;br /&gt;
  // digitalWrite(BLU, HIGH);&lt;br /&gt;
 &lt;br /&gt;
   delay(1000);*/&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
#define r1_pin 13 &lt;br /&gt;
#define b1_pin 12&lt;br /&gt;
#define g1_pin 11&lt;br /&gt;
#define bp0 4&lt;br /&gt;
&lt;br /&gt;
#define r2_pin 10 &lt;br /&gt;
#define b2_pin 9&lt;br /&gt;
#define g2_pin 8&lt;br /&gt;
#define bp2 3&lt;br /&gt;
&lt;br /&gt;
#define r3_pin 7&lt;br /&gt;
#define b3_pin 6&lt;br /&gt;
#define g3_pin 5&lt;br /&gt;
#define bp3 2&lt;br /&gt;
&lt;br /&gt;
#define validation A0&lt;br /&gt;
&lt;br /&gt;
unsigned long previousMillis = 0;     &lt;br /&gt;
unsigned long previousMillis2 = 0;        &lt;br /&gt;
int i =0;&lt;br /&gt;
&lt;br /&gt;
int val1 =0;&lt;br /&gt;
int val2 =0;&lt;br /&gt;
int val3 =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;
byte table[7] = {COLOR_RED,COLOR_GREEN,COLOR_BLUE,COLOR_MAGENTA,COLOR_CYAN,COLOR_YELLOW,COLOR_WHITE};&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(b1_pin, OUTPUT);&lt;br /&gt;
  pinMode(g1_pin, OUTPUT);&lt;br /&gt;
  pinMode(r1_pin, OUTPUT);&lt;br /&gt;
  pinMode(bp0, INPUT);&lt;br /&gt;
&lt;br /&gt;
  pinMode(b2_pin, OUTPUT);&lt;br /&gt;
  pinMode(g2_pin, OUTPUT);&lt;br /&gt;
  pinMode(r2_pin, OUTPUT);&lt;br /&gt;
  pinMode(bp2, INPUT);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  pinMode(b3_pin, OUTPUT);&lt;br /&gt;
  pinMode(g3_pin, OUTPUT);&lt;br /&gt;
  pinMode(r3_pin, OUTPUT);&lt;br /&gt;
  pinMode(bp3, INPUT);&lt;br /&gt;
  pinMode(validation, INPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void displayColor1(byte color) {&lt;br /&gt;
&lt;br /&gt;
  // Version anode commune&lt;br /&gt;
  digitalWrite(r1_pin, !bitRead(color, 2));&lt;br /&gt;
  digitalWrite(g1_pin, !bitRead(color, 1));&lt;br /&gt;
  digitalWrite(b1_pin, !bitRead(color, 0));&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void displayColor2(byte color) {&lt;br /&gt;
&lt;br /&gt;
  // Version anode commune&lt;br /&gt;
  digitalWrite(r2_pin, !bitRead(color, 2));&lt;br /&gt;
  digitalWrite(g2_pin, !bitRead(color, 1));&lt;br /&gt;
  digitalWrite(b2_pin, !bitRead(color, 0));&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void displayColor3(byte color) {&lt;br /&gt;
&lt;br /&gt;
  // Version anode commune&lt;br /&gt;
  digitalWrite(r3_pin, !bitRead(color, 2));&lt;br /&gt;
  digitalWrite(g3_pin, !bitRead(color, 1));&lt;br /&gt;
  digitalWrite(b3_pin, !bitRead(color, 0));&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
 // displayColor1(table[1]);&lt;br /&gt;
if( digitalRead(bp0) &amp;amp;&amp;amp; millis() - previousMillis2 &amp;gt; 1000 )&lt;br /&gt;
{&lt;br /&gt;
 &lt;br /&gt;
  displayColor1(table[i]);&lt;br /&gt;
   i=i+1;&lt;br /&gt;
   previousMillis2 = millis();&lt;br /&gt;
   if (table[i] == COLOR_BLUE)&lt;br /&gt;
   {&lt;br /&gt;
    Serial.println(&amp;quot;labyrinthe ok&amp;quot;);&lt;br /&gt;
    val1 = 1;&lt;br /&gt;
   }&lt;br /&gt;
  &lt;br /&gt;
  if( i &amp;gt;= 7)&lt;br /&gt;
  {&lt;br /&gt;
    i= 0;&lt;br /&gt;
  }&lt;br /&gt;
... (63 lignes restantes)&lt;br /&gt;
Réduire&lt;br /&gt;
message.txt&lt;br /&gt;
3 Ko&lt;br /&gt;
code 1&lt;br /&gt;
#define morse_pin D2&lt;br /&gt;
#define b_pin D1 &lt;br /&gt;
#define g_pin D3&lt;br /&gt;
#define r_pin D4&lt;br /&gt;
#define bp1 D5&lt;br /&gt;
#define val A0&lt;br /&gt;
﻿&lt;br /&gt;
#define morse_pin D2&lt;br /&gt;
#define b_pin D1 &lt;br /&gt;
#define g_pin D3&lt;br /&gt;
#define r_pin D4&lt;br /&gt;
#define bp1 D5&lt;br /&gt;
#define val A0&lt;br /&gt;
&lt;br /&gt;
unsigned long previousMillis = 0;     &lt;br /&gt;
unsigned long previousMillis2 = 0;        &lt;br /&gt;
int i =0;&lt;br /&gt;
    &lt;br /&gt;
/* Couleurs (format RGB) */&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;
byte table[7] = {COLOR_RED,COLOR_GREEN,COLOR_BLUE,COLOR_MAGENTA,COLOR_CYAN,COLOR_YELLOW,COLOR_WHITE};&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Serial.begin(9600);&lt;br /&gt;
pinMode(morse_pin, OUTPUT);&lt;br /&gt;
pinMode(b_pin, OUTPUT);&lt;br /&gt;
pinMode(g_pin, OUTPUT);&lt;br /&gt;
pinMode(r_pin, OUTPUT);&lt;br /&gt;
pinMode(bp1, INPUT);&lt;br /&gt;
pinMode(val, OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// ##########################################################################Switch Color)&lt;br /&gt;
void displayColor(byte color) {&lt;br /&gt;
&lt;br /&gt;
  // Version anode commune&lt;br /&gt;
  digitalWrite(r_pin, !bitRead(color, 2));&lt;br /&gt;
  digitalWrite(g_pin, !bitRead(color, 1));&lt;br /&gt;
  digitalWrite(b_pin, !bitRead(color, 0));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
// ##########################################################################blue victory (Morse Switch)&lt;br /&gt;
&lt;br /&gt;
  if ( (0 &amp;lt;  millis()-previousMillis) &amp;amp;&amp;amp;  (millis()-previousMillis&amp;lt; 3000) ){&lt;br /&gt;
    digitalWrite(morse_pin, HIGH);&lt;br /&gt;
   &lt;br /&gt;
  }&lt;br /&gt;
  if ( ( 3000 &amp;lt;  millis()-previousMillis) &amp;amp;&amp;amp;  (millis()-previousMillis&amp;lt; 3500) ){&lt;br /&gt;
    digitalWrite(morse_pin, LOW);&lt;br /&gt;
  }&lt;br /&gt;
  if ( (3500  &amp;lt;  millis()-previousMillis) &amp;amp;&amp;amp;  (millis()-previousMillis&amp;lt;4000) ){&lt;br /&gt;
    digitalWrite(morse_pin, HIGH);&lt;br /&gt;
  &lt;br /&gt;
  }&lt;br /&gt;
  if ( (4000 &amp;lt;  millis()-previousMillis) &amp;amp;&amp;amp;  (millis()-previousMillis&amp;lt; 4500) ){&lt;br /&gt;
    digitalWrite(morse_pin, LOW);&lt;br /&gt;
  &lt;br /&gt;
  }&lt;br /&gt;
  if ( (4500 &amp;lt;  millis()-previousMillis) &amp;amp;&amp;amp;  (millis()-previousMillis&amp;lt; 5000) ){&lt;br /&gt;
    digitalWrite(morse_pin, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
  if ( (5000 &amp;lt;  millis()-previousMillis) &amp;amp;&amp;amp;  (millis()-previousMillis&amp;lt; 5500) ){&lt;br /&gt;
    digitalWrite(morse_pin, LOW);&lt;br /&gt;
  }&lt;br /&gt;
  if ( (5500 &amp;lt;  millis()-previousMillis) &amp;amp;&amp;amp;  (millis()-previousMillis&amp;lt; 6000) ){&lt;br /&gt;
    digitalWrite(morse_pin, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
  if ( (6000 &amp;lt;  millis()-previousMillis) &amp;amp;&amp;amp;  (millis()-previousMillis&amp;lt; 6500)){&lt;br /&gt;
    digitalWrite(morse_pin, LOW);&lt;br /&gt;
  }&lt;br /&gt;
    &lt;br /&gt;
  if (millis()-previousMillis &amp;gt; 8000){&lt;br /&gt;
&lt;br /&gt;
    previousMillis = millis();&lt;br /&gt;
  } &lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
// ##########################################################################blue victory (button Color)&lt;br /&gt;
if( digitalRead(bp1) &amp;amp;&amp;amp; millis() - previousMillis2 &amp;gt; 1000 )&lt;br /&gt;
{&lt;br /&gt;
 &lt;br /&gt;
  displayColor(table[i]);&lt;br /&gt;
   i=i+1;&lt;br /&gt;
   previousMillis2 = millis();&lt;br /&gt;
   &lt;br /&gt;
   if (table[i]== COLOR_GREEN)&lt;br /&gt;
   {&lt;br /&gt;
     Serial.println(&amp;quot;morse okkkkkkk&amp;quot;);&lt;br /&gt;
     analogWrite(val, HIGH);&lt;br /&gt;
     &lt;br /&gt;
   }&lt;br /&gt;
  &lt;br /&gt;
  if( i &amp;gt;= 7)&lt;br /&gt;
  {&lt;br /&gt;
    i= 0;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
  &lt;br /&gt;
}&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:Enib2023]]&lt;/div&gt;</summary>
		<author><name>Romain Fauvel</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2023_:_Salade_d%27Enigmes&amp;diff=22108</id>
		<title>ENIB 2023 : Salade d'Enigmes</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2023_:_Salade_d%27Enigmes&amp;diff=22108"/>
				<updated>2023-01-26T14:52:16Z</updated>
		
		<summary type="html">&lt;p&gt;Romain Fauvel : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==photo de l'équipe==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:PhotoDeMoi.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
Ce projet est une combinaison de 4 énigmes.&lt;br /&gt;
==Liste des parties==&lt;br /&gt;
&lt;br /&gt;
* Partie 1 Tableau périodique :&lt;br /&gt;
&lt;br /&gt;
Le but était de sélectionner 2 valeurs grâce à un potentiomètre. Ces valeurs se devinaient grâce à deux matériaux coller sur la plaque et leur nombre atomique trouvé sur le tableau périodique&lt;br /&gt;
&lt;br /&gt;
[[Fichier:EnigmeTableauPeriodiqueV2.jpg|vignette]]&lt;br /&gt;
&lt;br /&gt;
* Partie 2 Corde César&lt;br /&gt;
&lt;br /&gt;
[[Fichier:CodeCesarV2.jpg|vignette]]&lt;br /&gt;
&lt;br /&gt;
* Partie 3 Code Morse&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MorseEtSelectionReponseV2.jpg|vignette]]&lt;br /&gt;
&lt;br /&gt;
*Partie 4 labyrinthe&lt;br /&gt;
&lt;br /&gt;
[[Fichier:LabyrintheV2.jpg|vignette]]&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Code pour la partie Tableau périodique (Il y a une librairie à télécharger) :&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;SPI.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Wire.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Adafruit_GFX.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Adafruit_SSD1306.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define SCREEN_WIDTH 128 // OLED display width, in pixels&lt;br /&gt;
#define SCREEN_HEIGHT 64 // OLED display height, in pixels&lt;br /&gt;
#define valPotReader A0&lt;br /&gt;
#define buttonPer D8&lt;br /&gt;
#define Win D7&lt;br /&gt;
&lt;br /&gt;
#define OLED_RESET     -1 // Reset pin # (or -1 if sharing Arduino reset pin)&lt;br /&gt;
#define SCREEN_ADDRESS 0x3C ///&amp;lt; See datasheet for Address; 0x3D for 128x64, 0x3C for 128x32&lt;br /&gt;
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &amp;amp;Wire, OLED_RESET);&lt;br /&gt;
&lt;br /&gt;
int valPot;&lt;br /&gt;
int pos=0;&lt;br /&gt;
int resultPer[2]={0,0};&lt;br /&gt;
int solPer[2] = {29,13};&lt;br /&gt;
bool buttonPerState=0;&lt;br /&gt;
bool prevButtonPerState=0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
&lt;br /&gt;
  pinMode(valPotReader,INPUT);&lt;br /&gt;
  pinMode(buttonPer,INPUT);&lt;br /&gt;
  pinMode(Win,OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  // SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally&lt;br /&gt;
  if(!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) {&lt;br /&gt;
    Serial.println(F(&amp;quot;SSD1306 allocation failed&amp;quot;));&lt;br /&gt;
    for(;;); // Don't proceed, loop forever&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Show initial display buffer contents on the screen --&lt;br /&gt;
  // the library initializes this with an Adafruit splash screen.&lt;br /&gt;
  display.display();&lt;br /&gt;
  delay(2000); // Pause for 2 seconds&lt;br /&gt;
&lt;br /&gt;
  // Clear the buffer&lt;br /&gt;
  display.clearDisplay();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
  valPot=round((float(analogRead(valPotReader))/1024)*118);&lt;br /&gt;
  show();&lt;br /&gt;
  if(isPressed()){&lt;br /&gt;
    Serial.println(&amp;quot;oui&amp;quot;);&lt;br /&gt;
    int i = pos%2;&lt;br /&gt;
    pos=pos+1;&lt;br /&gt;
    resultPer[i]=valPot;&lt;br /&gt;
    show();&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
  Serial.println((resultPer[0]==solPer[0] &amp;amp;&amp;amp; resultPer[1]==solPer[1]));&lt;br /&gt;
&lt;br /&gt;
  if(resultPer[0]==solPer[0] &amp;amp;&amp;amp; resultPer[1]==solPer[1])&lt;br /&gt;
  {&lt;br /&gt;
    Serial.print(&amp;quot;Win&amp;quot;);&lt;br /&gt;
    digitalWrite(Win,HIGH);&lt;br /&gt;
  }else{digitalWrite(Win,LOW);}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void show(){&lt;br /&gt;
  display.clearDisplay();&lt;br /&gt;
  display.setTextSize(4);&lt;br /&gt;
  display.setTextColor(SSD1306_WHITE);&lt;br /&gt;
  display.setCursor(16,16); &lt;br /&gt;
  display.print(valPot);&lt;br /&gt;
&lt;br /&gt;
  display.setTextSize(1);&lt;br /&gt;
  display.setCursor(80,53); &lt;br /&gt;
  display.print(resultPer[0]);&lt;br /&gt;
  display.print('|');&lt;br /&gt;
  display.print(resultPer[1]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  display.display();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
bool isPressed(){&lt;br /&gt;
   buttonPerState=digitalRead(buttonPer);&lt;br /&gt;
&lt;br /&gt;
  if(prevButtonPerState==0 &amp;amp;&amp;amp; buttonPerState==1){&lt;br /&gt;
    prevButtonPerState=buttonPerState;&lt;br /&gt;
    return 1;&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    prevButtonPerState=buttonPerState;&lt;br /&gt;
    return 0;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////&lt;br /&gt;
&lt;br /&gt;
Code pour sélection de la réponse (Rouge ou Vert ou Bleu) :&lt;br /&gt;
&lt;br /&gt;
#define r1_pin 13 &lt;br /&gt;
#define b1_pin 12&lt;br /&gt;
#define g1_pin 11&lt;br /&gt;
#define bp0 4&lt;br /&gt;
&lt;br /&gt;
#define r2_pin 10 &lt;br /&gt;
#define b2_pin 9&lt;br /&gt;
#define g2_pin 8&lt;br /&gt;
#define bp2 3&lt;br /&gt;
&lt;br /&gt;
#define r3_pin 7&lt;br /&gt;
#define b3_pin 6&lt;br /&gt;
#define g3_pin 5&lt;br /&gt;
#define bp3 2&lt;br /&gt;
&lt;br /&gt;
#define validation A0&lt;br /&gt;
&lt;br /&gt;
unsigned long previousMillis = 0;     &lt;br /&gt;
unsigned long previousMillis2 = 0;        &lt;br /&gt;
int i =0;&lt;br /&gt;
&lt;br /&gt;
int val1 =0;&lt;br /&gt;
int val2 =0;&lt;br /&gt;
int val3 =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;
byte table[7] = {COLOR_RED,COLOR_GREEN,COLOR_BLUE,COLOR_MAGENTA,COLOR_CYAN,COLOR_YELLOW,COLOR_WHITE};&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(b1_pin, OUTPUT);&lt;br /&gt;
  pinMode(g1_pin, OUTPUT);&lt;br /&gt;
  pinMode(r1_pin, OUTPUT);&lt;br /&gt;
  pinMode(bp0, INPUT);&lt;br /&gt;
&lt;br /&gt;
  pinMode(b2_pin, OUTPUT);&lt;br /&gt;
  pinMode(g2_pin, OUTPUT);&lt;br /&gt;
  pinMode(r2_pin, OUTPUT);&lt;br /&gt;
  pinMode(bp2, INPUT);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  pinMode(b3_pin, OUTPUT);&lt;br /&gt;
  pinMode(g3_pin, OUTPUT);&lt;br /&gt;
  pinMode(r3_pin, OUTPUT);&lt;br /&gt;
  pinMode(bp3, INPUT);&lt;br /&gt;
  pinMode(validation, INPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void displayColor1(byte color) {&lt;br /&gt;
&lt;br /&gt;
  // Version anode commune&lt;br /&gt;
  digitalWrite(r1_pin, !bitRead(color, 2));&lt;br /&gt;
  digitalWrite(g1_pin, !bitRead(color, 1));&lt;br /&gt;
  digitalWrite(b1_pin, !bitRead(color, 0));&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void displayColor2(byte color) {&lt;br /&gt;
&lt;br /&gt;
  // Version anode commune&lt;br /&gt;
  digitalWrite(r2_pin, !bitRead(color, 2));&lt;br /&gt;
  digitalWrite(g2_pin, !bitRead(color, 1));&lt;br /&gt;
  digitalWrite(b2_pin, !bitRead(color, 0));&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void displayColor3(byte color) {&lt;br /&gt;
&lt;br /&gt;
  // Version anode commune&lt;br /&gt;
  digitalWrite(r3_pin, !bitRead(color, 2));&lt;br /&gt;
  digitalWrite(g3_pin, !bitRead(color, 1));&lt;br /&gt;
  digitalWrite(b3_pin, !bitRead(color, 0));&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
 // displayColor1(table[1]);&lt;br /&gt;
if( digitalRead(bp0) &amp;amp;&amp;amp; millis() - previousMillis2 &amp;gt; 1000 )&lt;br /&gt;
{&lt;br /&gt;
 &lt;br /&gt;
  displayColor1(table[i]);&lt;br /&gt;
   i=i+1;&lt;br /&gt;
   previousMillis2 = millis();&lt;br /&gt;
   if (table[i] == COLOR_BLUE)&lt;br /&gt;
   {&lt;br /&gt;
    Serial.println(&amp;quot;labyrinthe ok&amp;quot;);&lt;br /&gt;
    val1 = 1;&lt;br /&gt;
   }&lt;br /&gt;
  &lt;br /&gt;
  if( i &amp;gt;= 7)&lt;br /&gt;
  {&lt;br /&gt;
    i= 0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
if( digitalRead(bp2) &amp;amp;&amp;amp; millis() - previousMillis2 &amp;gt; 1000 )&lt;br /&gt;
{&lt;br /&gt;
 &lt;br /&gt;
  displayColor2(table[i]);&lt;br /&gt;
   i=i+1;&lt;br /&gt;
   previousMillis2 = millis();&lt;br /&gt;
   &lt;br /&gt;
   if (table[i]== COLOR_GREEN)&lt;br /&gt;
   {&lt;br /&gt;
    Serial.println(&amp;quot;cesar ok&amp;quot;);&lt;br /&gt;
    val2=1;&lt;br /&gt;
   }&lt;br /&gt;
  if( i &amp;gt;= 7)&lt;br /&gt;
  {&lt;br /&gt;
    i= 0;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if( digitalRead(bp3) &amp;amp;&amp;amp; millis() - previousMillis2 &amp;gt; 1000 )&lt;br /&gt;
{&lt;br /&gt;
 &lt;br /&gt;
  displayColor3(table[i]);&lt;br /&gt;
   i=i+1;&lt;br /&gt;
   previousMillis2 = millis();&lt;br /&gt;
&lt;br /&gt;
    if (table[i]== COLOR_CYAN)&lt;br /&gt;
   {&lt;br /&gt;
    Serial.println(&amp;quot;periodique ok&amp;quot;);&lt;br /&gt;
    val3 = 1;&lt;br /&gt;
   }&lt;br /&gt;
  &lt;br /&gt;
  if( i &amp;gt;= 7)&lt;br /&gt;
  {&lt;br /&gt;
    i= 0;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if( val1 &amp;amp;&amp;amp; val2 &amp;amp;&amp;amp; val3)&lt;br /&gt;
{&lt;br /&gt;
   displayColor1(COLOR_BLUE);&lt;br /&gt;
   displayColor2(COLOR_BLUE);&lt;br /&gt;
   displayColor3(COLOR_BLUE);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if(val1 &amp;amp;&amp;amp; val2 &amp;amp;&amp;amp; val3 &amp;amp;&amp;amp; (bp0 || bp2 || bp3))&lt;br /&gt;
{&lt;br /&gt;
 &lt;br /&gt;
   val1 = 0;&lt;br /&gt;
   val2 = 0;&lt;br /&gt;
   val3 = 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (analogRead(validation) == 1)&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;morse ok&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/////////////////////////////////////////////////////////////////////////////////////&lt;br /&gt;
&lt;br /&gt;
Code pour le Morse :&lt;br /&gt;
&lt;br /&gt;
Heikosen&lt;br /&gt;
#8963&lt;br /&gt;
&lt;br /&gt;
Heikosen — 21/01/2023 10:44&lt;br /&gt;
comment ca s'est passé ton date fast food&lt;br /&gt;
?&lt;br /&gt;
Rom1_Cl — 21/01/2023 12:14&lt;br /&gt;
C'était cool bonne ambiance&lt;br /&gt;
Après je pense pas que c'était un date vraiment&lt;br /&gt;
Heikosen — 21/01/2023 12:18&lt;br /&gt;
bizarre&lt;br /&gt;
meme avec des amis proches on ne propose pas de sortir comme ca en tete a tete&lt;br /&gt;
Rom1_Cl — 21/01/2023 12:19&lt;br /&gt;
Ouai bah jsp&lt;br /&gt;
Après c'était peut être juste pour reprendre contact&lt;br /&gt;
Heikosen — 21/01/2023 12:20&lt;br /&gt;
enfin, c'est pas grave chacuns ses bizarreries&lt;br /&gt;
Rom1_Cl — 21/01/2023 12:20&lt;br /&gt;
Après on est allé sur la plage au minou&lt;br /&gt;
Mdr&lt;br /&gt;
Et boire un verre&lt;br /&gt;
Heikosen — 21/01/2023 12:20&lt;br /&gt;
mdr &lt;br /&gt;
c'est pas une pote de Maiwenn pour rien&lt;br /&gt;
Rom1_Cl — 21/01/2023 12:20&lt;br /&gt;
Mdrrrrr&lt;br /&gt;
Tkt&lt;br /&gt;
En tout cas c'était sympa&lt;br /&gt;
Heikosen — 21/01/2023 12:21&lt;br /&gt;
👍&lt;br /&gt;
jsp si je viendrai ce soir&lt;br /&gt;
a la limite ptet juste au début&lt;br /&gt;
Rom1_Cl — 21/01/2023 12:33&lt;br /&gt;
Okay, de toute manière ça sera tranquille je pense&lt;br /&gt;
Rom1_Cl — 21/01/2023 13:48&lt;br /&gt;
On va escalade cet aprem stuv&lt;br /&gt;
Heikosen — 21/01/2023 13:48&lt;br /&gt;
peux pas dsl&lt;br /&gt;
Rom1_Cl — 21/01/2023 13:48&lt;br /&gt;
Je vais d'ailleurs passer choper mes affaires&lt;br /&gt;
Ok&lt;br /&gt;
Rom1_Cl — 22/01/2023 11:55&lt;br /&gt;
Y'a valentin lagadec qui demande s'il peut venir tourner son film à l'appart mardi soir ?&lt;br /&gt;
Heikosen — 22/01/2023 11:55&lt;br /&gt;
pas de prob&lt;br /&gt;
Rom1_Cl — 24/01/2023 20:41&lt;br /&gt;
c'est bon j'ai envoyé à ton père&lt;br /&gt;
Rom1_Cl — Hier à 11:19&lt;br /&gt;
https://arduino.esp8266.com/stable/package_esp8266com_index.json&lt;br /&gt;
Rom1_Cl — Hier à 14:30&lt;br /&gt;
#define green D2&lt;br /&gt;
#define b D1&lt;br /&gt;
#define g D3&lt;br /&gt;
#define r D4&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
pinMode(LED_BUILTIN, OUTPUT);&lt;br /&gt;
Serial.begin(9600);&lt;br /&gt;
pinMode(green, OUTPUT);&lt;br /&gt;
pinMode(b, OUTPUT);&lt;br /&gt;
pinMode(g, OUTPUT);&lt;br /&gt;
pinMode(r, OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
&lt;br /&gt;
}/&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
&lt;br /&gt;
   digitalWrite(LED_BUILTIN, LOW);   // Arduino: turn the LED on (HIGH)&lt;br /&gt;
   digitalWrite(green, LOW);&lt;br /&gt;
&lt;br /&gt;
   digitalWrite(b, HIGH);&lt;br /&gt;
   digitalWrite(r, LOW);&lt;br /&gt;
   digitalWrite(g, LOW);&lt;br /&gt;
&lt;br /&gt;
   Serial.println(&amp;quot;low&amp;quot;);&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   digitalWrite(LED_BUILTIN, HIGH);   // Arduino: turn the LED on (HIGH)&lt;br /&gt;
   digitalWrite(green, HIGH);&lt;br /&gt;
&lt;br /&gt;
   digitalWrite(b, HIGH);&lt;br /&gt;
   digitalWrite(r, HIGH);&lt;br /&gt;
   digitalWrite(g, HIGH);&lt;br /&gt;
&lt;br /&gt;
   Serial.println(&amp;quot;high&amp;quot;);&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   //digitalWrite(D4, LOW);&lt;br /&gt;
   //digitalWrite(BLU, HIGH);&lt;br /&gt;
 &lt;br /&gt;
   //delay(1000);&lt;br /&gt;
   //digitalWrite(green, LOW);&lt;br /&gt;
&lt;br /&gt;
  / digitalWrite(GND, LOW);&lt;br /&gt;
   //digitalWrite(RED, LOW);&lt;br /&gt;
   //digitalWrite(GRN, HIGH);&lt;br /&gt;
   //digitalWrite(BLU, LOW);&lt;br /&gt;
 &lt;br /&gt;
   delay(1000);&lt;br /&gt;
 Serial.println(&amp;quot;test&amp;quot;);&lt;br /&gt;
 digitalWrite(GND, HIGH);&lt;br /&gt;
  // digitalWrite(RED, LOW);&lt;br /&gt;
  //// digitalWrite(GRN, LOW);&lt;br /&gt;
  // digitalWrite(BLU, HIGH);&lt;br /&gt;
 &lt;br /&gt;
   delay(1000);*/&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
Rom1_Cl — Hier à 20:14&lt;br /&gt;
https://www.sound-fishing.net/bruitages_horreur.html&lt;br /&gt;
Bruitages horreur | Sound-Fishing&lt;br /&gt;
Sonothèque de bruitages d'horreur originaux et de sons gores à télécharger au format WAV et MP3.&lt;br /&gt;
Rom1_Cl — Hier à 21:42&lt;br /&gt;
https://pixabay.com/fr/videos/pleine-lune-nuit-effrayant-les-bois-11721/&lt;br /&gt;
Vidéo gratuite - Pleine Lune, Nuit, Effrayant&lt;br /&gt;
Vidéo gratuite - Pleine Lune, Nuit, Effrayant&lt;br /&gt;
c'est libre de droit&lt;br /&gt;
https://pixabay.com/fr/videos/for%C3%AAt-des-arbres-compensation-7265/&lt;br /&gt;
Vidéo gratuite - Forêt, Des Arbres, Compensation&lt;br /&gt;
Vidéo gratuite - Forêt, Des Arbres, Compensation&lt;br /&gt;
https://pixabay.com/fr/videos/lune-clair-de-lune-nuit-pleine-lune-7093/&lt;br /&gt;
Vidéo gratuite - Lune, Clair De Lune, Nuit&lt;br /&gt;
Vidéo gratuite - Lune, Clair De Lune, Nuit&lt;br /&gt;
c'est pas mal&lt;br /&gt;
le site est libre de droit&lt;br /&gt;
Image&lt;br /&gt;
tu en penses quoi?&lt;br /&gt;
Heikosen — Hier à 21:47&lt;br /&gt;
j'aime bien la premiere&lt;br /&gt;
Rom1_Cl — Hier à 21:47&lt;br /&gt;
nice&lt;br /&gt;
Heikosen — Hier à 21:47&lt;br /&gt;
après je trouve rien d'autre d'utilisable&lt;br /&gt;
Rom1_Cl — Hier à 21:48&lt;br /&gt;
okay bah comme tu veux &lt;br /&gt;
c'est vrais que la première es tbien&lt;br /&gt;
elle est en 1080p je viens de la dl &lt;br /&gt;
c'est good&lt;br /&gt;
Rom1_Cl — Aujourd’hui à 15:33&lt;br /&gt;
#define r1_pin 13 &lt;br /&gt;
#define b1_pin 12&lt;br /&gt;
#define g1_pin 11&lt;br /&gt;
#define bp0 4&lt;br /&gt;
&lt;br /&gt;
#define r2_pin 10 &lt;br /&gt;
#define b2_pin 9&lt;br /&gt;
#define g2_pin 8&lt;br /&gt;
#define bp2 3&lt;br /&gt;
&lt;br /&gt;
#define r3_pin 7&lt;br /&gt;
#define b3_pin 6&lt;br /&gt;
#define g3_pin 5&lt;br /&gt;
#define bp3 2&lt;br /&gt;
&lt;br /&gt;
#define validation A0&lt;br /&gt;
&lt;br /&gt;
unsigned long previousMillis = 0;     &lt;br /&gt;
unsigned long previousMillis2 = 0;        &lt;br /&gt;
int i =0;&lt;br /&gt;
&lt;br /&gt;
int val1 =0;&lt;br /&gt;
int val2 =0;&lt;br /&gt;
int val3 =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;
byte table[7] = {COLOR_RED,COLOR_GREEN,COLOR_BLUE,COLOR_MAGENTA,COLOR_CYAN,COLOR_YELLOW,COLOR_WHITE};&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(b1_pin, OUTPUT);&lt;br /&gt;
  pinMode(g1_pin, OUTPUT);&lt;br /&gt;
  pinMode(r1_pin, OUTPUT);&lt;br /&gt;
  pinMode(bp0, INPUT);&lt;br /&gt;
&lt;br /&gt;
  pinMode(b2_pin, OUTPUT);&lt;br /&gt;
  pinMode(g2_pin, OUTPUT);&lt;br /&gt;
  pinMode(r2_pin, OUTPUT);&lt;br /&gt;
  pinMode(bp2, INPUT);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  pinMode(b3_pin, OUTPUT);&lt;br /&gt;
  pinMode(g3_pin, OUTPUT);&lt;br /&gt;
  pinMode(r3_pin, OUTPUT);&lt;br /&gt;
  pinMode(bp3, INPUT);&lt;br /&gt;
  pinMode(validation, INPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void displayColor1(byte color) {&lt;br /&gt;
&lt;br /&gt;
  // Version anode commune&lt;br /&gt;
  digitalWrite(r1_pin, !bitRead(color, 2));&lt;br /&gt;
  digitalWrite(g1_pin, !bitRead(color, 1));&lt;br /&gt;
  digitalWrite(b1_pin, !bitRead(color, 0));&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void displayColor2(byte color) {&lt;br /&gt;
&lt;br /&gt;
  // Version anode commune&lt;br /&gt;
  digitalWrite(r2_pin, !bitRead(color, 2));&lt;br /&gt;
  digitalWrite(g2_pin, !bitRead(color, 1));&lt;br /&gt;
  digitalWrite(b2_pin, !bitRead(color, 0));&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void displayColor3(byte color) {&lt;br /&gt;
&lt;br /&gt;
  // Version anode commune&lt;br /&gt;
  digitalWrite(r3_pin, !bitRead(color, 2));&lt;br /&gt;
  digitalWrite(g3_pin, !bitRead(color, 1));&lt;br /&gt;
  digitalWrite(b3_pin, !bitRead(color, 0));&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
 // displayColor1(table[1]);&lt;br /&gt;
if( digitalRead(bp0) &amp;amp;&amp;amp; millis() - previousMillis2 &amp;gt; 1000 )&lt;br /&gt;
{&lt;br /&gt;
 &lt;br /&gt;
  displayColor1(table[i]);&lt;br /&gt;
   i=i+1;&lt;br /&gt;
   previousMillis2 = millis();&lt;br /&gt;
   if (table[i] == COLOR_BLUE)&lt;br /&gt;
   {&lt;br /&gt;
    Serial.println(&amp;quot;labyrinthe ok&amp;quot;);&lt;br /&gt;
    val1 = 1;&lt;br /&gt;
   }&lt;br /&gt;
  &lt;br /&gt;
  if( i &amp;gt;= 7)&lt;br /&gt;
  {&lt;br /&gt;
    i= 0;&lt;br /&gt;
  }&lt;br /&gt;
... (63 lignes restantes)&lt;br /&gt;
Réduire&lt;br /&gt;
message.txt&lt;br /&gt;
3 Ko&lt;br /&gt;
code 1&lt;br /&gt;
#define morse_pin D2&lt;br /&gt;
#define b_pin D1 &lt;br /&gt;
#define g_pin D3&lt;br /&gt;
#define r_pin D4&lt;br /&gt;
#define bp1 D5&lt;br /&gt;
#define val A0&lt;br /&gt;
Afficher plus&lt;br /&gt;
message.txt&lt;br /&gt;
3 Ko&lt;br /&gt;
code 2&lt;br /&gt;
﻿&lt;br /&gt;
Rom1_Cl#7847&lt;br /&gt;
#define morse_pin D2&lt;br /&gt;
#define b_pin D1 &lt;br /&gt;
#define g_pin D3&lt;br /&gt;
#define r_pin D4&lt;br /&gt;
#define bp1 D5&lt;br /&gt;
#define val A0&lt;br /&gt;
&lt;br /&gt;
unsigned long previousMillis = 0;     &lt;br /&gt;
unsigned long previousMillis2 = 0;        &lt;br /&gt;
int i =0;&lt;br /&gt;
    &lt;br /&gt;
/* Couleurs (format RGB) */&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;
byte table[7] = {COLOR_RED,COLOR_GREEN,COLOR_BLUE,COLOR_MAGENTA,COLOR_CYAN,COLOR_YELLOW,COLOR_WHITE};&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
Serial.begin(9600);&lt;br /&gt;
pinMode(morse_pin, OUTPUT);&lt;br /&gt;
pinMode(b_pin, OUTPUT);&lt;br /&gt;
pinMode(g_pin, OUTPUT);&lt;br /&gt;
pinMode(r_pin, OUTPUT);&lt;br /&gt;
pinMode(bp1, INPUT);&lt;br /&gt;
pinMode(val, OUTPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// ##########################################################################Switch Color)&lt;br /&gt;
void displayColor(byte color) {&lt;br /&gt;
&lt;br /&gt;
  // Version anode commune&lt;br /&gt;
  digitalWrite(r_pin, !bitRead(color, 2));&lt;br /&gt;
  digitalWrite(g_pin, !bitRead(color, 1));&lt;br /&gt;
  digitalWrite(b_pin, !bitRead(color, 0));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
// ##########################################################################blue victory (Morse Switch)&lt;br /&gt;
&lt;br /&gt;
  if ( (0 &amp;lt;  millis()-previousMillis) &amp;amp;&amp;amp;  (millis()-previousMillis&amp;lt; 3000) ){&lt;br /&gt;
    digitalWrite(morse_pin, HIGH);&lt;br /&gt;
   &lt;br /&gt;
  }&lt;br /&gt;
  if ( ( 3000 &amp;lt;  millis()-previousMillis) &amp;amp;&amp;amp;  (millis()-previousMillis&amp;lt; 3500) ){&lt;br /&gt;
    digitalWrite(morse_pin, LOW);&lt;br /&gt;
  }&lt;br /&gt;
  if ( (3500  &amp;lt;  millis()-previousMillis) &amp;amp;&amp;amp;  (millis()-previousMillis&amp;lt;4000) ){&lt;br /&gt;
    digitalWrite(morse_pin, HIGH);&lt;br /&gt;
  &lt;br /&gt;
  }&lt;br /&gt;
  if ( (4000 &amp;lt;  millis()-previousMillis) &amp;amp;&amp;amp;  (millis()-previousMillis&amp;lt; 4500) ){&lt;br /&gt;
    digitalWrite(morse_pin, LOW);&lt;br /&gt;
  &lt;br /&gt;
  }&lt;br /&gt;
  if ( (4500 &amp;lt;  millis()-previousMillis) &amp;amp;&amp;amp;  (millis()-previousMillis&amp;lt; 5000) ){&lt;br /&gt;
    digitalWrite(morse_pin, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
  if ( (5000 &amp;lt;  millis()-previousMillis) &amp;amp;&amp;amp;  (millis()-previousMillis&amp;lt; 5500) ){&lt;br /&gt;
    digitalWrite(morse_pin, LOW);&lt;br /&gt;
  }&lt;br /&gt;
  if ( (5500 &amp;lt;  millis()-previousMillis) &amp;amp;&amp;amp;  (millis()-previousMillis&amp;lt; 6000) ){&lt;br /&gt;
    digitalWrite(morse_pin, HIGH);&lt;br /&gt;
  }&lt;br /&gt;
  if ( (6000 &amp;lt;  millis()-previousMillis) &amp;amp;&amp;amp;  (millis()-previousMillis&amp;lt; 6500)){&lt;br /&gt;
    digitalWrite(morse_pin, LOW);&lt;br /&gt;
  }&lt;br /&gt;
    &lt;br /&gt;
  if (millis()-previousMillis &amp;gt; 8000){&lt;br /&gt;
&lt;br /&gt;
    previousMillis = millis();&lt;br /&gt;
  } &lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
// ##########################################################################blue victory (button Color)&lt;br /&gt;
if( digitalRead(bp1) &amp;amp;&amp;amp; millis() - previousMillis2 &amp;gt; 1000 )&lt;br /&gt;
{&lt;br /&gt;
 &lt;br /&gt;
  displayColor(table[i]);&lt;br /&gt;
   i=i+1;&lt;br /&gt;
   previousMillis2 = millis();&lt;br /&gt;
   &lt;br /&gt;
   if (table[i]== COLOR_GREEN)&lt;br /&gt;
   {&lt;br /&gt;
     Serial.println(&amp;quot;morse okkkkkkk&amp;quot;);&lt;br /&gt;
     analogWrite(val, HIGH);&lt;br /&gt;
     &lt;br /&gt;
   }&lt;br /&gt;
  &lt;br /&gt;
  if( i &amp;gt;= 7)&lt;br /&gt;
  {&lt;br /&gt;
    i= 0;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
  &lt;br /&gt;
}&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:Enib2023]]&lt;/div&gt;</summary>
		<author><name>Romain Fauvel</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2023_:_Salade_d%27Enigmes&amp;diff=22104</id>
		<title>ENIB 2023 : Salade d'Enigmes</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2023_:_Salade_d%27Enigmes&amp;diff=22104"/>
				<updated>2023-01-26T14:48:37Z</updated>
		
		<summary type="html">&lt;p&gt;Romain Fauvel : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==photo de l'équipe==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:PhotoDeMoi.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
Ce projet est une combinaison de 4 énigmes.&lt;br /&gt;
==Liste des parties==&lt;br /&gt;
&lt;br /&gt;
* Partie 1 Tableau périodique :&lt;br /&gt;
&lt;br /&gt;
Le but était de sélectionner 2 valeurs grâce à un potentiomètre. Ces valeurs se devinaient grâce à deux matériaux coller sur la plaque et leur nombre atomique trouvé sur le tableau périodique&lt;br /&gt;
&lt;br /&gt;
[[Fichier:EnigmeTableauPeriodiqueV2.jpg|vignette]]&lt;br /&gt;
&lt;br /&gt;
* Partie 2 Corde César&lt;br /&gt;
&lt;br /&gt;
[[Fichier:CodeCesarV2.jpg|vignette]]&lt;br /&gt;
&lt;br /&gt;
* Partie 3 Code Morse&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MorseEtSelectionReponseV2.jpg|vignette]]&lt;br /&gt;
&lt;br /&gt;
*Partie 4 labyrinthe&lt;br /&gt;
&lt;br /&gt;
[[Fichier:LabyrintheV2.jpg|vignette]]&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Code pour la partie Tableau périodique (Il y a une librairie à télécharger) :&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;SPI.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Wire.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Adafruit_GFX.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Adafruit_SSD1306.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define SCREEN_WIDTH 128 // OLED display width, in pixels&lt;br /&gt;
#define SCREEN_HEIGHT 64 // OLED display height, in pixels&lt;br /&gt;
#define valPotReader A0&lt;br /&gt;
#define buttonPer D8&lt;br /&gt;
#define Win D7&lt;br /&gt;
&lt;br /&gt;
#define OLED_RESET     -1 // Reset pin # (or -1 if sharing Arduino reset pin)&lt;br /&gt;
#define SCREEN_ADDRESS 0x3C ///&amp;lt; See datasheet for Address; 0x3D for 128x64, 0x3C for 128x32&lt;br /&gt;
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &amp;amp;Wire, OLED_RESET);&lt;br /&gt;
&lt;br /&gt;
int valPot;&lt;br /&gt;
int pos=0;&lt;br /&gt;
int resultPer[2]={0,0};&lt;br /&gt;
int solPer[2] = {29,13};&lt;br /&gt;
bool buttonPerState=0;&lt;br /&gt;
bool prevButtonPerState=0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
&lt;br /&gt;
  pinMode(valPotReader,INPUT);&lt;br /&gt;
  pinMode(buttonPer,INPUT);&lt;br /&gt;
  pinMode(Win,OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  // SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally&lt;br /&gt;
  if(!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) {&lt;br /&gt;
    Serial.println(F(&amp;quot;SSD1306 allocation failed&amp;quot;));&lt;br /&gt;
    for(;;); // Don't proceed, loop forever&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Show initial display buffer contents on the screen --&lt;br /&gt;
  // the library initializes this with an Adafruit splash screen.&lt;br /&gt;
  display.display();&lt;br /&gt;
  delay(2000); // Pause for 2 seconds&lt;br /&gt;
&lt;br /&gt;
  // Clear the buffer&lt;br /&gt;
  display.clearDisplay();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
  valPot=round((float(analogRead(valPotReader))/1024)*118);&lt;br /&gt;
  show();&lt;br /&gt;
  if(isPressed()){&lt;br /&gt;
    Serial.println(&amp;quot;oui&amp;quot;);&lt;br /&gt;
    int i = pos%2;&lt;br /&gt;
    pos=pos+1;&lt;br /&gt;
    resultPer[i]=valPot;&lt;br /&gt;
    show();&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
  Serial.println((resultPer[0]==solPer[0] &amp;amp;&amp;amp; resultPer[1]==solPer[1]));&lt;br /&gt;
&lt;br /&gt;
  if(resultPer[0]==solPer[0] &amp;amp;&amp;amp; resultPer[1]==solPer[1])&lt;br /&gt;
  {&lt;br /&gt;
    Serial.print(&amp;quot;Win&amp;quot;);&lt;br /&gt;
    digitalWrite(Win,HIGH);&lt;br /&gt;
  }else{digitalWrite(Win,LOW);}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void show(){&lt;br /&gt;
  display.clearDisplay();&lt;br /&gt;
  display.setTextSize(4);&lt;br /&gt;
  display.setTextColor(SSD1306_WHITE);&lt;br /&gt;
  display.setCursor(16,16); &lt;br /&gt;
  display.print(valPot);&lt;br /&gt;
&lt;br /&gt;
  display.setTextSize(1);&lt;br /&gt;
  display.setCursor(80,53); &lt;br /&gt;
  display.print(resultPer[0]);&lt;br /&gt;
  display.print('|');&lt;br /&gt;
  display.print(resultPer[1]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  display.display();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
bool isPressed(){&lt;br /&gt;
   buttonPerState=digitalRead(buttonPer);&lt;br /&gt;
&lt;br /&gt;
  if(prevButtonPerState==0 &amp;amp;&amp;amp; buttonPerState==1){&lt;br /&gt;
    prevButtonPerState=buttonPerState;&lt;br /&gt;
    return 1;&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    prevButtonPerState=buttonPerState;&lt;br /&gt;
    return 0;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////&lt;br /&gt;
&lt;br /&gt;
Code pour sélection de la réponse (Rouge ou Vert ou Bleu) :&lt;br /&gt;
&lt;br /&gt;
#define r1_pin 13 &lt;br /&gt;
#define b1_pin 12&lt;br /&gt;
#define g1_pin 11&lt;br /&gt;
#define bp0 4&lt;br /&gt;
&lt;br /&gt;
#define r2_pin 10 &lt;br /&gt;
#define b2_pin 9&lt;br /&gt;
#define g2_pin 8&lt;br /&gt;
#define bp2 3&lt;br /&gt;
&lt;br /&gt;
#define r3_pin 7&lt;br /&gt;
#define b3_pin 6&lt;br /&gt;
#define g3_pin 5&lt;br /&gt;
#define bp3 2&lt;br /&gt;
&lt;br /&gt;
#define validation A0&lt;br /&gt;
&lt;br /&gt;
unsigned long previousMillis = 0;     &lt;br /&gt;
unsigned long previousMillis2 = 0;        &lt;br /&gt;
int i =0;&lt;br /&gt;
&lt;br /&gt;
int val1 =0;&lt;br /&gt;
int val2 =0;&lt;br /&gt;
int val3 =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;
byte table[7] = {COLOR_RED,COLOR_GREEN,COLOR_BLUE,COLOR_MAGENTA,COLOR_CYAN,COLOR_YELLOW,COLOR_WHITE};&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
  pinMode(b1_pin, OUTPUT);&lt;br /&gt;
  pinMode(g1_pin, OUTPUT);&lt;br /&gt;
  pinMode(r1_pin, OUTPUT);&lt;br /&gt;
  pinMode(bp0, INPUT);&lt;br /&gt;
&lt;br /&gt;
  pinMode(b2_pin, OUTPUT);&lt;br /&gt;
  pinMode(g2_pin, OUTPUT);&lt;br /&gt;
  pinMode(r2_pin, OUTPUT);&lt;br /&gt;
  pinMode(bp2, INPUT);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  pinMode(b3_pin, OUTPUT);&lt;br /&gt;
  pinMode(g3_pin, OUTPUT);&lt;br /&gt;
  pinMode(r3_pin, OUTPUT);&lt;br /&gt;
  pinMode(bp3, INPUT);&lt;br /&gt;
  pinMode(validation, INPUT);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void displayColor1(byte color) {&lt;br /&gt;
&lt;br /&gt;
  // Version anode commune&lt;br /&gt;
  digitalWrite(r1_pin, !bitRead(color, 2));&lt;br /&gt;
  digitalWrite(g1_pin, !bitRead(color, 1));&lt;br /&gt;
  digitalWrite(b1_pin, !bitRead(color, 0));&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void displayColor2(byte color) {&lt;br /&gt;
&lt;br /&gt;
  // Version anode commune&lt;br /&gt;
  digitalWrite(r2_pin, !bitRead(color, 2));&lt;br /&gt;
  digitalWrite(g2_pin, !bitRead(color, 1));&lt;br /&gt;
  digitalWrite(b2_pin, !bitRead(color, 0));&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void displayColor3(byte color) {&lt;br /&gt;
&lt;br /&gt;
  // Version anode commune&lt;br /&gt;
  digitalWrite(r3_pin, !bitRead(color, 2));&lt;br /&gt;
  digitalWrite(g3_pin, !bitRead(color, 1));&lt;br /&gt;
  digitalWrite(b3_pin, !bitRead(color, 0));&lt;br /&gt;
  &lt;br /&gt;
}&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
 // displayColor1(table[1]);&lt;br /&gt;
if( digitalRead(bp0) &amp;amp;&amp;amp; millis() - previousMillis2 &amp;gt; 1000 )&lt;br /&gt;
{&lt;br /&gt;
 &lt;br /&gt;
  displayColor1(table[i]);&lt;br /&gt;
   i=i+1;&lt;br /&gt;
   previousMillis2 = millis();&lt;br /&gt;
   if (table[i] == COLOR_BLUE)&lt;br /&gt;
   {&lt;br /&gt;
    Serial.println(&amp;quot;labyrinthe ok&amp;quot;);&lt;br /&gt;
    val1 = 1;&lt;br /&gt;
   }&lt;br /&gt;
  &lt;br /&gt;
  if( i &amp;gt;= 7)&lt;br /&gt;
  {&lt;br /&gt;
    i= 0;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
if( digitalRead(bp2) &amp;amp;&amp;amp; millis() - previousMillis2 &amp;gt; 1000 )&lt;br /&gt;
{&lt;br /&gt;
 &lt;br /&gt;
  displayColor2(table[i]);&lt;br /&gt;
   i=i+1;&lt;br /&gt;
   previousMillis2 = millis();&lt;br /&gt;
   &lt;br /&gt;
   if (table[i]== COLOR_GREEN)&lt;br /&gt;
   {&lt;br /&gt;
    Serial.println(&amp;quot;cesar ok&amp;quot;);&lt;br /&gt;
    val2=1;&lt;br /&gt;
   }&lt;br /&gt;
  if( i &amp;gt;= 7)&lt;br /&gt;
  {&lt;br /&gt;
    i= 0;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if( digitalRead(bp3) &amp;amp;&amp;amp; millis() - previousMillis2 &amp;gt; 1000 )&lt;br /&gt;
{&lt;br /&gt;
 &lt;br /&gt;
  displayColor3(table[i]);&lt;br /&gt;
   i=i+1;&lt;br /&gt;
   previousMillis2 = millis();&lt;br /&gt;
&lt;br /&gt;
    if (table[i]== COLOR_CYAN)&lt;br /&gt;
   {&lt;br /&gt;
    Serial.println(&amp;quot;periodique ok&amp;quot;);&lt;br /&gt;
    val3 = 1;&lt;br /&gt;
   }&lt;br /&gt;
  &lt;br /&gt;
  if( i &amp;gt;= 7)&lt;br /&gt;
  {&lt;br /&gt;
    i= 0;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if( val1 &amp;amp;&amp;amp; val2 &amp;amp;&amp;amp; val3)&lt;br /&gt;
{&lt;br /&gt;
   displayColor1(COLOR_BLUE);&lt;br /&gt;
   displayColor2(COLOR_BLUE);&lt;br /&gt;
   displayColor3(COLOR_BLUE);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if(val1 &amp;amp;&amp;amp; val2 &amp;amp;&amp;amp; val3 &amp;amp;&amp;amp; (bp0 || bp2 || bp3))&lt;br /&gt;
{&lt;br /&gt;
 &lt;br /&gt;
   val1 = 0;&lt;br /&gt;
   val2 = 0;&lt;br /&gt;
   val3 = 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (analogRead(validation) == 1)&lt;br /&gt;
{&lt;br /&gt;
  Serial.println(&amp;quot;morse ok&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&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:Enib2023]]&lt;/div&gt;</summary>
		<author><name>Romain Fauvel</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2023_:_Salade_d%27Enigmes&amp;diff=22101</id>
		<title>ENIB 2023 : Salade d'Enigmes</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2023_:_Salade_d%27Enigmes&amp;diff=22101"/>
				<updated>2023-01-26T14:43:01Z</updated>
		
		<summary type="html">&lt;p&gt;Romain Fauvel : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==photo de l'équipe==&lt;br /&gt;
&lt;br /&gt;
[[Fichier:PhotoDeMoi.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
Ce projet est une combinaison de 4 énigmes.&lt;br /&gt;
==Liste des parties==&lt;br /&gt;
&lt;br /&gt;
* Partie 1 Tableau périodique :&lt;br /&gt;
&lt;br /&gt;
Le but était de sélectionner 2 valeurs grâce à un potentiomètre. Ces valeurs se devinaient grâce à deux matériaux coller sur la plaque et leur nombre atomique trouvé sur le tableau périodique&lt;br /&gt;
&lt;br /&gt;
[[Fichier:EnigmeTableauPeriodiqueV2.jpg|vignette]]&lt;br /&gt;
&lt;br /&gt;
* Partie 2 Corde César&lt;br /&gt;
&lt;br /&gt;
[[Fichier:CodeCesarV2.jpg|vignette]]&lt;br /&gt;
&lt;br /&gt;
* Partie 3 Code Morse&lt;br /&gt;
&lt;br /&gt;
[[Fichier:MorseEtSelectionReponseV2.jpg|vignette]]&lt;br /&gt;
&lt;br /&gt;
*Partie 4 labyrinthe&lt;br /&gt;
&lt;br /&gt;
[[Fichier:LabyrintheV2.jpg|vignette]]&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Code pour la partie Tableau périodique (Il y a une librairie à télécharger) :&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;SPI.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Wire.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Adafruit_GFX.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Adafruit_SSD1306.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define SCREEN_WIDTH 128 // OLED display width, in pixels&lt;br /&gt;
#define SCREEN_HEIGHT 64 // OLED display height, in pixels&lt;br /&gt;
#define valPotReader A0&lt;br /&gt;
#define buttonPer D8&lt;br /&gt;
#define Win D7&lt;br /&gt;
&lt;br /&gt;
#define OLED_RESET     -1 // Reset pin # (or -1 if sharing Arduino reset pin)&lt;br /&gt;
#define SCREEN_ADDRESS 0x3C ///&amp;lt; See datasheet for Address; 0x3D for 128x64, 0x3C for 128x32&lt;br /&gt;
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &amp;amp;Wire, OLED_RESET);&lt;br /&gt;
&lt;br /&gt;
int valPot;&lt;br /&gt;
int pos=0;&lt;br /&gt;
int resultPer[2]={0,0};&lt;br /&gt;
int solPer[2] = {29,13};&lt;br /&gt;
bool buttonPerState=0;&lt;br /&gt;
bool prevButtonPerState=0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
&lt;br /&gt;
  pinMode(valPotReader,INPUT);&lt;br /&gt;
  pinMode(buttonPer,INPUT);&lt;br /&gt;
  pinMode(Win,OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  // SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally&lt;br /&gt;
  if(!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) {&lt;br /&gt;
    Serial.println(F(&amp;quot;SSD1306 allocation failed&amp;quot;));&lt;br /&gt;
    for(;;); // Don't proceed, loop forever&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Show initial display buffer contents on the screen --&lt;br /&gt;
  // the library initializes this with an Adafruit splash screen.&lt;br /&gt;
  display.display();&lt;br /&gt;
  delay(2000); // Pause for 2 seconds&lt;br /&gt;
&lt;br /&gt;
  // Clear the buffer&lt;br /&gt;
  display.clearDisplay();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
  valPot=round((float(analogRead(valPotReader))/1024)*118);&lt;br /&gt;
  show();&lt;br /&gt;
  if(isPressed()){&lt;br /&gt;
    Serial.println(&amp;quot;oui&amp;quot;);&lt;br /&gt;
    int i = pos%2;&lt;br /&gt;
    pos=pos+1;&lt;br /&gt;
    resultPer[i]=valPot;&lt;br /&gt;
    show();&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
  Serial.println((resultPer[0]==solPer[0] &amp;amp;&amp;amp; resultPer[1]==solPer[1]));&lt;br /&gt;
&lt;br /&gt;
  if(resultPer[0]==solPer[0] &amp;amp;&amp;amp; resultPer[1]==solPer[1])&lt;br /&gt;
  {&lt;br /&gt;
    Serial.print(&amp;quot;Win&amp;quot;);&lt;br /&gt;
    digitalWrite(Win,HIGH);&lt;br /&gt;
  }else{digitalWrite(Win,LOW);}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void show(){&lt;br /&gt;
  display.clearDisplay();&lt;br /&gt;
  display.setTextSize(4);&lt;br /&gt;
  display.setTextColor(SSD1306_WHITE);&lt;br /&gt;
  display.setCursor(16,16); &lt;br /&gt;
  display.print(valPot);&lt;br /&gt;
&lt;br /&gt;
  display.setTextSize(1);&lt;br /&gt;
  display.setCursor(80,53); &lt;br /&gt;
  display.print(resultPer[0]);&lt;br /&gt;
  display.print('|');&lt;br /&gt;
  display.print(resultPer[1]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  display.display();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
bool isPressed(){&lt;br /&gt;
   buttonPerState=digitalRead(buttonPer);&lt;br /&gt;
&lt;br /&gt;
  if(prevButtonPerState==0 &amp;amp;&amp;amp; buttonPerState==1){&lt;br /&gt;
    prevButtonPerState=buttonPerState;&lt;br /&gt;
    return 1;&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    prevButtonPerState=buttonPerState;&lt;br /&gt;
    return 0;&lt;br /&gt;
  }&lt;br /&gt;
}&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:Enib2023]]&lt;/div&gt;</summary>
		<author><name>Romain Fauvel</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:LabyrintheV2.jpg&amp;diff=22100</id>
		<title>Fichier:LabyrintheV2.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:LabyrintheV2.jpg&amp;diff=22100"/>
				<updated>2023-01-26T14:42:50Z</updated>
		
		<summary type="html">&lt;p&gt;Romain Fauvel : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Labyrinthe dirigé par un aimant&lt;/div&gt;</summary>
		<author><name>Romain Fauvel</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:MorseEtSelectionReponseV2.jpg&amp;diff=22099</id>
		<title>Fichier:MorseEtSelectionReponseV2.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:MorseEtSelectionReponseV2.jpg&amp;diff=22099"/>
				<updated>2023-01-26T14:42:00Z</updated>
		
		<summary type="html">&lt;p&gt;Romain Fauvel : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Morse&lt;/div&gt;</summary>
		<author><name>Romain Fauvel</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:CodeCesarV2.jpg&amp;diff=22098</id>
		<title>Fichier:CodeCesarV2.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:CodeCesarV2.jpg&amp;diff=22098"/>
				<updated>2023-01-26T14:41:01Z</updated>
		
		<summary type="html">&lt;p&gt;Romain Fauvel : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Code César&lt;/div&gt;</summary>
		<author><name>Romain Fauvel</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2023_:_Salade_d%27Enigmes&amp;diff=22086</id>
		<title>ENIB 2023 : Salade d'Enigmes</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2023_:_Salade_d%27Enigmes&amp;diff=22086"/>
				<updated>2023-01-26T14:26:01Z</updated>
		
		<summary type="html">&lt;p&gt;Romain Fauvel : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==photo de l'équipe==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
[[Fichier:PhotoDeMoi.jpg|vignette]]&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
Ce projet est une combinaison de 4 énigmes.&lt;br /&gt;
==Liste des parties==&lt;br /&gt;
&lt;br /&gt;
* Partie 1 Tableau périodique :&lt;br /&gt;
&lt;br /&gt;
Le but était de sélectionner 2 valeurs grâce à un potentiomètre. Ces valeurs se devinaient grâce à deux matériaux coller sur la plaque et leur nombre atomique trouvé sur le tableau périodique&lt;br /&gt;
&lt;br /&gt;
[[Fichier:EnigmeTableauPeriodiqueV2.jpg|vignette]]&lt;br /&gt;
* Partie 2 Corde César&lt;br /&gt;
&lt;br /&gt;
* Partie 3 Code Morse&lt;br /&gt;
&lt;br /&gt;
*Partie 4 labyrinthe&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Code pour la partie Tableau périodique (Il y a une librairie à télécharger) :&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;SPI.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Wire.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Adafruit_GFX.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Adafruit_SSD1306.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define SCREEN_WIDTH 128 // OLED display width, in pixels&lt;br /&gt;
#define SCREEN_HEIGHT 64 // OLED display height, in pixels&lt;br /&gt;
#define valPotReader A0&lt;br /&gt;
#define buttonPer D8&lt;br /&gt;
#define Win D7&lt;br /&gt;
&lt;br /&gt;
#define OLED_RESET     -1 // Reset pin # (or -1 if sharing Arduino reset pin)&lt;br /&gt;
#define SCREEN_ADDRESS 0x3C ///&amp;lt; See datasheet for Address; 0x3D for 128x64, 0x3C for 128x32&lt;br /&gt;
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &amp;amp;Wire, OLED_RESET);&lt;br /&gt;
&lt;br /&gt;
int valPot;&lt;br /&gt;
int pos=0;&lt;br /&gt;
int resultPer[2]={0,0};&lt;br /&gt;
int solPer[2] = {29,13};&lt;br /&gt;
bool buttonPerState=0;&lt;br /&gt;
bool prevButtonPerState=0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
&lt;br /&gt;
  pinMode(valPotReader,INPUT);&lt;br /&gt;
  pinMode(buttonPer,INPUT);&lt;br /&gt;
  pinMode(Win,OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  // SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally&lt;br /&gt;
  if(!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) {&lt;br /&gt;
    Serial.println(F(&amp;quot;SSD1306 allocation failed&amp;quot;));&lt;br /&gt;
    for(;;); // Don't proceed, loop forever&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Show initial display buffer contents on the screen --&lt;br /&gt;
  // the library initializes this with an Adafruit splash screen.&lt;br /&gt;
  display.display();&lt;br /&gt;
  delay(2000); // Pause for 2 seconds&lt;br /&gt;
&lt;br /&gt;
  // Clear the buffer&lt;br /&gt;
  display.clearDisplay();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
  valPot=round((float(analogRead(valPotReader))/1024)*118);&lt;br /&gt;
  show();&lt;br /&gt;
  if(isPressed()){&lt;br /&gt;
    Serial.println(&amp;quot;oui&amp;quot;);&lt;br /&gt;
    int i = pos%2;&lt;br /&gt;
    pos=pos+1;&lt;br /&gt;
    resultPer[i]=valPot;&lt;br /&gt;
    show();&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
  Serial.println((resultPer[0]==solPer[0] &amp;amp;&amp;amp; resultPer[1]==solPer[1]));&lt;br /&gt;
&lt;br /&gt;
  if(resultPer[0]==solPer[0] &amp;amp;&amp;amp; resultPer[1]==solPer[1])&lt;br /&gt;
  {&lt;br /&gt;
    Serial.print(&amp;quot;Win&amp;quot;);&lt;br /&gt;
    digitalWrite(Win,HIGH);&lt;br /&gt;
  }else{digitalWrite(Win,LOW);}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void show(){&lt;br /&gt;
  display.clearDisplay();&lt;br /&gt;
  display.setTextSize(4);&lt;br /&gt;
  display.setTextColor(SSD1306_WHITE);&lt;br /&gt;
  display.setCursor(16,16); &lt;br /&gt;
  display.print(valPot);&lt;br /&gt;
&lt;br /&gt;
  display.setTextSize(1);&lt;br /&gt;
  display.setCursor(80,53); &lt;br /&gt;
  display.print(resultPer[0]);&lt;br /&gt;
  display.print('|');&lt;br /&gt;
  display.print(resultPer[1]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  display.display();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
bool isPressed(){&lt;br /&gt;
   buttonPerState=digitalRead(buttonPer);&lt;br /&gt;
&lt;br /&gt;
  if(prevButtonPerState==0 &amp;amp;&amp;amp; buttonPerState==1){&lt;br /&gt;
    prevButtonPerState=buttonPerState;&lt;br /&gt;
    return 1;&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    prevButtonPerState=buttonPerState;&lt;br /&gt;
    return 0;&lt;br /&gt;
  }&lt;br /&gt;
}&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:Enib2023]]&lt;/div&gt;</summary>
		<author><name>Romain Fauvel</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2023_:_Salade_d%27Enigmes&amp;diff=22085</id>
		<title>ENIB 2023 : Salade d'Enigmes</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2023_:_Salade_d%27Enigmes&amp;diff=22085"/>
				<updated>2023-01-26T14:24:18Z</updated>
		
		<summary type="html">&lt;p&gt;Romain Fauvel : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==photo de l'équipe==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
[[Fichier:PhotoDeMoi.jpg|vignette]]&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
Ce projet est une combinaison de 4 énigmes.&lt;br /&gt;
==Liste des parties==&lt;br /&gt;
&lt;br /&gt;
* Partie 1 Tableau périodique :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fichier:EnigmeTableauPeriodiqueV2.jpg|vignette]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Partie 2 Corde César&lt;br /&gt;
&lt;br /&gt;
* Partie 3 Code Morse&lt;br /&gt;
&lt;br /&gt;
*Partie 4 labyrinthe&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Code pour la partie Tableau périodique (Il y a une librairie à télécharger) :&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;SPI.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Wire.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Adafruit_GFX.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Adafruit_SSD1306.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define SCREEN_WIDTH 128 // OLED display width, in pixels&lt;br /&gt;
#define SCREEN_HEIGHT 64 // OLED display height, in pixels&lt;br /&gt;
#define valPotReader A0&lt;br /&gt;
#define buttonPer D8&lt;br /&gt;
#define Win D7&lt;br /&gt;
&lt;br /&gt;
#define OLED_RESET     -1 // Reset pin # (or -1 if sharing Arduino reset pin)&lt;br /&gt;
#define SCREEN_ADDRESS 0x3C ///&amp;lt; See datasheet for Address; 0x3D for 128x64, 0x3C for 128x32&lt;br /&gt;
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &amp;amp;Wire, OLED_RESET);&lt;br /&gt;
&lt;br /&gt;
int valPot;&lt;br /&gt;
int pos=0;&lt;br /&gt;
int resultPer[2]={0,0};&lt;br /&gt;
int solPer[2] = {29,13};&lt;br /&gt;
bool buttonPerState=0;&lt;br /&gt;
bool prevButtonPerState=0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
&lt;br /&gt;
  pinMode(valPotReader,INPUT);&lt;br /&gt;
  pinMode(buttonPer,INPUT);&lt;br /&gt;
  pinMode(Win,OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  // SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally&lt;br /&gt;
  if(!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) {&lt;br /&gt;
    Serial.println(F(&amp;quot;SSD1306 allocation failed&amp;quot;));&lt;br /&gt;
    for(;;); // Don't proceed, loop forever&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Show initial display buffer contents on the screen --&lt;br /&gt;
  // the library initializes this with an Adafruit splash screen.&lt;br /&gt;
  display.display();&lt;br /&gt;
  delay(2000); // Pause for 2 seconds&lt;br /&gt;
&lt;br /&gt;
  // Clear the buffer&lt;br /&gt;
  display.clearDisplay();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
  valPot=round((float(analogRead(valPotReader))/1024)*118);&lt;br /&gt;
  show();&lt;br /&gt;
  if(isPressed()){&lt;br /&gt;
    Serial.println(&amp;quot;oui&amp;quot;);&lt;br /&gt;
    int i = pos%2;&lt;br /&gt;
    pos=pos+1;&lt;br /&gt;
    resultPer[i]=valPot;&lt;br /&gt;
    show();&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
  Serial.println((resultPer[0]==solPer[0] &amp;amp;&amp;amp; resultPer[1]==solPer[1]));&lt;br /&gt;
&lt;br /&gt;
  if(resultPer[0]==solPer[0] &amp;amp;&amp;amp; resultPer[1]==solPer[1])&lt;br /&gt;
  {&lt;br /&gt;
    Serial.print(&amp;quot;Win&amp;quot;);&lt;br /&gt;
    digitalWrite(Win,HIGH);&lt;br /&gt;
  }else{digitalWrite(Win,LOW);}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void show(){&lt;br /&gt;
  display.clearDisplay();&lt;br /&gt;
  display.setTextSize(4);&lt;br /&gt;
  display.setTextColor(SSD1306_WHITE);&lt;br /&gt;
  display.setCursor(16,16); &lt;br /&gt;
  display.print(valPot);&lt;br /&gt;
&lt;br /&gt;
  display.setTextSize(1);&lt;br /&gt;
  display.setCursor(80,53); &lt;br /&gt;
  display.print(resultPer[0]);&lt;br /&gt;
  display.print('|');&lt;br /&gt;
  display.print(resultPer[1]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  display.display();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
bool isPressed(){&lt;br /&gt;
   buttonPerState=digitalRead(buttonPer);&lt;br /&gt;
&lt;br /&gt;
  if(prevButtonPerState==0 &amp;amp;&amp;amp; buttonPerState==1){&lt;br /&gt;
    prevButtonPerState=buttonPerState;&lt;br /&gt;
    return 1;&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    prevButtonPerState=buttonPerState;&lt;br /&gt;
    return 0;&lt;br /&gt;
  }&lt;br /&gt;
}&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:Enib2023]]&lt;/div&gt;</summary>
		<author><name>Romain Fauvel</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2023_:_Salade_d%27Enigmes&amp;diff=22084</id>
		<title>ENIB 2023 : Salade d'Enigmes</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2023_:_Salade_d%27Enigmes&amp;diff=22084"/>
				<updated>2023-01-26T14:21:57Z</updated>
		
		<summary type="html">&lt;p&gt;Romain Fauvel : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==photo de l'équipe==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
[[Fichier:PhotoDeMoi.jpg|vignette]]&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
Ce projet est une combinaison de 4 énigmes.&lt;br /&gt;
==Liste des parties==&lt;br /&gt;
&lt;br /&gt;
* Partie 1&lt;br /&gt;
&lt;br /&gt;
[[&lt;br /&gt;
[[Fichier:EnigmeTableauPeriodiqueV2.jpg|vignette]]&lt;br /&gt;
]]&lt;br /&gt;
&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;
Code pour la partie Tableau périodique (Il y a une librairie à télécharger) :&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;SPI.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Wire.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Adafruit_GFX.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Adafruit_SSD1306.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define SCREEN_WIDTH 128 // OLED display width, in pixels&lt;br /&gt;
#define SCREEN_HEIGHT 64 // OLED display height, in pixels&lt;br /&gt;
#define valPotReader A0&lt;br /&gt;
#define buttonPer D8&lt;br /&gt;
#define Win D7&lt;br /&gt;
&lt;br /&gt;
#define OLED_RESET     -1 // Reset pin # (or -1 if sharing Arduino reset pin)&lt;br /&gt;
#define SCREEN_ADDRESS 0x3C ///&amp;lt; See datasheet for Address; 0x3D for 128x64, 0x3C for 128x32&lt;br /&gt;
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &amp;amp;Wire, OLED_RESET);&lt;br /&gt;
&lt;br /&gt;
int valPot;&lt;br /&gt;
int pos=0;&lt;br /&gt;
int resultPer[2]={0,0};&lt;br /&gt;
int solPer[2] = {29,13};&lt;br /&gt;
bool buttonPerState=0;&lt;br /&gt;
bool prevButtonPerState=0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
&lt;br /&gt;
  pinMode(valPotReader,INPUT);&lt;br /&gt;
  pinMode(buttonPer,INPUT);&lt;br /&gt;
  pinMode(Win,OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  // SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally&lt;br /&gt;
  if(!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) {&lt;br /&gt;
    Serial.println(F(&amp;quot;SSD1306 allocation failed&amp;quot;));&lt;br /&gt;
    for(;;); // Don't proceed, loop forever&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Show initial display buffer contents on the screen --&lt;br /&gt;
  // the library initializes this with an Adafruit splash screen.&lt;br /&gt;
  display.display();&lt;br /&gt;
  delay(2000); // Pause for 2 seconds&lt;br /&gt;
&lt;br /&gt;
  // Clear the buffer&lt;br /&gt;
  display.clearDisplay();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
  valPot=round((float(analogRead(valPotReader))/1024)*118);&lt;br /&gt;
  show();&lt;br /&gt;
  if(isPressed()){&lt;br /&gt;
    Serial.println(&amp;quot;oui&amp;quot;);&lt;br /&gt;
    int i = pos%2;&lt;br /&gt;
    pos=pos+1;&lt;br /&gt;
    resultPer[i]=valPot;&lt;br /&gt;
    show();&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
  Serial.println((resultPer[0]==solPer[0] &amp;amp;&amp;amp; resultPer[1]==solPer[1]));&lt;br /&gt;
&lt;br /&gt;
  if(resultPer[0]==solPer[0] &amp;amp;&amp;amp; resultPer[1]==solPer[1])&lt;br /&gt;
  {&lt;br /&gt;
    Serial.print(&amp;quot;Win&amp;quot;);&lt;br /&gt;
    digitalWrite(Win,HIGH);&lt;br /&gt;
  }else{digitalWrite(Win,LOW);}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void show(){&lt;br /&gt;
  display.clearDisplay();&lt;br /&gt;
  display.setTextSize(4);&lt;br /&gt;
  display.setTextColor(SSD1306_WHITE);&lt;br /&gt;
  display.setCursor(16,16); &lt;br /&gt;
  display.print(valPot);&lt;br /&gt;
&lt;br /&gt;
  display.setTextSize(1);&lt;br /&gt;
  display.setCursor(80,53); &lt;br /&gt;
  display.print(resultPer[0]);&lt;br /&gt;
  display.print('|');&lt;br /&gt;
  display.print(resultPer[1]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  display.display();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
bool isPressed(){&lt;br /&gt;
   buttonPerState=digitalRead(buttonPer);&lt;br /&gt;
&lt;br /&gt;
  if(prevButtonPerState==0 &amp;amp;&amp;amp; buttonPerState==1){&lt;br /&gt;
    prevButtonPerState=buttonPerState;&lt;br /&gt;
    return 1;&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    prevButtonPerState=buttonPerState;&lt;br /&gt;
    return 0;&lt;br /&gt;
  }&lt;br /&gt;
}&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:Enib2023]]&lt;/div&gt;</summary>
		<author><name>Romain Fauvel</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:EnigmeTableauPeriodiqueV2.jpg&amp;diff=22083</id>
		<title>Fichier:EnigmeTableauPeriodiqueV2.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:EnigmeTableauPeriodiqueV2.jpg&amp;diff=22083"/>
				<updated>2023-01-26T14:21:48Z</updated>
		
		<summary type="html">&lt;p&gt;Romain Fauvel : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Montage&lt;/div&gt;</summary>
		<author><name>Romain Fauvel</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2023_:_Salade_d%27Enigmes&amp;diff=22082</id>
		<title>ENIB 2023 : Salade d'Enigmes</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2023_:_Salade_d%27Enigmes&amp;diff=22082"/>
				<updated>2023-01-26T14:16:16Z</updated>
		
		<summary type="html">&lt;p&gt;Romain Fauvel : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==photo de l'équipe==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
[[Fichier:PhotoDeMoi.jpg|vignette]]&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
Ce projet est une combinaison de 4 énigmes.&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;
Code pour la partie Tableau périodique (Il y a une librairie à télécharger) :&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;SPI.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Wire.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Adafruit_GFX.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Adafruit_SSD1306.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define SCREEN_WIDTH 128 // OLED display width, in pixels&lt;br /&gt;
#define SCREEN_HEIGHT 64 // OLED display height, in pixels&lt;br /&gt;
#define valPotReader A0&lt;br /&gt;
#define buttonPer D8&lt;br /&gt;
#define Win D7&lt;br /&gt;
&lt;br /&gt;
#define OLED_RESET     -1 // Reset pin # (or -1 if sharing Arduino reset pin)&lt;br /&gt;
#define SCREEN_ADDRESS 0x3C ///&amp;lt; See datasheet for Address; 0x3D for 128x64, 0x3C for 128x32&lt;br /&gt;
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &amp;amp;Wire, OLED_RESET);&lt;br /&gt;
&lt;br /&gt;
int valPot;&lt;br /&gt;
int pos=0;&lt;br /&gt;
int resultPer[2]={0,0};&lt;br /&gt;
int solPer[2] = {29,13};&lt;br /&gt;
bool buttonPerState=0;&lt;br /&gt;
bool prevButtonPerState=0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // put your setup code here, to run once:&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
&lt;br /&gt;
  pinMode(valPotReader,INPUT);&lt;br /&gt;
  pinMode(buttonPer,INPUT);&lt;br /&gt;
  pinMode(Win,OUTPUT);&lt;br /&gt;
&lt;br /&gt;
  // SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally&lt;br /&gt;
  if(!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) {&lt;br /&gt;
    Serial.println(F(&amp;quot;SSD1306 allocation failed&amp;quot;));&lt;br /&gt;
    for(;;); // Don't proceed, loop forever&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Show initial display buffer contents on the screen --&lt;br /&gt;
  // the library initializes this with an Adafruit splash screen.&lt;br /&gt;
  display.display();&lt;br /&gt;
  delay(2000); // Pause for 2 seconds&lt;br /&gt;
&lt;br /&gt;
  // Clear the buffer&lt;br /&gt;
  display.clearDisplay();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // put your main code here, to run repeatedly:&lt;br /&gt;
  valPot=round((float(analogRead(valPotReader))/1024)*118);&lt;br /&gt;
  show();&lt;br /&gt;
  if(isPressed()){&lt;br /&gt;
    Serial.println(&amp;quot;oui&amp;quot;);&lt;br /&gt;
    int i = pos%2;&lt;br /&gt;
    pos=pos+1;&lt;br /&gt;
    resultPer[i]=valPot;&lt;br /&gt;
    show();&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
  Serial.println((resultPer[0]==solPer[0] &amp;amp;&amp;amp; resultPer[1]==solPer[1]));&lt;br /&gt;
&lt;br /&gt;
  if(resultPer[0]==solPer[0] &amp;amp;&amp;amp; resultPer[1]==solPer[1])&lt;br /&gt;
  {&lt;br /&gt;
    Serial.print(&amp;quot;Win&amp;quot;);&lt;br /&gt;
    digitalWrite(Win,HIGH);&lt;br /&gt;
  }else{digitalWrite(Win,LOW);}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void show(){&lt;br /&gt;
  display.clearDisplay();&lt;br /&gt;
  display.setTextSize(4);&lt;br /&gt;
  display.setTextColor(SSD1306_WHITE);&lt;br /&gt;
  display.setCursor(16,16); &lt;br /&gt;
  display.print(valPot);&lt;br /&gt;
&lt;br /&gt;
  display.setTextSize(1);&lt;br /&gt;
  display.setCursor(80,53); &lt;br /&gt;
  display.print(resultPer[0]);&lt;br /&gt;
  display.print('|');&lt;br /&gt;
  display.print(resultPer[1]);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  display.display();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
bool isPressed(){&lt;br /&gt;
   buttonPerState=digitalRead(buttonPer);&lt;br /&gt;
&lt;br /&gt;
  if(prevButtonPerState==0 &amp;amp;&amp;amp; buttonPerState==1){&lt;br /&gt;
    prevButtonPerState=buttonPerState;&lt;br /&gt;
    return 1;&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
    prevButtonPerState=buttonPerState;&lt;br /&gt;
    return 0;&lt;br /&gt;
  }&lt;br /&gt;
}&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:Enib2023]]&lt;/div&gt;</summary>
		<author><name>Romain Fauvel</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2023_:_Salade_d%27Enigmes&amp;diff=21963</id>
		<title>ENIB 2023 : Salade d'Enigmes</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2023_:_Salade_d%27Enigmes&amp;diff=21963"/>
				<updated>2023-01-26T08:41:35Z</updated>
		
		<summary type="html">&lt;p&gt;Romain Fauvel : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==photo de l'équipe==&lt;br /&gt;
[[Fichier:Photoenib2018.jpg|600px]]&lt;br /&gt;
[[Fichier:PhotoDeMoi.jpg|vignette]]&lt;br /&gt;
&lt;br /&gt;
==Que fait ce projet ? ==&lt;br /&gt;
Ce projet est une combinaison de 4 énigmes.&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:Enib2023]]&lt;/div&gt;</summary>
		<author><name>Romain Fauvel</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:PhotoDeMoi.jpg&amp;diff=21962</id>
		<title>Fichier:PhotoDeMoi.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:PhotoDeMoi.jpg&amp;diff=21962"/>
				<updated>2023-01-26T08:39:54Z</updated>
		
		<summary type="html">&lt;p&gt;Romain Fauvel : Romain Fauvel a téléversé une nouvelle version de Fichier:PhotoDeMoi.jpg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;photo temporaire de l'équipe&lt;/div&gt;</summary>
		<author><name>Romain Fauvel</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:PhotoDeMoi.jpg&amp;diff=21950</id>
		<title>Fichier:PhotoDeMoi.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:PhotoDeMoi.jpg&amp;diff=21950"/>
				<updated>2023-01-25T14:05:26Z</updated>
		
		<summary type="html">&lt;p&gt;Romain Fauvel : Romain Fauvel a téléversé une nouvelle version de Fichier:PhotoDeMoi.jpg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;photo temporaire de l'équipe&lt;/div&gt;</summary>
		<author><name>Romain Fauvel</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2023_:_Salade_d%27Enigmes&amp;diff=21916</id>
		<title>ENIB 2023 : Salade d'Enigmes</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2023_:_Salade_d%27Enigmes&amp;diff=21916"/>
				<updated>2023-01-25T13:25:52Z</updated>
		
		<summary type="html">&lt;p&gt;Romain Fauvel : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&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;
[[Fichier:PhotoDeMoi.jpg|vignette]]&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:Enib2023]]&lt;/div&gt;</summary>
		<author><name>Romain Fauvel</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2023_:_Salade_d%27Enigmes&amp;diff=21915</id>
		<title>ENIB 2023 : Salade d'Enigmes</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2023_:_Salade_d%27Enigmes&amp;diff=21915"/>
				<updated>2023-01-25T13:25:20Z</updated>
		
		<summary type="html">&lt;p&gt;Romain Fauvel : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Fichier:PhotoDeMoi.jpg|vignette]]&lt;br /&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;
==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:Enib2023]]&lt;/div&gt;</summary>
		<author><name>Romain Fauvel</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:PhotoDeMoi.jpg&amp;diff=21914</id>
		<title>Fichier:PhotoDeMoi.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=Fichier:PhotoDeMoi.jpg&amp;diff=21914"/>
				<updated>2023-01-25T13:25:03Z</updated>
		
		<summary type="html">&lt;p&gt;Romain Fauvel : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;photo temporaire de l'équipe&lt;/div&gt;</summary>
		<author><name>Romain Fauvel</name></author>	</entry>

	<entry>
		<id>http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2023_:_Salade_d%27Enigmes&amp;diff=21912</id>
		<title>ENIB 2023 : Salade d'Enigmes</title>
		<link rel="alternate" type="text/html" href="http://wiki.lesfabriquesduponant.net/index.php?title=ENIB_2023_:_Salade_d%27Enigmes&amp;diff=21912"/>
				<updated>2023-01-25T13:23:18Z</updated>
		
		<summary type="html">&lt;p&gt;Romain Fauvel : Page créée avec «  ==photo de l'équipe== 600px  ==Que fait ce projet ? ==  ==Liste des composants==  * composant 1 * composant 2 * ...  ==Code== &amp;lt;pre&amp;gt; ici je... »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&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;
==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:Enib2023]]&lt;/div&gt;</summary>
		<author><name>Romain Fauvel</name></author>	</entry>

	</feed>