Bonjour JP, bonjour à tous.
La version Arduino Nano se doit d’être minimaliste:
- Matriçage des 10 contacts des 3 commutateurs rotatifs.
- Il aurait été possible d’utiliser 3 des sorties PWM de l’Arduino mais:[list][*]elles doivent être suivies des 3 filtres passe-bas et du sommateur déjà proposés et simulés, ce qui complexifie le schéma et va à l’opposé de la simplicité recherchée en augmentant le nombre de composants nécessaires,
- l’amplitude des signaux PWM est liée à celle de l’alimentation de l’ATmega et non pas à une tension de référence fiable.
[/:m][]Un DAC MCP4821 serait une solution nettement plus optimale:* avec 4096 échelons pour une référence interne de 2048 mV et un gain fixé à 2 pour l’amplificateur incorporé, ce DAC délivre donc en sortie 1mV par échelon, - suivi d’un amplificateur booster (TCA0372) dont le gain est fixé à 2,5, on obtient alors 10 mV pour 4 échelons, soit 10 volts pour 4000 de ces échelons.
[/*:m][/list:u]
Exemple de raccordement (arbitraire) des contacts des 3 commutateurs sur les pins de l’Arduino Nano:
Le prototype avec un Arduino nano V3, je n’avais sous la main que des commutateurs 3 circuits 4 positions ce qui limite actuellement l’expérimentation à 4 chiffres au lieu de 10 par commutateur:
Au départ je pensais pouvoir utiliser des procédures de la bibliothèque « keypad » livrée en standard avec l’IDE Arduino. Les commutateurs étant alors déclarés comme 3 claviers 1×10 partageant les mêmes horizontales au lieu d’un seul clavier matricé 3×10n, à l’instar de l’exemple « HelloKeypad3 » Cette configuration permettait de définir les contacts et les pins de l’Arduino indépendamment des commutateurs.
Je me suis vite aperçu que cette bibliothèque conçue pour des claviers dont les contacts sont fugitifs dysfonctionnait avec des contacts permanents. J’ai donc dû écrire la fonction de scrutation des contacts, elle renvoie une valeur numérique comprise entre 0 et 999, sans filtrage des rebonds (« debouncing ») puisque les contacts sont quasi permanents et prévus pour être scrutés toutes les 500 ms.
Le croquis de test avec la fonction de scrutation, les contacts de même rang doivent être câblés en // mais les pins associées ne sont pas figés, ils sont redéfinissables.
Ce qu’affiche le croquis de test, quand on agit sur les commutateurs: