Intégration au panel :
La question de savoir où placer les touches tactiles, une fois vérifié qu'elles étaient bien détectées à travers le plastique, bah elle a été vite répondue.
Droitier, donc à droite là où y'a de la place, et le lecteur RFID, à gauche. On dessinera un petit visuel sur la déco pour localiser tout ça.
- On creuse le dessus du panel donc, pour loger le pavé tactile MPR121, ici au ciseau à bois, ne disposant pas de la défonceuse électrique.

Puis un trou pour passer les câbles et un creux supplémentaire pour ne pas gêner les puces.
- Et voilà l'idée en image, c'est maintenant clair…

Pour les câbles j'ai pris soin de faire les soudures les plus plates possible afin de ne pas gêner le plexi, voire même de limer les plus gênantes.
- Pour le lecteur RFID, c'est plus simple, deux vis… Reste à raccorder ça sur la plaquette Arduino.
- Avec la déco ainsi marquée, on sait maintenant ou apposer son badge et où taper le code.

À propos de badge, deux m'ont été livrés avec le module PN532, et pour en obtenir d'autres il faut faire attention de bien choisir un modèle compatible avec ce lecteur, à savoir ISO14443A MF Classic 1K S50, 13.56MHz
Code Arduino :
C'est une nouvelle fois grâce à CrazyRedMachine que j'ai pu progresser très vite sur la partie RFID, grâce à un dérivé du code écrit à la base pour un autre type de lecteur RFID, disponible donc dans une branche de son dépôt github. Pour la partie tactile, je me suis débrouillé avec les exemples que j'ai pu trouver.
J'ai donc mixé le code que j'ai écris pour le MPR121 utilisé comme clavier USB (avec les touches du pavé numérique configurées), avec le code PN532-cardio de Mr Red, en simplifiant celui-ci pour ne garder que l'essentiel, ce qui à mon niveau me simplifie grandement sa lecture.
Concernant le MPR121, j'utilise la librairie Adafruit_MPR121, qu'il faut bien penser à la modifier manuellement, afin d'augmenter la sensibilité des touches pour qu'elles puissent être détectées à travers le plastique de 2,5 mm d'épais.
- Donc d'origine, le fichier Adafruit_MPR121.h stocké chez-moi sur ~/Arduino/libraries/Adafruit_MPR121 propose ces réglages de THRESHOLD :
// The default I2C address #define MPR121_I2CADDR_DEFAULT 0x5A ///< default I2C address #define MPR121_TOUCH_THRESHOLD_DEFAULT 12 ///< default touch threshold value #define MPR121_RELEASE_THRESHOLD_DEFAULT 6 ///< default relese threshold value
- Qu'il faut donc passer de 12 à 2, et 6 à 0 :
// The default I2C address #define MPR121_I2CADDR_DEFAULT 0x5A ///< default I2C address #define MPR121_TOUCH_THRESHOLD_DEFAULT 2 ///< default touch threshold value #define MPR121_RELEASE_THRESHOLD_DEFAULT 0 ///< default relese threshold value
À ajuster sinon aux matériaux dont on dispose.
- Le code étant plus complexe que ce que j'ai l'habitude de poster ici, avec notamment des dépendances de fichiers, il est disponible sur ma page github.
- Une petite vidéo :
Ressources :
- https://diyelectromusic.wordpress.com/2021/07/04/arduino-mpr121-midi-touch-piano/
- https://learn.sparkfun.com/tutorials/mpr121-hookup-guide/all
- https://electropeak.com/learn/interfacing-mpr121-touch-3x4-keypad-module-with-arduino/
- https://learn.adafruit.com/adafruit-mpr121-12-key-capacitive-touch-sensor-breakout-tutorial/wiring
- http://wiki.sunfounder.cc/index.php?title=PN532_NFC_RFID_Module






