Co-Processeur USB Host SAMD21 pour projet MicroControleur

S'il y a bien un problème universellement connu dans nos projets microcontrôleurs, c'est les périphériques de saisie.

S'il est généralement facile de faire passer un MicroContrôleur pour un clavier par contre faire passer notre MicroContrôleur pour un Hôte USB (afin d'y brancher un clavier/souris) c'est une toute autre histoire... généralement décevante.

Perso: cela fait longtemps que je voudrais ajouter un clavier sur mes microcontrôleurs MicroPython afin de faciliter la saisie des informations.

USB Host CoProcessor

Au hasard de mes nombreuses recherches sur le sujet, je suis tombé sur le projet usbhostcopro (GitHub) qui utilise un processeur SAMD21 (largement utilisé dans les produit Adafruit) pour capturer les information d'un périphérique HID USB (clavier) et transmettre l'information sur un UART.


Le projet contient différentes implémentations. Les plus intéressantes sont:

  • KBDUARTUSBH : simple conversion de touche pressée sur un clavier USB vers l'UART (sous forme de contenu ASCII).
  • KBDADVUARTUSBH : qui transfert les rapport HID vers le port série. Cela permet de détecter les touches plutôt que leur représentation ASCII permettant ainsi de capturer des séquences comme "Ctrl+A", "Alt+E", "Ctrl+Alt+Del"

Quelle carte SAMD21?

Le projet GitHub exploite des Trinket M0 d'Adafruit Industries.

Ressources

Aucun commentaire