ENIB 2023 : Panique dans les Monts : Différence entre versions

De Les Fabriques du Ponant
Aller à : navigation, rechercher
(Que fait ce projet ?)
(Code)
 
(8 révisions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
  
==photo de l'équipe==
+
==Photo de l'équipe==
 
[[Fichier:photo_pdgo.jpg||600px]]
 
[[Fichier:photo_pdgo.jpg||600px]]
  
 
==Que faut-il faire dans ce projet ? ==
 
==Que faut-il faire dans ce projet ? ==
  
Deux alpinistes se sont perdu dans les monts durant une randonnée. Afin de sauver leur vie il faut résoudre une suite d'enigme. Chaque solution vous amènera a la prochaine pour qu'au final allumer les leds qui permettront aux alpinistes
+
Deux alpinistes se sont perdu dans les monts durant une randonnée. Afin de sauver leur vie il faut résoudre une suite d'enigme. Chaque solution vous amènera a la prochaine énigme pour trouver la trappe ou se trouve les alpinistes.
  
 
==Liste des composants==
 
==Liste des composants==
  
* composant 1
+
* W-mos D1 mini
* composant 2
+
* Ecran LCD
* ...
+
* Moteur
 +
* Bouton poussoir
 +
* Resistance
 +
 
 +
==Liste des machines utilisé==
 +
 
 +
* Découpeuse laser
 +
* Imprimante 3D
 +
* Pistolet a colle
 +
* Fer a souder
 +
 
 +
==Photos du câblage==
 +
[[Fichier:cablage1.jpg||400px]]
 +
[[Fichier:cablage2.jpg||400px]]
  
 
==Code==
 
==Code==
 
<pre>
 
<pre>
ici je pose mon code documenté !
+
#include <Servo.h>                    // permet de faire appel à la bibliothèque Servo
 +
 
 +
#include <Wire.h>
 +
#include <LiquidCrystal_I2C.h>
 +
 
 +
LiquidCrystal_I2C lcd(0x27,16,2);
 +
 
 +
Servo monservo;                      // crée une constante appelée « monservo » utilisable par la bibliothèque Servo.
 +
                                      // (vous pouvez la nommez comme vous voulez, exemple : servo_1, mais pensez à le remplacer dans le programme).
 +
 
 +
int boutonservo = D6;
 +
int boutonlcd = D7 ;                      // déclare le bouton poussoir sur la PIN 8.
 +
int etatboutonservo = 0;                  // variable représentant le bouton, soit ouvert ou fermé, ici au départ à 0 donc fermé.
 +
int etatboutonlcd = 0;                  // variable représentant le bouton, soit ouvert ou fermé, ici au départ à 0 donc fermé.
 +
 
 +
 
 +
void setup() {
 +
pinMode (boutonservo, INPUT) ;            // on indique que le bouton est une entrée.
 +
pinMode (boutonlcd, INPUT) ;            // on indique que le bouton est une entrée.
 +
 
 +
monservo.attach(D5);                  // commande de la bibliothèque Servo, qui consiste à « attacher » le servomoteur à la PIN 9
 +
monservo.write (0);
 +
 
 +
lcd.init();
 +
 
 +
}
 +
 
 +
void loop() {
 +
  etatboutonservo = digitalRead (boutonservo);  // On lit l’état du bouton pour savoir s’il est ouvert ou fermé
 +
 
 +
  if (etatboutonservo==HIGH) {            // Si la variable “etatbouton” est ouverte, à l’état haut, donc laisse passer le courant.
 +
    monservo.write (190);              // alors le servomoteur prend un angle de 90°.
 +
    delay(5000) ;                    // on attend un délais de 5 secondes
 +
 
 +
    lcd.backlight();
 +
      lcd.clear();
 +
      lcd.setCursor(0,0);
 +
      lcd.print("trouves le bouton");
 +
      lcd.setCursor(0,1);
 +
      lcd.print("des énigmes");
 +
    //monservo.write (0);              // le servomoteur revient à l’angle 0, sa position de départ. 
 +
    //delay(150);                      // crée un délais de 150 millisecondes avant de refaire la boucle et de tester à nouveau l’état du bouton.
 +
    }
 +
 
 +
  etatboutonlcd = digitalRead (boutonlcd);  // On lit l’état du bouton pour savoir s’il est ouvert ou fermé
 +
 
 +
  if (etatboutonlcd==HIGH) {
 +
      lcd.backlight();
 +
      lcd.clear();
 +
      lcd.setCursor(0,0);
 +
      lcd.print("Enigme 1");
 +
      lcd.setCursor(0,1);
 +
      lcd.print("Sans moi, Paris"); 
 +
      delay(2000);
 +
      lcd.clear();
 +
      lcd.setCursor(0,0);
 +
      lcd.print("Enigme 1");
 +
      lcd.setCursor(0,1);
 +
      lcd.print("serait pris !"); 
 +
      delay(2000);
 +
      lcd.clear();
 +
      lcd.setCursor(0,0);
 +
      lcd.print("Enigme 1");
 +
      lcd.setCursor(0,1);
 +
      lcd.print("Qui suis-je ? ");
 +
      delay(3000);
 +
      lcd.clear();
 +
      lcd.setCursor(0,0);
 +
      lcd.print("Enigme 2");
 +
      lcd.setCursor(0,1);
 +
      lcd.print("l'oiseau me "); 
 +
      delay(2000);
 +
      lcd.clear();
 +
      lcd.setCursor(0,0);
 +
      lcd.print("Enigme 2");
 +
      lcd.setCursor(0,1);
 +
      lcd.print("sort et l'humain "); 
 +
      delay(2000);
 +
      lcd.clear();
 +
      lcd.setCursor(0,0);
 +
      lcd.print("Enigme 2");
 +
      lcd.setCursor(0,1);
 +
      lcd.print("me vole! ");
 +
      delay(2000);
 +
      lcd.clear();
 +
      lcd.setCursor(0,0);
 +
      lcd.print("Enigme 2");
 +
      lcd.setCursor(0,1);
 +
      lcd.print("Qui suis-je ? ");
 +
 
 +
    }       
 +
       
 +
   
 +
}
 +
 
 +
 
 +
 
 
</pre>
 
</pre>
  

Version actuelle datée du 26 janvier 2023 à 15:04

Photo de l'équipe

Photo pdgo.jpg

Que faut-il faire dans ce projet ?

Deux alpinistes se sont perdu dans les monts durant une randonnée. Afin de sauver leur vie il faut résoudre une suite d'enigme. Chaque solution vous amènera a la prochaine énigme pour trouver la trappe ou se trouve les alpinistes.

Liste des composants

  • W-mos D1 mini
  • Ecran LCD
  • Moteur
  • Bouton poussoir
  • Resistance

Liste des machines utilisé

  • Découpeuse laser
  • Imprimante 3D
  • Pistolet a colle
  • Fer a souder

Photos du câblage

Cablage1.jpg Cablage2.jpg

Code

#include <Servo.h>                    // permet de faire appel à la bibliothèque Servo

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,16,2);

Servo monservo;                       // crée une constante appelée « monservo » utilisable par la bibliothèque Servo.
                                      // (vous pouvez la nommez comme vous voulez, exemple : servo_1, mais pensez à le remplacer dans le programme).

int boutonservo = D6; 
int boutonlcd = D7 ;                      // déclare le bouton poussoir sur la PIN 8.
int etatboutonservo = 0;                   // variable représentant le bouton, soit ouvert ou fermé, ici au départ à 0 donc fermé.
int etatboutonlcd = 0;                   // variable représentant le bouton, soit ouvert ou fermé, ici au départ à 0 donc fermé.


void setup() {
pinMode (boutonservo, INPUT) ;             // on indique que le bouton est une entrée.
pinMode (boutonlcd, INPUT) ;             // on indique que le bouton est une entrée.

monservo.attach(D5);                   // commande de la bibliothèque Servo, qui consiste à « attacher » le servomoteur à la PIN 9
monservo.write (0); 

lcd.init();

}

void loop() {
  etatboutonservo = digitalRead (boutonservo);  // On lit l’état du bouton pour savoir s’il est ouvert ou fermé

  if (etatboutonservo==HIGH) {            // Si la variable “etatbouton” est ouverte, à l’état haut, donc laisse passer le courant.
    monservo.write (190);              // alors le servomoteur prend un angle de 90°.
    delay(5000) ;                     // on attend un délais de 5 secondes 

    lcd.backlight();
      lcd.clear();
      lcd.setCursor(0,0);
      lcd.print("trouves le bouton");
      lcd.setCursor(0,1);
      lcd.print("des énigmes"); 
    //monservo.write (0);               // le servomoteur revient à l’angle 0, sa position de départ.   
    //delay(150);                       // crée un délais de 150 millisecondes avant de refaire la boucle et de tester à nouveau l’état du bouton.
    }
  
   etatboutonlcd = digitalRead (boutonlcd);  // On lit l’état du bouton pour savoir s’il est ouvert ou fermé

  if (etatboutonlcd==HIGH) {
      lcd.backlight();
      lcd.clear();
      lcd.setCursor(0,0);
      lcd.print("Enigme 1");
      lcd.setCursor(0,1);
      lcd.print("Sans moi, Paris");  
      delay(2000);
      lcd.clear();
      lcd.setCursor(0,0);
      lcd.print("Enigme 1");
      lcd.setCursor(0,1); 
      lcd.print("serait pris !");  
      delay(2000);
      lcd.clear();
      lcd.setCursor(0,0);
      lcd.print("Enigme 1");
      lcd.setCursor(0,1); 
      lcd.print("Qui suis-je ? "); 
      delay(3000);
      lcd.clear();
      lcd.setCursor(0,0);
      lcd.print("Enigme 2");
      lcd.setCursor(0,1);
      lcd.print("l'oiseau me ");  
      delay(2000);
      lcd.clear();
      lcd.setCursor(0,0);
      lcd.print("Enigme 2");
      lcd.setCursor(0,1); 
      lcd.print("sort et l'humain ");  
      delay(2000);
      lcd.clear();
      lcd.setCursor(0,0);
      lcd.print("Enigme 2");
      lcd.setCursor(0,1); 
      lcd.print("me vole! "); 
      delay(2000);
      lcd.clear();
      lcd.setCursor(0,0);
      lcd.print("Enigme 2");
      lcd.setCursor(0,1); 
      lcd.print("Qui suis-je ? "); 

    }        
        
    
}



Catégories