souris-cercle.ino
La bibliothèque Mouse énumère une souris HID relative : Mouse.move déplace le pointeur pixel par pixel. Ouvrez un logiciel de dessin et admirez le cercle tracé tout seul — la démo classique du 32U4.
Matériel requis
Une Arduino Micro (ATmega32U4, 16 MHz, 5 V) au format painboard avec connecteur micro-USB et USB natif (clavier/souris). Aucun.
Branchement
Câble USB vers l'ordinateur.
Fonctionnement
Les coordonnées relatives sont calculées sur un cercle de 50 px et envoyées toutes les 10 ms ; le pointeur suit la trajectoire. 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
Ajoutez un potentiomètre sur A0 pour piloter le rayon, ou un bouton pour cliquer (Mouse.click).
souris-cercle.ino
// L'Arduino devient une souris HID : deplace le curseur en cercle.
#include <Mouse.h>
void setup() {
Mouse.begin();
delay(2000);
Mouse.move(100, 0); // part du centre vers la droite
}
void loop() {
const int RAYON = 50;
for (int degre = 0; degre < 360; degre += 5) {
float a = degre * 3.14159 / 180.0;
float b = (degre + 5) * 3.14159 / 180.0;
int dx = (int)(RAYON * (cos(b) - cos(a)));
int dy = (int)(RAYON * (sin(b) - sin(a)));
Mouse.move(dx, dy);
delay(10);
}
delay(1000);
}