Stap 12: Sturen, en andere losse eindjes.
Uitvoeren naar de motoren is gedaan door het instellen van een puls breedte gemoduleerde (PWM) signaal op de motorcontroller "inputs". In het land van de Arduino, wordt dit gedaan met analogWrite(). De standaard Arduino PWM frequentie is echter veel te laag voor de motorische controle, dus ik heb toegevoegd sommige manipulatie direct registreren om te dwingen om te worden 15.625 kHz. Aangezien de controllers omkeerbaar zijn, gebruik ik een klein bos als verklaringen om erachter te komen wat te zetten op de DIR-pinnen en al dan niet tot het omkeren van de opdracht uitvoer.
Een zeer belangrijk onderdeel van het schrijven van goede controlesoftware is het beheer van gegevenstypen. U kunt zien in de code die ik vaak expliciet typecast om ervoor te zorgen dat ik krijg precies het gegevenstype wil ik bij elke stap van de berekening. Niets is erger dan het hebben van uw controller freak omdat een variabele overstroomd. Om die reden I eveneens van toepassing bij elke stap om ervoor te zorgen dat de variabelen binnen passende bereiken blijven beperken. Bijvoorbeeld, neemt analogWrite() een integer-waarde tussen 0 en 255, dus ik de uitgangen naar dit bereik bij elke stap van de berekening beperken.