Minecraft… On ne présente plus ce jeu désormais mondialement connu. Un gameplay simpliste, des graphismes basiques, bref c’est un jeu très simple mais qui ouvre sur des possibilités infinies de construction. Microsoft a même décidé de le racheter il y a quelques jours. Aujourd’hui, on trouve de nombreux projets Arduino en lien avec Minecraft mais nous avons souhaité ici vous présenter le projet original d’un utilisateur de l’Arduino. En effet, il a décidé de fabriquer un clavier plus simple à utiliser pour jouer à son jeu favoris. Ici, ce n’est pas le projet en lui-même qui est intéressant mais plutôt la façon dont il a été réalisé notamment au niveau logiciel.
Ainsi, si nous vous posons le script du projet devant les yeux comme ceci:
/*
© 2014 Lakhan Mankani All Rights Reserved.
No part of this code may be used for productional purposes
without the prior permission in writing of Lakhan Mankani
*/
void setup() { //This runs only once
pinMode(2, INPUT_PULLUP);//Define pin 2 as input
pinMode(3, INPUT_PULLUP);//Define pin 3 as input
pinMode(4, INPUT_PULLUP);//Define pin 4 as input
pinMode(5, INPUT_PULLUP);//Define pin 5 as input
pinMode(6, INPUT_PULLUP);//Define pin 6 as input
pinMode(7, INPUT_PULLUP);//Define pin 7 as input
pinMode(8, INPUT_PULLUP);//Define pin 8 as input
pinMode(9, INPUT_PULLUP);//Define pin 9 as input
pinMode(10, INPUT_PULLUP);//Define pin 10 as input
Keyboard.begin();
}
void loop() { //Runs continuously
if(digitalRead(2) == HIGH){ //If the button 2 is pressed
Keyboard.write(113);//Drop item (q)
delay(200);//Wait 0.2 seconds
}
if(digitalRead(3) == HIGH){ //If the button 3 is pressed
Keyboard.write(101);//Inventory (e)
delay(1000);//Wait 1 second
}
if(digitalRead(4) == HIGH){ //If the button 4 is pressed
Keyboard.press(KEY_LEFT_SHIFT);//Sneack (LShift)
delay(200);//Wait 0.2 seconds
Keyboard.releaseAll();//Release the key
}
if(digitalRead(5) == HIGH){ //If the button 5 is pressed
Keyboard.press(' ');//Jump /Fly (Space Bar)
delay(20);//Wait 0.02 seconds
Keyboard.releaseAll();//Release the key
}
if(digitalRead(6) == HIGH){ //If the button 6 is pressed
Keyboard.press('a');//Strafe Left (A)
delay(200);//Wait 0.2 seconds
Keyboard.releaseAll();//Release the key
}
if(digitalRead(7) == HIGH){ //If the button 7 is pressed
Keyboard.press('w');//Walk Forwards (W)
delay(20);//Wait 0.02 seconds
Keyboard.releaseAll();//Release the key
}
if(digitalRead(8) == HIGH){ //If the button 8 is pressed
Keyboard.press('d');//Strafe Right (D)
delay(200);//Wait 0.2 seconds
Keyboard.releaseAll();//Release the key
}
if(digitalRead(9) == HIGH){ //If the button 9 is pressed
Keyboard.press('s');//Walk Backwards (S)
delay(200);//Wait 0.2 seconds
Keyboard.releaseAll();//Release the key
}
if(digitalRead(10) == HIGH) { //If the button 10 is pressed
Keyboard.press(KEY_ESC);//Escape(Pause)
delay(1000);//Wait 1 second
Keyboard.releaseAll();//Release the key
}
}
Alors ? vous avez remarqué cette librairie Keyboard ? En fait, elle permet de simuler l’interaction avec des touches de votre clavier. Concrètement, elle permet faire ceci: Bouton1_HIGH –> Librairie Keyboard –> Touche <X> du clavier enfoncée
Les possibilités de cette librairie son énorme ! On peut contrôler n’importe quel logiciel grâce à des touches réagencées ou moins classiques (on pense ici aux cockpits d’avions que les passionnés créés pour jouer sur leurs simulateurs)
Le plus incroyable c’est que ce projet n’utilise que des boutons, des résistances de 10kohms et un Arduino UNO…
On pense faire un tutoriel prochainement sur l’utilisation de cette librairie… Qu’en pensez-vous ?
Répondez en commentaires et partagez notre article !
Cet article a été publié avec l’accord de l’auteur du projet. Cette autorisation n’est applicable qu’à Simple-Duino selon ses mots. Visitez le site de l’auteur pour plus d’informations:
http://technologygarage.webs.com/minecraft-gaming-keyboard
Merci à l’auteur du projet pour son autorisation.
Ne fonctionne pas avec une Arduino Uno ! Les seules cartes supportées sont : Leonardo, Esplora, Zero, Due et les séries MKR !