LockBoxAlien


Résolvez des énigmes à 2 pour connaitre le fin de mot l'histoire !

JoliAfficheur.jpg

Statut du projet

Prototype

Statut de la publication

Publié

License

CC-by-sa-3.0 - Creative Commons Attribution CC-by-sa-3.0 France

Inspiration

Nous nous inspiré des énigmes que l'on retrouve dans les escapes games, nous les avons appliqué ici à l'ouverture d'un artefact alien !

Fichiers source

Machines




Le jeu débute par par mini jeu type Dr Maboul, les joeurs doivent récupérer des indices qui vont permettre de résoudre les énigmes suivantes sans faire sonner le buzzer !


Enigme 1 Déchiffrer un code composé de symbole Alien grâce à la coopération entre les 2 joueurs. Code : // This #include statement was automatically added by the Particle IDE.

  1. include <Grove_OLED_128x64.h>

unsigned long last_push; boolean appuyer = false; int ledPin = D7; int buttonPin1 = D5; int buttonPin2 = D4; int buttonPin3 = D3; int val = 0; String result = "aaaa"; String mdp = "";


void setup() {

   pinMode(ledPin, OUTPUT);
   pinMode (buttonPin1, INPUT);
   pinMode (buttonPin2, INPUT);
   pinMode (buttonPin3, INPUT);


    Wire.begin();
    SeeedOled.init();
    SeeedOled.clearDisplay();
    SeeedOled.setNormalDisplay();
    SeeedOled.setTextXY(0,0);
    SeeedOled.putString("hello world");

}

void loop() {

   if ((digitalRead(buttonPin1) == 1)||(digitalRead(buttonPin2) == 1)||(digitalRead(buttonPin3) == 1)){
       digitalWrite(ledPin, LOW);
       last_push = millis();
       appuyer = true;
       //delay(500);
   }else{
       digitalWrite(ledPin, LOW);
   }
   
   if (digitalRead(buttonPin1) == 1){
       mdp.concat("a");
       delay(200);
   }


Enigme 2 Jeux du Twister avec les doigts, les 2 jeux doivent trouver la bonne combinaison de touches a appuyer en même temps

Code: // This #include statement was automatically added by the Particle IDE.

  1. include <Grove_OLED_128x64.h>

unsigned long last_push; boolean appuyer = false; int ledPin = D7; int buttonPin1 = D3; //int buttonPin2 = D4; //int buttonPin3 = D3;


void setup() {

   pinMode(ledPin, OUTPUT);
   pinMode (buttonPin1, INPUT);
   
   
    Wire.begin();
    SeeedOled.init();
    SeeedOled.clearDisplay();
    SeeedOled.setNormalDisplay();
    SeeedOled.setTextXY(0,0);
    SeeedOled.putString("hello world");
    delay(500);
    SeeedOled.clearDisplay();

}

void loop() {

   if (digitalRead(buttonPin1) == 1){
       digitalWrite(ledPin, HIGH);
       last_push = millis();
       appuyer = true;
       SeeedOled.setTextXY(0,0);
       SeeedOled.putString("code");
       delay(800);
       SeeedOled.clearDisplay(); 
       //delay(500);
   }else{
       digitalWrite(ledPin, LOW);
   }
       
       
   }

Enigme 3 Effectuer les bons branchements pour trouver le code

int fils1 = D3; int led = D7; void setup() {

   pinMode(fils1, INPUT);
   pinMode(led, OUTPUT);
   

}

void loop() {

if(digitalRead(fils1) == HIGH){

      digitalWrite(led, HIGH); 
   }else{
       digitalWrite(led, LOW);
   }

}

Ouverture Finale L'ouverture finale se réalise à l'aide d'un potentientiomètre commandant un moteur brushless Code : int MotorPin = A4; // Moteur brushless int analogPin = A0; // potentiometre int val = 0;

void setup() {

 pinMode(ledPin, OUTPUT);     

}

void loop() {

 val = analogRead(analogPin); // lire l'entrée
 analogWrite(MotorPin, val/16); // les valeurs vont de  0 à 4095,
                              // les valeurs d'analogWrite vont de 0 à 255
 //delay(10);

}