Stap 3: Laser Blanking + spiegel kalibratie
Motor Shield heeft een kleine prototyping-gebied dat werd gebruikt voor twee kleine circuits.
Laser Blanking
Wij willen controleren onze laser met een Arduino. Maar is we moeten beperken huidige stroomt in de laser en het ook rechtstreeks vanaf de pin van een digitale uitgang rijden niet een goed idee. Mijn laser module had al een stroombegrenzing. Zo heb ik net een eenvoudige schakeling waar transistor is schakelen de laser in- en uitschakelen gebouwd. Basis van de huidige door trimmer kan worden geregeld en regelt de helderheid van de laser.
Kalibratie van de spiegel
Fotodiode werd geplaatst in het gat in de centrale as rechts boven de x-as stepper. Pull-down weerstand circuit was noodzakelijk om de exacte afmetingen te verkrijgen. Bij het kalibreren, wij aan het lezen bent waarden uit de fotodiode en als de waarde groter is dan een bepaalde waarde (laser rechtstreeks schijnt erin), steppers stoppen en terug naar de uitgangspositie.
pseudo code for calibration // 1step = 0.9° / 400steps = 360° = full rotation laserOn(); for (int a=0; a<=400; a++) { for (int b=0; b<=400; b++) { photodiodeValue = readValue(); if (photodiodeValue >= photodiodeThreshold) { laserOff(); returnHome(); } stepY(1,1); } stepX(1,1); } laserOff(); unsuccessfull();</p>