Bonsoir.
Puisqu’il est question d’Arduino et de DAC…
Un Arduino nano c’est 22 « digital I/O pins ».
- Les 3 commutateurs 1 circuit 10/11 positions peuvent s’organiser en matrice de contacts distribués entre 10/11 horizontales et 3 verticales.
Cela monopoliserait 13/14 pins de l’Arduino:[list][*]10/11 pins déclarés en entrée avec résistances de pull-up (les horizontales), - 3 autres déclarés aussi en entrée (les verticales) mais forcés fugitivement à tour de rôle en sortie et à zéro pour scruter cycliquement les contacts (les pins déclarés en sortie n’étant pas configurables en drain ouvert).
[/:m][]Un DAC 12 bits (c’est plus que confortable pour 1000 ou 1331 échelons de tension) pour remplacer les résistances de précision du pont diviseur et du sommateur. De préférence un AD7845 car les données d’entrée sont latchées et de plus il dispose en interne d’un amplificateur de sortie à gain pré-programmable.
Cela ne monopoliserait qu’un à deux pins supplémentaires à condition de :* Multiplexer les entrées du DAC avec les horizontales du matriçage des commutateurs. La scrutation de ceux-ci serait arrêtée pour que les pins impactés puissent être déclarés temporairement en sortie afin de pouvoir transférer les données dans le latch du DAC. - Un pin supplémentaire serait indispensable pour activer la mémorisation dans le latch, un autre facultatif pour le 12ème bit des données (dans le cas où ce LSB ne serait pas utilisé et forcé à zéro) et circonstanciellement un dernier pour éviter de valider le DAC en permanence.
La référence de tension nécessaire au DAC pouvant être une de celles déjà pressenties.[/*:m][/list:u]Ainsi, on utiliserait que de 14 à 17 pins parmi les 22 disponibles sur l’Arduino nano, le reliquat restant disponible pour ajouter des fioritures.
Bilan :
? 1 référence de tension (AD587),
? 3 commutateurs 1 circuit 12 positions,
? 1 Arduino nano,
? 1 DAC AD7845,
? 1 buffer de sortie (TCA0372).
Étonnant, non ?