potentiometre-souris.ino

Arduino Micro · 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 Micro (ATmega32U4, 16 MHz, 5 V) au format painboard avec connecteur micro-USB et USB natif (clavier/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 Micro » et le port, puis Téléverser. Sous Windows, un pilote .inf peut être requis pour le port COM. Le 32U4 étant l'USB, un mauvais sketch peut bloquer le reflash (reset double).

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