potentiometre-souris.ino

Arduino Leonardo — Fiche carte · Fichier : potentiometre-souris.ino · Langage : Arduino · Usage : Un potentiomètre qui déplace le curseur de la souris comme un mini trackball

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);
}

← Retour à la fiche