clavier_media.ino
Le 32U4 est un périphérique USB complet : un bouton du connecteur devient une touche média envoyée à... l'hôte LattePanda lui-même. Le circuit complet bouton → HID → système, sans fil ni driver.
Matériel requis
Une LattePanda 3 Delta (x86 Intel N5105, Windows 10/11 ou Ubuntu) avec son coprocesseur Arduino compatible (ATmega32U4) relié aux deux connecteurs 50 broches. 1 bouton poussoir (D2 vers GND).
Branchement
Bouton entre D2 et GND. Le MCU est relié à l'hôte par le bus série interne — l'USB HID part du 32U4 vers le PC via le contrôleur interne.
Fonctionnement
Keyboard.write envoie un rapport HID standard ; le noyau de l'hôte le traite comme un clavier réel. Le maintien cadence les répétitions à 1 Hz. Côté hôte : pip install pinpong puis python3. Côté MCU : l'ATmega32U4 apparaît comme un port COM — programmez-le avec l'Arduino IDE (carte « Arduino Leonardo »).
Pour aller plus loin
Pavé de raccourcis pour le studio (mute micro, play), ou combo clavier+souris pour une présentation.
clavier_media.ino
// Cote MCU (carte « Arduino Leonardo ») : le 32U4 est le clavier.
// Bouton D2 = touche volume +/- ; le PC (l'hote !) recoit les medias.
#include <Keyboard.h>
const int BOUTON = 2;
void setup() {
pinMode(BOUTON, INPUT_PULLUP);
Keyboard.begin();
}
void loop() {
if (digitalRead(BOUTON) == LOW) {
Keyboard.write(KEY_MEDIA_VOLUME_UP);
delay(150); // repetition volontairement lente
while (digitalRead(BOUTON) == LOW) {
if (millis() % 1000 < 20) Keyboard.write(KEY_MEDIA_VOLUME_UP);
delay(5);
}
}
// Raccourcis utiles : KEY_MEDIA_PLAY_PAUSE, KEY_LEFT_GUI...
}