1) Utilisation concrète de cette Machine de Turing.

Presque logiquement, j’aurais été tenté de commencer par la description détaillée de la petite carte électronique, puis du coffret, et enfin de la façon de s’y prendre pour téléverser les données dans la mémoire non volatile de l’ATmega328. La carte étant disponible, nous aurions alors passé en revue les menus d’exploitation et l’usage de cette petite merveille. Au final, il m’a semblé plus pertinent de vous donner envie de concrétiser cette réalisation « modeste » avant de plonger dans les détails techniques et toujours « trop encombrant » de la réalisation proprement dite. Considérons donc, que comme montré sur la Fig.2 nous avons le petit coffret vert réuni au P.C. par sa ligne série USB. On suppose également qu’une version de l’environnement IDE d’Arduino est présente sur l’ordinateur pour disposer de son Moniteur qui assurera le dialogue entre l’opérateur et la carte microcontrôleur. (Le chapitre 12 page 39 explique en détails comment procéder pour les débutants.)

Protocole d’utilisation du système.

Dialogue Homme / machine oblige, on va utiliser dans notre cas un ordinateur de bureau ou un P.C. portable, ce qui en Fig.2 est le cas. On a branché sur la mini prise USB de la carte Arduino NANO en 1 la fiche 2. La ligne USB 3 est à son tour branchée sur l’une des prises de l’ordinateur 4. En 5 on a activé l’IDE qui a ouvert sa fenêtre contextuelle. En cliquant en 6 on invoque son Moniteur. (Ces manipulations seront largement détaillées plus avant …) Le moniteur ouvre à son tour sa fenêtre contextuelle 8. Pour peu que les vitesses d’échanges d’informations sur la ligne série sont les mêmes sur le P.C. et sur Arduino, apparait alors le MENU de base. Dans la petite fenêtre de saisie 9 on visualise les commandes frappées sur le clavier 7. Le résultat est alors retourné en 10 établissant ainsi de façon très simple « le dialogue Homme / Machine ».

Avantages principaux de la version électronique.

Avant d’aborder les très nombreuses commandes disponibles, passons en revue les particularités spécifiques à cette petite réalisation qui n’impose strictement aucune soudure. Si vous acceptez de ne pas avoir le petit bruiteur et de la LED bleue, il suffit de brancher la carte Arduino NANO sur le P.C. et vous possédez déjà une Machine de Turing très élaborée dont voici quelques possibilités :
• Fonctionne à une cadence vertigineuse, au ralenti, ou à la vitesse de la machine électromécanique,
• Visualise ligne à ligne en mode Pas à PAS ou en continu l’exécution de l’algorithme,
• La saisie d’un algorithme complet de 33 lignes ne prend que quelques minutes. (C’est autrement plus facile que d’avoir à perforer entre 30 et 50 trous dans une feuille de programme !)
• Le déroulement du programme pouvant se faire à raison de 4400 cycles d’HORLOGE par seconde, on peut proposer des données qui en réalité imposerait des jours, des semaines, voir des années.
• Chaque ligne de programme saisie est analysée syntaxiquement et ne sera acceptée que si elle respecte les protocoles. Certains illogismes sont également détectés et signalés.
• On peut étendre si on le désire la taille de la « grille » à 20 TRANSITIONS.
• Le déroulement du programme peut se faire « en aveugle », en surveillance tous les N cycles, voir anticiper la sortie à une « Borne » définie préalablement en nombre de cycles …

Le MENU de BASE.

Équivalent au tableau de maitrise de la machine électromagnétique, il intègre forcément un grand nombre de possibilités. Dans une version initiale, il se résumait à une liste de 22 lignes affichées sur l’écran. Cette dernière était peu commode à exploiter et prenait pratiquement toute la hauteur de la fenêtre de dialogue. Lorsque le logiciel sur Arduino fonctionnait parfaitement et regroupait « toutes mes envies », il restait encore de la place disponible pour le programme. J’ai alors opté pour la version de la Fig.3 qui se présente sous la forme d’un cadre avec des zones typées. Sur un RESET, la fenêtre contextuelle ressemble à celle de la Fig.3 mais en plus « aéré » verticalement, car ce dessin à été « tassé » pour minimiser la taille du fichier mis en ligne. La première

caractéristique à repérer en zone 1A c’est la transformation systématique des caractères que vous frapperez en MAJUSCULES. C’est extrêmement agréable, car l’intégralité du dialogue se fait en Majuscule. Du coup il n’y aura pas besoin de « Shifter ». À tout moment ce MENU sera affiché quand vous frapperez « ? ». (Ou son équivalent MAJ : La virgule comme précisé en 1B.) Remarquons au passage en 2 que la vitesse de transfert sur la ligne USB est maximale à 115200 bauds, cadence imposée par programme sur la carte Arduino. C’est dans la zone rouge pastel 3 que sont résumées les commandes en mode RUN. Encore faut-il avoir un programme dans la matrice virtuelle de cette machine en silicium. C’est par les commandes de la zone bleu pastel 4 que l’on rédigera un programme, où qu’il sera corrigé ligne à ligne si on le désire. La zone pastel verte 5 est relative à la manipulation du BARILLET virtuel et de ses 56 pions simulés. En zone 6 sous le menu est affichée la représentation symbolique du BARILLET, nous y reviendrons plus avant. Dans la ligne 7 on saisit les commandes. Il sera bien plus agréable de la valider avec la touche « Entrée » au lieu de cliquer en 9. Très importante, la zone 8 concerne la mémoire non volatile EEPROM de l’ATmega328 dans laquelle on peut loger des données qui ne s’effacent pas quand on coupe l’alimentation de la carte électronique. Est fourni en accompagnement de ce tutoriel un petit logiciel Arduino qui va vous permettre de « gaver » cette mémoire avec 13 algorithmes de démonstration et une configuration BARILLET. Enfin, en 10 le programme vous invite à proposer une commande.

La suite est ici.