souris-cercle.ino

Arduino Leonardo — Fiche carte · Fichier : souris-cercle.ino · Langage : Arduino · Usage : Dessiner un cercle avec le pointeur de la souris piloté par la carte

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

← Retour à la fiche