ENIB 2023 : D2CODE TON CODE : Différence entre versions
(Page créée avec « ==photo de l'équipe== 600px ==Que fait ce projet ? == ==Liste des composants== * composant 1 * composant 2 * ... ==Code== <pre> ici je... ») |
(→fin) |
||
| (7 révisions intermédiaires par un autre utilisateur non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
==photo de l'équipe== | ==photo de l'équipe== | ||
| − | [[Fichier: | + | [[Fichier:Equipe.jpg|600px]] |
==Que fait ce projet ? == | ==Que fait ce projet ? == | ||
| + | On créé un code a décoder. | ||
==Liste des composants== | ==Liste des composants== | ||
| − | * | + | * bois |
| − | * | + | * carton |
| − | * | + | * peinture |
| + | * eau | ||
| + | * tasse | ||
| + | * pinceau | ||
| + | * découpeuse laser | ||
| + | * fils | ||
| + | * bouton poussoir | ||
| + | * led | ||
| + | * arduino | ||
| + | * pc | ||
| + | * patience | ||
==Code== | ==Code== | ||
<pre> | <pre> | ||
| − | + | byte x; | |
| + | byte w = 1; | ||
| + | String otv = ""; | ||
| + | String KOD = ""; | ||
| + | // un tableau de variantes de code | ||
| + | char* kod[6] = {"123","132","213","231","312","321"}; | ||
| + | boolean button1WasUp = true; | ||
| + | boolean button2WasUp = true; | ||
| + | boolean button3WasUp = true; | ||
| + | |||
| + | void setup() { | ||
| + | Serial.begin(9600); | ||
| + | // broches pour la connexion des boutons | ||
| + | pinMode(5, INPUT_PULLUP); | ||
| + | pinMode(4, INPUT_PULLUP); | ||
| + | pinMode(2, INPUT_PULLUP); | ||
| + | // broches pour la connexion des LED | ||
| + | pinMode(16, OUTPUT); | ||
| + | pinMode(7, OUTPUT); | ||
| + | pinMode(20,OUTPUT); | ||
| + | |||
| + | } | ||
| + | |||
| + | void loop() { | ||
| + | |||
| + | /// FONCTION DE GÉNÉRATION DE CODE /// | ||
| + | while (w == 1) { | ||
| + | delay(500); | ||
| + | digitalWrite(16, HIGH); digitalWrite(7, HIGH); | ||
| + | delay(100); | ||
| + | digitalWrite(16, LOW); digitalWrite(7, LOW); | ||
| + | x = random(0, 5); | ||
| + | KOD = String(kod[x]); | ||
| + | Serial.print("Kode - "); | ||
| + | Serial.println(KOD); | ||
| + | Serial.println(""); | ||
| + | Serial.print("Reponse - "); | ||
| + | w = 2; | ||
| + | } | ||
| + | digitalWrite(20,HIGH); | ||
| + | |||
| + | /// ENTREZ LE PREMIER NUMÉRO /// | ||
| + | while (w == 2) { | ||
| + | // connaître le statut des boutons | ||
| + | boolean button1IsUp = digitalRead(5); | ||
| + | boolean button2IsUp = digitalRead(4); | ||
| + | boolean button3IsUp = digitalRead(2); | ||
| + | |||
| + | // si le bouton a été pressé, ajoutez "1" à la ligne | ||
| + | if (button1WasUp && !button1IsUp) { | ||
| + | delay(10); | ||
| + | button1IsUp = digitalRead(5); | ||
| + | if (!button1IsUp) { otv = otv + "1"; Serial.print("1"); w = 3;} | ||
| + | } | ||
| + | button1WasUp = button1IsUp; | ||
| + | |||
| + | // si le bouton a été pressé, ajoutez "2" à la ligne | ||
| + | if (button2WasUp && !button2IsUp) { | ||
| + | delay(10); | ||
| + | button2IsUp = digitalRead(4); | ||
| + | if (!button2IsUp) { otv = otv + "2"; Serial.print("2"); w = 3;} | ||
| + | } | ||
| + | button2WasUp = button2IsUp; | ||
| + | |||
| + | // si le bouton a été pressé, ajoutez "3" à la ligne | ||
| + | if (button3WasUp && !button3IsUp) { | ||
| + | delay(10); | ||
| + | button3IsUp = digitalRead(2); | ||
| + | if (!button3IsUp) { otv = otv + "3"; Serial.print("3"); w = 3;} | ||
| + | } | ||
| + | button3WasUp = button3IsUp; | ||
| + | } | ||
| + | |||
| + | /// ENTRER LE DEUXIÈME NUMÉRO /// | ||
| + | while (w == 3) { | ||
| + | // connaître le statut des boutons | ||
| + | boolean button1IsUp = digitalRead(5); | ||
| + | boolean button2IsUp = digitalRead(4); | ||
| + | boolean button3IsUp = digitalRead(2); | ||
| + | |||
| + | // si le bouton a été pressé, ajoutez "1" à la ligne | ||
| + | if (button1WasUp && !button1IsUp) { | ||
| + | delay(10); | ||
| + | button1IsUp = digitalRead(5); | ||
| + | if (!button1IsUp) { otv = otv + "1"; Serial.print("1"); w = 4;} | ||
| + | } | ||
| + | button1WasUp = button1IsUp; | ||
| + | |||
| + | // si le bouton a été pressé, ajoutez "2" à la ligne | ||
| + | if (button2WasUp && !button2IsUp) { | ||
| + | delay(10); | ||
| + | button2IsUp = digitalRead(4); | ||
| + | if (!button2IsUp) { otv = otv + "2"; Serial.print("2"); w = 4;} | ||
| + | } | ||
| + | button2WasUp = button2IsUp; | ||
| + | |||
| + | // si le bouton a été pressé, ajoutez "3" à la ligne | ||
| + | if (button3WasUp && !button3IsUp) { | ||
| + | delay(10); | ||
| + | button3IsUp = digitalRead(2); | ||
| + | if (!button3IsUp) { otv = otv + "3"; Serial.print("3"); w = 4;} | ||
| + | } | ||
| + | button3WasUp = button3IsUp; | ||
| + | } | ||
| + | |||
| + | /// ENTREZ LE TROISIÈME NUMÉRO /// | ||
| + | while (w == 4) { | ||
| + | // connaître le statut des boutons | ||
| + | boolean button1IsUp = digitalRead(5); | ||
| + | boolean button2IsUp = digitalRead(4); | ||
| + | boolean button3IsUp = digitalRead(2); | ||
| + | |||
| + | // si le bouton a été pressé, ajoutez "1" à la ligne | ||
| + | if (button1WasUp && !button1IsUp) { | ||
| + | delay(10); | ||
| + | button1IsUp = digitalRead(5); | ||
| + | if (!button1IsUp) { otv = otv + "1"; Serial.println("1"); w = 5;} | ||
| + | } | ||
| + | button1WasUp = button1IsUp; | ||
| + | |||
| + | // si le bouton a été pressé, ajoutez "2" à la ligne | ||
| + | if (button2WasUp && !button2IsUp) { | ||
| + | delay(10); | ||
| + | button2IsUp = digitalRead(4); | ||
| + | if (!button2IsUp) { otv = otv + "2"; Serial.println("2"); w = 5;} | ||
| + | } | ||
| + | button2WasUp = button2IsUp; | ||
| + | |||
| + | // si le bouton a été pressé, ajoutez "3" à la ligne | ||
| + | if (button3WasUp && !button3IsUp) { | ||
| + | delay(10); | ||
| + | button3IsUp = digitalRead(2); | ||
| + | if (!button3IsUp) { otv = otv + "3"; Serial.println("3"); w = 5;} | ||
| + | } | ||
| + | button3WasUp = button3IsUp; | ||
| + | } | ||
| + | |||
| + | /// COMPARER LA RÉPONSE AU CODE /// | ||
| + | if (KOD == otv ) { | ||
| + | Serial.println(""); Serial.println("OUI !"); Serial.println(""); | ||
| + | digitalWrite(7, HIGH); delay(1000); digitalWrite(7, LOW); | ||
| + | otv = ""; // effacer la ligne | ||
| + | w = 1; // générer un nouveau code | ||
| + | } | ||
| + | else { | ||
| + | Serial.println(""); Serial.println("NON !"); Serial.println(""); | ||
| + | Serial.print("Reponse - "); | ||
| + | digitalWrite(16, HIGH); delay(1000); digitalWrite(16, LOW); | ||
| + | otv = ""; // effacer la ligne | ||
| + | w = 2; // nouvelle tentative de saisie | ||
| + | } | ||
| + | |||
| + | |||
| + | } | ||
</pre> | </pre> | ||
| Ligne 19 : | Ligne 183 : | ||
[[Catégorie:Enib2023]] | [[Catégorie:Enib2023]] | ||
| + | |||
| + | FABIEN lab | ||
| + | |||
| + | ==fin== | ||
| + | [[Fichier:boite.jpg|600px]] | ||
| + | [[Fichier:cable.jpg|600px]] | ||
| + | |||
| + | [[Catégorie:Arduino]] | ||
Version actuelle datée du 15 janvier 2024 à 16:59
Sommaire
photo de l'équipe
Que fait ce projet ?
On créé un code a décoder.
Liste des composants
- bois
- carton
- peinture
- eau
- tasse
- pinceau
- découpeuse laser
- fils
- bouton poussoir
- led
- arduino
- pc
- patience
Code
byte x;
byte w = 1;
String otv = "";
String KOD = "";
// un tableau de variantes de code
char* kod[6] = {"123","132","213","231","312","321"};
boolean button1WasUp = true;
boolean button2WasUp = true;
boolean button3WasUp = true;
void setup() {
Serial.begin(9600);
// broches pour la connexion des boutons
pinMode(5, INPUT_PULLUP);
pinMode(4, INPUT_PULLUP);
pinMode(2, INPUT_PULLUP);
// broches pour la connexion des LED
pinMode(16, OUTPUT);
pinMode(7, OUTPUT);
pinMode(20,OUTPUT);
}
void loop() {
/// FONCTION DE GÉNÉRATION DE CODE ///
while (w == 1) {
delay(500);
digitalWrite(16, HIGH); digitalWrite(7, HIGH);
delay(100);
digitalWrite(16, LOW); digitalWrite(7, LOW);
x = random(0, 5);
KOD = String(kod[x]);
Serial.print("Kode - ");
Serial.println(KOD);
Serial.println("");
Serial.print("Reponse - ");
w = 2;
}
digitalWrite(20,HIGH);
/// ENTREZ LE PREMIER NUMÉRO ///
while (w == 2) {
// connaître le statut des boutons
boolean button1IsUp = digitalRead(5);
boolean button2IsUp = digitalRead(4);
boolean button3IsUp = digitalRead(2);
// si le bouton a été pressé, ajoutez "1" à la ligne
if (button1WasUp && !button1IsUp) {
delay(10);
button1IsUp = digitalRead(5);
if (!button1IsUp) { otv = otv + "1"; Serial.print("1"); w = 3;}
}
button1WasUp = button1IsUp;
// si le bouton a été pressé, ajoutez "2" à la ligne
if (button2WasUp && !button2IsUp) {
delay(10);
button2IsUp = digitalRead(4);
if (!button2IsUp) { otv = otv + "2"; Serial.print("2"); w = 3;}
}
button2WasUp = button2IsUp;
// si le bouton a été pressé, ajoutez "3" à la ligne
if (button3WasUp && !button3IsUp) {
delay(10);
button3IsUp = digitalRead(2);
if (!button3IsUp) { otv = otv + "3"; Serial.print("3"); w = 3;}
}
button3WasUp = button3IsUp;
}
/// ENTRER LE DEUXIÈME NUMÉRO ///
while (w == 3) {
// connaître le statut des boutons
boolean button1IsUp = digitalRead(5);
boolean button2IsUp = digitalRead(4);
boolean button3IsUp = digitalRead(2);
// si le bouton a été pressé, ajoutez "1" à la ligne
if (button1WasUp && !button1IsUp) {
delay(10);
button1IsUp = digitalRead(5);
if (!button1IsUp) { otv = otv + "1"; Serial.print("1"); w = 4;}
}
button1WasUp = button1IsUp;
// si le bouton a été pressé, ajoutez "2" à la ligne
if (button2WasUp && !button2IsUp) {
delay(10);
button2IsUp = digitalRead(4);
if (!button2IsUp) { otv = otv + "2"; Serial.print("2"); w = 4;}
}
button2WasUp = button2IsUp;
// si le bouton a été pressé, ajoutez "3" à la ligne
if (button3WasUp && !button3IsUp) {
delay(10);
button3IsUp = digitalRead(2);
if (!button3IsUp) { otv = otv + "3"; Serial.print("3"); w = 4;}
}
button3WasUp = button3IsUp;
}
/// ENTREZ LE TROISIÈME NUMÉRO ///
while (w == 4) {
// connaître le statut des boutons
boolean button1IsUp = digitalRead(5);
boolean button2IsUp = digitalRead(4);
boolean button3IsUp = digitalRead(2);
// si le bouton a été pressé, ajoutez "1" à la ligne
if (button1WasUp && !button1IsUp) {
delay(10);
button1IsUp = digitalRead(5);
if (!button1IsUp) { otv = otv + "1"; Serial.println("1"); w = 5;}
}
button1WasUp = button1IsUp;
// si le bouton a été pressé, ajoutez "2" à la ligne
if (button2WasUp && !button2IsUp) {
delay(10);
button2IsUp = digitalRead(4);
if (!button2IsUp) { otv = otv + "2"; Serial.println("2"); w = 5;}
}
button2WasUp = button2IsUp;
// si le bouton a été pressé, ajoutez "3" à la ligne
if (button3WasUp && !button3IsUp) {
delay(10);
button3IsUp = digitalRead(2);
if (!button3IsUp) { otv = otv + "3"; Serial.println("3"); w = 5;}
}
button3WasUp = button3IsUp;
}
/// COMPARER LA RÉPONSE AU CODE ///
if (KOD == otv ) {
Serial.println(""); Serial.println("OUI !"); Serial.println("");
digitalWrite(7, HIGH); delay(1000); digitalWrite(7, LOW);
otv = ""; // effacer la ligne
w = 1; // générer un nouveau code
}
else {
Serial.println(""); Serial.println("NON !"); Serial.println("");
Serial.print("Reponse - ");
digitalWrite(16, HIGH); delay(1000); digitalWrite(16, LOW);
otv = ""; // effacer la ligne
w = 2; // nouvelle tentative de saisie
}
}
Catégories
FABIEN lab
