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 Leonardo (ATmega32U4, 16 MHz, 5 V) dont l'USB est natif : la carte peut se faire passer pour un clavier ou une 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 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
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);
}