22) Aller en ligne droite : Pas si facile que ça !

C’est bien connu de toutes celles et ceux qui alignent du code, en informatique rien n’est facile. Gérer la vectorisation avec des moteurs PAS à PAS constitue une pierre d’achoppement du genre granit. Bien coriace on s’y casse facilement les dents. La technique est exactement analogue à celle qui consiste à tracer des droites sur des écrans graphiques constitués d’une dalle de PIXELs. Du coup, la droite dégénère en une sorte d’escalier dont la hauteur des marches est fonction de la « pente » de la droite à visualiser. Plus les PIXELs seront petits, moins nous verrons les « degrés ». Pour la pyrograveuse, au lieu d’allumer ou d’éteindre des photophores ponctuels sur une dalle pavée, on allumera ou on coupera le LASER en face des points à noircir sur la cible. Déplacer notre crayon va consister à faire effectuer des pas coordonnés sur les moteurs … tout un programme !

Une démarche progressive.

Agencer des algorithmes pour tracer des droites dans toutes les directions, avec des pentes quelconques, vers le haut, le bas, la gauche, la droite, le tout en optimisant le code n’est pas immédiat. Aussi, commencer par dégrossir le problème en tortillant des broutilles semble l’approche la plus rationnelle. On va commencer par traiter un cas particulier. Puis on cherchera à généraliser. Enfin quand la vectorisation simulée sera au point, on passera à des arbres moteurs qui font des PAS avec le respect des distances couvertes. Il restera alors à optimiser le code.
– Hé bé, on n’est pas rendu avec tout ça !
Bonne nouvelle si programmer n’est pas votre passion : Les démonstrateurs P12_Simuler_des_mvts_vectoriels.ino jusqu’à P15_Tester_tous_les_deplacements.ino ne servent pas à valider des éléments du matériel. Ils ne sont disponibles que pour celles et ceux qui désireraient approcher de façon intime les aspects programmation. Ce ne sont que des simulateurs qui du reste peuvent fonctionner sans que nous ayons à brancher quoi que ce soit sur la carte Arduino NANO. Sur le clavier de l’ordinateur on envoie des consignes par la ligne série USB. Le programme rend compte sur le retour du Moniteur.

Conclusion : Si vous ne vous sentez pas directement concernés par la programmation, sautez directement au chapitre suivant.

C’est d’autant plus raisonnable que ce document concerne la réalisation de la machine, et en aucun cas un cours magistral de génie logiciel. Pour les gourmets de la programmation, nous disposons de quatre démonstrateurs progressifs pour approcher la vectorisation telle qu’elle sera gérée en fonction des instructions gco contenues dans les fichiers image. Le premier croquis P12_Simuler_des_mvts_vectoriels.ino constitue une approche minimale pour réaliser les marches de l’escalier et arriver à ébaucher la droite « pixellisée ». Ces petits logiciels sont intimement liés à la documentation informatique, notamment dans le petit livret LOGICIEL.pdf dans les pages P5 à P19 aux chapitres Mouvements : Problème du rapport DX / DY ainsi que Déplacements dans toutes les directions. Il sera aisé d’établir un lien entre les explications et la documentation par l’entremise des démonstrateurs. Par exemple, en ayant téléversé P12 il suffit de proposer 40 (Attention, inverser le signe qui doit dans ce croquis être positif et plus grand que pour DeltaY.) pour DeltaX et 12 pour DeltaY et retrouver le comportement représenté sur la Fig.3 du livret et sur la Fig.37, copie d’écran proposée ci-dessus. Observez en particulier les deux derniers mouvements pour « rattraper » le résidu d’arrondi.

 

La suite est ici.