ENIB 2023 : D2CODE TON CODE : Différence entre versions
(→fin) |
|||
(2 révisions intermédiaires par un autre utilisateur non affichées) | |||
Ligne 185 : | Ligne 185 : | ||
FABIEN lab | FABIEN lab | ||
+ | |||
+ | ==fin== | ||
+ | [[Fichier:boite.jpg|600px]] | ||
+ | [[Fichier:cable.jpg|600px]] | ||
+ | |||
+ | [[Catégorie:Arduino]] |
Version actuelle datée du 15 janvier 2024 à 15: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