09) Étude du circuit imprimé de complément qui supporte Arduino NANO.

Que vous choisissiez de passer directement à une version définitive, (Ce qui vous épargnera le travail de soudure des 40 broches du HE14 à deux rangées.) ou que vous optiez pour la version transitoire expérimentale, dans tous les cas il nous faut élaborer un schéma judicieux, répartir de façon pertinente les ressources de l’ATmega328, affiner quelques valeurs, comme les résistances de limitation de courant dans les LEDs etc. Les deux chapitres qui suivent justifient les choix effectués.

Le schéma électronique.

Résumé sur la fiche nommée Principe de fonctionnement, on ajoute très peu de composants à la carte Arduino NANO pour pouvoir piloter la matrice cubique de LEDs, car l’essentiel du multiplexage est déjà disponible sur le circuit imprimé du KIT. Notez que c’est volontairement que la Fig.1 a été placée sur le verso de Répartition géométrique des composants pour pouvoir simultanément la consulter au regard du schéma 3D. Globalement la petite carte NANO va se substituer purement et simplement au 80C52 avec toutefois un petit Hic : Sur L’ATmega328 nous ne disposons que de 22 broches d’interfaçage binaire alors que le grand frère 80C52 en possède 26 en comptant RXD et TXD qui dans notre cas deviennent RX et TX. Il nous faut impérativement trouver des ressources … en multiplexant le multiplexage ! Nous allons simplement ajouter un neuvième 74ALS573 qui va servir d’octuple verrous binaires et piloter l’amplificateur de courant ULN2803. La Fig.1 de la fiche Répartition géométrique des composants précise que les deux boutons K1 et K2 sont reliés aux entrées analogiques A6 et A7 disponibles sur la carte NANO. En standard, sur Arduino on aurait placé les deux boutons poussoir sur une seule entrée analogique, mais ici nous n’avons pas le choix. Les ayant soudé sur le circuit imprimé du KIT leur câblage ne le permet pas. Par ailleurs, ces deux entrées
A6 et A7 spécifiques au module NANO n’ont pas de résistances internes pour forcer un état logique électrique « 1 », raison pour laquelle on complète le schéma par deux résistances de 1kΩ.

La répartition des Entrées/Sorties de l’ATmega328.

Malgré le « gaspillage » qui consiste à mobiliser deux broches pour deux boutons poussoir, on dispose de plus de ressources qu’il n’en faut pour gérer les 256 LEDs. Aussi, sur A5 on a ajouté un petit bruiteur dont initialement la mission consistait à confirmer l’enfoncement d’une touche à l’utilisateur. Du coup, ajouter quelques petits BIPs ici et là s’est avéré bien tentant. Le 74ALS573 ajouté pour le multiplexage est placé en parallèle avec ses huit compères. Notez au passage que les sorties de pilotage sur D0 et D1 servent également à l’interfaçage de dialogue sur la ligne série USB du Moniteur de l’IDE. De ce fait, si durant les essais logiciels en phase de programmation on envoie des valeurs de test sur la ligne série, l’éclairement des LEDs devient « aléatoire » car le multiplexage est perturbé. Comme il nous restait deux lignes d’interfaçage disponibles A3 et A4, autant en profiter pour compléter le tout par deux LEDs qui serviront à informer l’utilisateur sur les options qu’il privilégie lors de ses manipulations de mise en service du cube lumineux décoratif.

La suite est ici.