Pointeur PowerPoint Arduino – Contrôle sans fil fluide des présentations
Composants nécessaires
| Arduino Leonardo | 1 |
| Récepteur IR (générique, ex. VS1838B) | 1 |
| Télécommande TV | 1 |
| Plaque d'essai (optionnel, pour shield maison) | 1 |
Principe du projet
L'idée est née d'une frustration : lors d'une présentation PowerPoint, il est fastidieux de rester collé à la souris pour changer les diapositives. Une télécommande TV, plus ergonomique, peut avantageusement la remplacer. Ce projet utilise un Arduino Leonardo (qui émule nativement un clavier USB) pour traduire les signaux infrarouges de la télécommande en frappes clavier (flèches gauche/droite).
Schéma de câblage
Le branchement est très simple :
- GND du capteur IR → GND Arduino
- VCC du capteur IR → 5V Arduino
- Broche DATA du capteur IR → Pin numérique 2 Arduino
Un shield sur plaque d'essai peut être réalisé pour une installation plus propre.
Logiciel : deux étapes
Étape 1 – Décoder les codes de la télécommande
Installez la bibliothèque IRremote (via le gestionnaire de bibliothèques Arduino). Téléversez le sketch PPT_Pointer_Code_1.ino et ouvrez le moniteur série (9600 bauds). Appuyez sur les touches souhaitées de la télécommande (ex. flèches haut/bas ou gauche/droite) et notez les valeurs hexadécimales ou décimales affichées.
Étape 2 – Associer les codes aux actions clavier
Dans le sketch PPT_Pointer_Code_2.ino, remplacez les valeurs 18105 et -22951 par vos propres codes. Ce sketch utilise la bibliothèque Keyboard.h (incluse avec l'IDE pour Leonardo) pour envoyer KEY_RIGHT_ARROW et KEY_LEFT_ARROW.
Utilisation sous PowerPoint
Une fois le code téléversé, l'Arduino est reconnu comme un clavier. En mode « Diaporama », les touches programmées font avancer ou reculer les diapositives. Plus besoin de souris !
Autres cartes Arduino
Sur Arduino Uno, Nano ou Mega, la puce USB (ATmega8U2/16U2) doit être reflashée pour émuler un clavier (projet HoodLoader2 ou Arduino Keyboard). Les cartes à MCU natif USB (Leonardo, Micro, Due, Zero) fonctionnent directement.
Codes sources
PPT_Pointer_Code_1.ino (Décodage)
#include <IRremote.h>
int RECV_PIN = 2;
IRrecv irrecv(RECV_PIN);
decode_results results;
int key_pressed;
void setup() {
Serial.begin(9600);
irrecv.enableIRIn();
}
void loop() {
if (irrecv.decode(&results)) {
key_pressed = results.value;
Serial.println(key_pressed);
irrecv.resume();
}
delay(100);
}
PPT_Pointer_Code_2.ino (Contrôle PowerPoint)
#include <IRremote.h>
#include <Keyboard.h>
int RECV_PIN = 2;
IRrecv irrecv(RECV_PIN);
decode_results results;
int key_pressed;
int last_key_pressed;
void setup() {
Serial.begin(9600);
irrecv.enableIRIn();
Keyboard.begin();
}
void loop() {
if (irrecv.decode(&results)) {
key_pressed = results.value;
Serial.println(key_pressed);
irrecv.resume();
}
// Anti-rebond simple
if (key_pressed == last_key_pressed) key_pressed = 0;
// Remplacez ces valeurs par vos codes
if (key_pressed == 18105) { // Touche "Avancer"
Keyboard.press(KEY_RIGHT_ARROW);
Keyboard.releaseAll();
}
if (key_pressed == -22951) { // Touche "Reculer"
Keyboard.press(KEY_LEFT_ARROW);
Keyboard.releaseAll();
}
last_key_pressed = key_pressed;
}
Processus de fabrication
- Pointeur laser : conception, fabrication et aperçu de la sécurité
- Construire une télécommande universelle Raspberry Pi professionnelle avec LIRC
- Construire un Spybot Arduino piloté par Bluetooth
- FlickMote : Télécommande IR à gestes pour maison connectée
- TV-B-Gone DIY Arduino : Télécommande universelle pour toutes les TV
- Construire une télécommande Android universelle avec Arduino, 1Sheeld et contrôle IR
- Construire une horloge maître LED personnalisée avec alarme – Visible à 12 mètres
- Find Me : Localisateur d'objets intelligent avec Arduino et Bluetooth
- Solutions d'alimentation optimisées pour projets Arduino