Stap 20: speling
Stappenmotoren zijn ontworpen voor nauwkeurige bewegingen, en de motoren van de 28BYJ-48 in dit project 2048 stappen per omwenteling wanneer gedreven in modus 4 stap voor stap. Echter, de beperking van de tekening nauwkeurigheid komt uit de Etch A Sketch zelf. Er kan sprake zijn van ontsporing in de stappenmotoren en speling in de interne Etch A Sketch tekening mechanisme. De motoren draaien op een langzame en gestage tempo elimineert ontsporing, maar de terugslag verschuldigd aan speling in het EtchASketch tekening mechanisme maakt herhaalbare patronen tekenen een uitdaging.
Speling in aanmerking te nemen: als u de tekening stylus voorwaartse 250 stappen, dan weer 250 stappen hebt verplaatst, de stylus zal niet eindigen waar het begon. In plaats daarvan moet u verplaatsen een beetje verder in de achterwaartse richting ter verantwoording voor speling. Het is zelfs ingewikkelder dan dat, want als u horizontaal naar voren en naar achteren verplaatst het verzet zal anders dan als je vooruit gaat, vervolgens omhoog, vervolgens achteruit, en het effect kan verschillen, afhankelijk van de lengte van de lijnen trekken. Niet alleen doet de richting van het tekenen van de zaak, maar de omvang van het verzet zal verschillen voor verschillende Etch A schetsen. Het is moeilijk om deze inconsistentie te compenseren. De klasse EtchABot bevat een aantal horizontale en verticale speling parameters die dynamisch kunnen worden aangepast in de code. Wanneer de EtchABot tekening functie detecteert dat de richting van de beweging heeft gewijzigd, wordt geprobeerd om te compenseren door het toevoegen van een paar extra stappen in de nieuwe richting te nemen de verslapping van het verzet. Deze methode werkt redelijk goed in bepaalde omstandigheden, zoals horizontale en verticale lijnen tekenen, en niet bijzonder goed wanneer gebogen lijnen tekenen. De spirograaf schets zet de speling parameters op nul voor deze reden.
In de beelden boven dezelfde afbeelding heeft getrokken tweemaal. De bovenste afbeelding is gekomen met een correctie van de terugslag [0,0] en de afbeelding onderz─│de heeft opgesteld met een correctie van de terugslag van [120,120] voor vergelijking. U kunt zien dat in de beelden met speling correctie, lijnen join up beter en ronde randen zijn ronder, maar je krijgt "bulten" op de horizontale en verticale asymptoten van elke curve waar de horizontale of verticale stappenmotor van richting verandert.