Étape 15 : Programmer le Robot
Pour démarrer le robot, placez-le sur une surface plane et faites glisser que le commutateur sur le Board of Education à la position « 2 » et le robot devrait commencer - les LED devraient clignoter comme yeux Cylon et le robot devraient commencer à bouger. Si ce n’est pas le cas, appuyez sur le bouton « reset » et tout devrait être bien. Après que le robot a complété le programme en cours d’exécution, il s’arrête. Appuyez sur le bouton « reset » pour redémarrer le programme.
Le flux du programme est indiqué dans le premier diagramme sur cette étape. Le programme commence par créer le flash LED comme des yeux de Cylon, puis se déplace vers l’avant pendant cinq secondes, arrête les moteurs puis va vers l’arrière pendant cinq secondes, arrête les moteurs, puis tourne à gauche pendant cinq secondes, arrête les moteurs et puis tourne à droit pendant cinq secondes. Le programme crée alors le flash LED comme les yeux de Cylon et s’arrête.
Le programme comporte cinq sous-programmes de haut niveau pour contrôler les moteurs : motors_forward, motors_backwards, motors_turn_left, motors_turn_right et motors_stop comme indiqué dans le second schéma.
- sous-routine motors_forward fait des moteurs à tourner dans le sens horaire.
- motors_backward fait que tourner les deux moteurs des aiguilles.
- motors_turn_left tours en faisant des moteurs A aller dans le sens horaire et B aller encontre dans le sens horaire.
- motors_turn_right se transforme en rendant le moteur A aller encontre dans le sens horaire et moteur B aller dans le sens horaire.
- motors_stop désactive les deux moteurs.
Le troisième diagramme montre les sous-routines de bas niveau qui contrôlent les moteurs et les LEDs. Tous les sous-routines suivre la même forme :
- Définir la direction du moteur en tournant ou désactiver les contrôle de deux signaux. Le pont en H documentation explique le fonctionnement d’un pont en H plus en détail.
- Tourner les diodes appropriées marche / arrêt en fonction de Quels signaux sont envoyés vers le pont en H. Ce n’est pas nécessaire pour le mouvement mais est très utile pour le débogage et rend le robot « air » cool.
Les sous-routines de LED sont passées le nombre de LED pour activer ou désactiver (variable led_pin) et ensuite éteindre le voyant allumé ou éteint en conséquence.
La sous-routine cylon_hello_world rend le contrôle moteur quatre LEDs s’illuminera et se déplacent retour et quatrième comme des yeux de Cylon. Qui sait ? Ce robot pourrait être de Six grand, grand, grand, grand, grand, grand grand-parent (un peu d’humour Battlestar Galactica est normal pour un robot instructable).