Stap 15: Program de Robot
Om te beginnen de robot, plaatst u deze op een plat oppervlak en schuif die de schakelaar aan de Board of Education aan de '2' positie en de robot moet begin - moeten de LEDs flash zoals Cylon ogen en de robot moeten beginnen bewegen. Als dat niet het geval is, druk op de "reset" knop en alle moet goed. Nadat de robot is voltooid het programma stopt. Druk op de "reset" knop het programma opnieuw te starten.
De stroom van het programma wordt weergegeven in het eerste diagram op deze stap. Het programma begint met het maken van de LED flitser zoals de Cylon ogen, dan wordt voorwaarts verplaatst gedurende vijf seconden, stopt de motoren dan gaat achteruit gedurende vijf seconden stopt de motoren, dan draait links voor vijf seconden, stopt de motoren en vervolgens draait rechts gedurende vijf seconden. Het programma maakt dan de LED-flitser zoals Cylon ogen en stopt.
Het programma heeft vijf hoog niveau subroutines voor het beheersen van de motoren: motors_forward, motors_backwards, motors_turn_left, motors_turn_right, en motors_stop zoals in het tweede diagram.
- motors_forward subroutine maakt beide motoren Draai rechtsom.
- motors_backward maakt die beide motoren draaien tegen de klok.
- motors_turn_left draait door motor A go met de klok mee en motor B gaan strijd met de klok mee.
- motors_turn_right draait door motor A go tegen de klok en motor B gaan met de klok mee.
- beide motoren motors_stop worden uitgeschakeld.
Het derde diagram toont de lage subroutines die de motoren en de LEDs bepalen. Alle van de subroutines volgen hetzelfde formulier:
- De richting van de motor draaien in- of uitschakelen van de twee besturingsseinen instellen. De documentatie van de H-brug legt uit hoe een H-brug werkt in meer detail.
- Zet de juiste LEDs op / aan welke signalen worden verzonden aan de H-brug. Dit is niet vereist voor verkeer maar is erg handig voor het opsporen van fouten en maakt de robot "look" cool.
De LED subroutines worden doorgegeven van de LED-nummer om te schakelen van in- of uitschakelen (led_pin variabele) en vervolgens uitschakelen de LED dienovereenkomstig.
De cylon_hello_world-subroutine maakt de vier motorische controle LEDs verlicht en bewegen terug en vierde als Cylon ogen. Wie weet? Deze robot zou zes van grote, grote, grote, grote, grote, grote grootouder (een beetje humor van Battlestar Galactica is alleen passend voor een robot instructable).