////////////////////////// // Code Mobi.doc // ////////////////////////// /* Ce programme est issu du site https://latelier-des-chercheurs.fr/docs/station-de-documentation * Il permet d'émuler un clavier et sert à fabriquer un boitier de commande déporté pour le logiciel Do•doc * dasé sur une carte de type arduino pro micro avec un ATmega32U4. * Dans le logiciel Arduino, dans "type de carte", choisir "Arduino Leonardo". * * MATERIEL : * 1 Arduino Pro Micro (ATmega32U4). * 3 bouton de type borne d'arcade * 1 cable USB-microUSB * Du fil électrique BROCHAGE _________________ | Pro micro | | ATmega32U4 | |[ ]10 9[ ]| |[ ]16 8[ ]| |[ ]14 7[X]|Bouton valider |[ ]15 6[X]|Bouton précédent |[ ]A0 5[X]|Bouton suivant |[ ]A1 4[ ]| |[ ]A2 3[ ]| |[ ]A3 2[ ]| |[ ]VCC GND[ ]| |[ ]RST GND[ ]| Terre des 3 boutons|[X]GND RX1[ ]| |[ ]RAW TX0[ ]| | +---+ | |______|USB|______| Sous licence CC-By-Nc-Sa - L'Atelier des Chercheurs. modifié par Antony Auffret - Les petits débrouillards mars 2018 */ #include // on inclue la bibliothèque qui gère l'émulation de clavier // affectation des broches int brocheBoutonSuivant = 5; int brocheBoutonPrecedent = 6; int brocheBoutonValide = 7; void setup() { Serial.begin(9600); pinMode(brocheBoutonSuivant, INPUT); // Configure la broche en entrée digitalWrite(brocheBoutonSuivant, HIGH); // Met la broche en état "haut" pinMode(brocheBoutonPrecedent, INPUT); // Configure la broche en entrée digitalWrite(brocheBoutonPrecedent, HIGH); // Met la broche en état "haut" pinMode(brocheBoutonValide, INPUT); // Configure le broche en entrée digitalWrite(brocheBoutonValide, HIGH); // Met la broche en état "haut" } void loop() { if (digitalRead(brocheBoutonSuivant) == 0) // Quand on appuie sur le bouton, la broche est dans l'état "bas" { Keyboard.write('s'); // envoie un "s" à l'ordinateur par la fonctionalité Keyboard HID delay(400); // un délai pour éviter d'envoyer plusieurs caractères } if (digitalRead(brocheBoutonPrecedent) == 0) // Quand on appuie sur le bouton, la broche est dans l'état "bas" { Keyboard.write('z'); // envoie un "z" delay(400); // délai } if (digitalRead(brocheBoutonValide) == 0) // Quand on appuie sur le bouton, la broche est dans l'état "bas" { Keyboard.write('a'); // envoie un "a" delay(400); // délai } }