14) Quelques informations relatives au logiciel.

Probablement que nombreuses et nombreux seront celles et ceux qui ne se sentiront pas concernés. On téléverse les données en EEPROM, on téléverse Cube_3D.ino et basta, le problème est réglé. Et bien lisez quand même le chapitre qui suit, il vous est dédié et vous ne le regretterez pas, y compris si aligner du code informatique n’est vraiment pas votre tasse de thé.

Chapitre spécial pour ceux qui ne veulent pas programmer.

Avec ses mirette toute rondes, elle observe et découvre, étonnée, le monde qui l’entoure. Alice est son prénom, elle ne marche pas encore, et à Noël prochain elle aura moins de deux ans. Vous comprenez qu’étant son Grand Père, je n’ai pas résisté à intégrer les ébat d’Alice dans ce cube ludique. Aussi, à plusieurs reprises son prénom va défiler en textes défilants. J’imagine que vous préfèreriez remplacer ce prénom par un plus personnel qui vous tient plus à cœur. C’est enfantin, y compris pour les allergiques à la programmation. Voici comment procéder :
1) Vous activez l’IDE et vous chargez Cube_3D.ino dans son éditeur de texte.
2) Vous rechercher l’instruction : PRINT(3,« COUCOU ALICE * * »);
3) Vous remplacez le texte en bleu clair par celui désiré.
4) Vous téléversez à nouveau Cube_3D.ino et … c’est fini !
Pour le texte qui défile verticalement, c’est plus compliqué, car les caractères sont figés en mémoire non volatile par le programme Ecrire_les_Empreintes_en_EEPROM.ino à partir du chapitre repéré par la remarque // 824 ——– Afficher le texte ALICE . ——– et il faut coder les matrices de caractères en binaire. Par ailleurs, pour le texte bleu clair que vous changez, sa longueur peut être quelconque, il suffit de ne pas dépasser 17 caractères. En revanche, pour le texte en EEPROM il faut impérativement se limiter à cinq caractères. À vous de voir …

Quelques fondamentaux qui ont conditionné le programme.

Naturellement, il est hors de question de décortiquer les 1661 lignes de programme. Comme en moyenne il y a deux instructions par ligne, c’est plus de 3000 instructions qu’il faudrait commenter. C’est d’autant moins justifié, que ce chapitre s’adresse aux « fana » d’Arduino qui sont parfaitement capables de comprendre une bonne partie du programme. Par ailleurs, pour aider votre sagacité à comprendre le code source, Cube_3D.ino inclus un nombre considérable de commentaires, c’est presque un journal. En tête de listage figure un historique qui présente l’évolution de la taille du code objet. Aussi, si vous désirez faire de la place pour inclure des séquences personnelles, vous pourrez choisir quels thèmes supprimer en fonction de l’intérêt relatif qu’ils présentent et de la place qu’ils occupent. De façon analogue, les diverses empreintes figées en mémoire non volatile sont parfaitement repérées dans le source de Ecrire_les_Empreintes_en_EEPROM.ino par des commentaires qui précisent la nature des informations et l’adresse relative qu’elles occupent en EEPROM. Il vous sera ainsi très facile de remplacer certains plans 2D ou certains volumes 3D par des créations artistiques personnelles. L’intégralité des dessins plans sont représentés sur les fiches Matrices symétriques et Images complètes avec en violet l’adresse relative en EEPROM du premier octet de la grille binaire. Sur la fiche Police de caractères sont précisées les empreintes des éléments disponibles pour les textes défilants. Quand à la fiche nommée Les matrices graphiques : Images / Textes, quelques dessins sont représentés en bas du document. Le moins compréhensible est celui de l’Oiseau qui vole. Il est constitué d’une animation de sept plans, codés en mémoire par demi-images verticales. C’est au chargement qu’est reconstitué le carré entier. On divise ainsi par deux la place occupée en mémoire EEPROM. (Cette technique est utilisée à outrance, et en particulier pour toutes les images de la fiche Matrices symétriques ainsi que pour les volumes symétriques comme les pyramides par exemple.) Rien ne vous interdit d’en modifier à votre guise.

Organisation des données et coordonnées cartésiennes.

Indissociables pour agencer un programme quel qu’il soit, deux notions sont intimement liées. La première est relative à la façon dont les données sont mémorisées pour minimiser la place occupée en mémoire, que ce soit en EEPROM ou en mémoire de programme. (Ainsi qu’en RAM dynamique.) La deuxième, c’est la technique d’utilisation de ces informations. Dans notre application, les données sont globalement constituées de points lumineux (PIXEL) que l’on dispose sur un plan ou dans un volume cubique. Les arrangements de type grille rectangulaire sont désignés par le vocable de MATRICES pouvant présenter trois dimensions, (Les volumes.) ou plus si l’on associe ce volume à des paramètres physiques par exemple. Dans notre cas, le nombre de « molécules » est très limité. Pour repérer chaque PIXEL dans un plan ou dans l’espace du cube, on utilisera des coordonnées cartésiennes exprimées dans un repère trirectangle dont la fiche Implantation logicielle du cube 3D en RAM explicite la géométrie retenue et l’implantation en RAM des couches horizontales qui composent un thème visualisant un volume complet. Pour analyser la genèse des « textes défilants », la fiche Implantation logicielle des données à afficher précise la gestion en mémoire vive. Enfin, certaines animations favorisent des géométries construites par des colonnes verticales de points lumineux. La fiche Quelques aspects logiciels décrit les techniques informatiques utilisées.

La suite est ici.