potentiometre-souris.ino
La desviación del potenciómetro respecto a su reposo se convierte en velocidad del cursor: la placa hace de trackball. El calibrado ocurre al arrancar: centre el potenciómetro antes de alimentar.
Hardware necesario
Un Arduino Micro (ATmega32U4, 16 MHz, 5 V) en formato para protoboard con conector micro-USB y USB nativo (teclado/ratón). 1 potenciómetro de 10 kΩ.
Cableado
Extremos a 5 V/GND, cursor a A0.
Funcionamiento
Una zona muerta de ±30 evita la deriva; la velocidad se limita a ±10 px por paso de 20 ms. En el Arduino IDE, elija « Arduino Micro » y el puerto, y suba. En Windows puede requerirse un driver .inf para el puerto COM. Como el 32U4 es el propio USB, un mal sketch puede bloquear el reflujo (doble reset).
Para ir más lejos
Un segundo potenciómetro en A1 añade el eje Y para un cursor de 2 ejes.
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);
}