potentiometre-souris.ino
L'écart du potentiomètre à sa position de repos devient la vitesse du pointeur : la carte joue les tracksball. Le calibrage se fait au démarrage — posez le potentiomètre au centre avant d'alimenter.
Matériel requis
Une Arduino Leonardo (ATmega32U4, 16 MHz, 5 V) dont l'USB est natif : la carte peut se faire passer pour un clavier ou une souris. 1 potentiomètre 10 kΩ.
Branchement
Extrêmes sur 5 V/GND, curseur sur A0.
Fonctionnement
La zone morte de ±30 évite la dérive ; la vitesse est bornée à ±10 px par pas de 20 ms. Dans l'Arduino IDE, choisissez « Arduino Leonardo » et le port, puis Téléverser. Attention : un sketch qui s'endort trop vite peut « perdre » le port USB ; maintenez RESET 12 s pour effacer le bootloader.
Pour aller plus loin
Un second potentiomètre sur A1 ajoute l'axe Y pour un pointeur 2 axes.
potentiometre-souris.ino
// Potentiometre sur A0 : ecart au centre = vitesse du curseur.
#include <Mouse.h>
const int POT = A0;
int centre = 0;
void setup() {
Serial.begin(9600);
Mouse.begin();
centre = analogRead(POT); // position au demarrage = repos
Serial.print(F("Centre: "));
Serial.println(centre);
}
void loop() {
int v = analogRead(POT);
int ecart = v - centre;
if (abs(ecart) > 30) {
Mouse.move(constrain(ecart / 20, -10, 10), 0);
}
delay(20);
}