souris-cercle.ino

Arduino Micro · 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 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);
}

← Retour à la fiche