LockBoxAlien : Différence entre versions

De fablabo
Aller à : navigation, rechercher
 
Ligne 10 : Ligne 10 :
 
|url=http://fablabo.net/wiki/LockBoxAlien
 
|url=http://fablabo.net/wiki/LockBoxAlien
 
}}
 
}}
Le jeu débute par par jeu type Dr Maboul pour récupérer des indices qui vont permettre de résoudre les énigmes suivantes.
+
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 !
  
  
Ligne 126 : Ligne 126 :
 
         digitalWrite(led, LOW);
 
         digitalWrite(led, LOW);
 
     }
 
     }
 +
}
 +
 +
<big>'''Ouverture Finale'''</big> 
 +
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);
 
}
 
}

Version actuelle en date du 9 avril 2018 à 22:16


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);

}