Étape 15 : Code
Consultez le fichier ci-dessous.
Parce que nous avons traversé le code pour différentes techniques de tournage plus tôt, nous allons couvrir uniquement la combinaison des croquis ici :
1. déclarer des variables globales dans le début, rassemblant toutes les variables globales ici de croquis précédents. Dans le même temps, vérifier qu’il n’y a pas de conflits avec les noms.
2. ces fonctions (microsecondsToInches, microsecondsToCentimeters et distanceCm) viennent du code de capteur de distance.
3. Tirez dans les fonctions relatives à la marche comme moveForward() de croquis plus tôt dans ce chapitre.
4. ajouter toutes les lignes de la fonction setup() au sein de la nouvelle fonction du programme setup(). Le code d’installation pour les modes de broches est identique à l’exemple précédent.
5. il est nouveau code dans la principale fonction du programme loop(). Il s’agit de la logique du programme central.
6. Mesurez une distance vers un objet devant nous avec la fonction distanceCm().
7. parfois, le PING))) capteur peut retourner une lecture erronée de 0,00. Ce n’est pas rare que les capteurs de ce type ; Cependant, nous devons compenser ces fausses lectures avec un filtre simple. Cela si instruction permet seulement relevés au dessus de 1cm de passer à travers.
8. Si la distance mesurée (distanceFront) n’est plus de 1cm mais plus courte que la startAvoidanceDistance déclarée, un obstacle est détecté et doit être évité.
9. éviter l’obstacle en sauvegardant et en ce qui concerne le droit pour les neuf étapes. Le délai pour walkSpeed est de garder le rythme de nos pas cohérente. Ensuite, prendre 11 étapes vers l’avant et tourner en même temps vers la gauche. BK. S’il n’y a aucun obstacle au sein de la gamme de 20cm, franchi une étape avec moveForward().
Maintenant l’insecte peut marcher vers l’avant. Elle évitera aussi des obstacles sans y toucher.