Un clavier MineCraft avec l’Arduino

By 25 septembre 2014 février 4th, 2016 Débutant Arduino

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:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
/* 
 
   © 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)

Image_Minecraft1

 

 

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.

Fabien Aubret

About Fabien Aubret

Co-fondateur SimpleDuino, Co-fondateur SimpleDomo. Etudiant ingénieur à l'Ecole Nationale Supérieure des Arts Et Métiers (ENSAM). Passionné d'électronique, d'informatique et des nouvelles technologies en général, j'ai à cœur de transmettre ce que d'autres ont pu m'apprendre.

One Comment

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.