Paso 15: código
Consulte el archivo siguiente.
Porque fuimos a través del código para diversas técnicas de giro anterior, abarcaremos solamente la combinación de los dibujos aquí:
1. declarar variables globales al principio, reuniendo todas las variables globales aquí de bosquejos anteriores. Al mismo tiempo, compruebe que no hay conflictos con los nombres.
2. estas funciones (microsecondsToInches, microsecondsToCentimeters y distanceCm) vienen desde el código de sensor de distancia.
3. Tire en funciones relativas a caminar como moveForward() de bosquejos anteriores de este capítulo.
4. agregar todas las líneas de la función setup() en la función setup() el nuevo programa. El código de configuración de los modos de pin es idéntico al ejemplo anterior.
5. hay nuevo código en la función loop() del programa principal. Ésta es la lógica del programa central.
6. medir una distancia hacia un objeto frente a nosotros con la función distanceCm().
7. a veces, el PING))) sensor podría devolver una lectura incorrecta de 0.00. No es infrecuente para los sensores de este tipo; sin embargo, nosotros debemos compensar estas lecturas falsas con un filtro simple. Esto si la declaración permite solamente las lecturas por encima de 1cm para pasar a través.
8. Si la distancia medida (distanceFront) es superior a 1cm pero menor de la startAvoidanceDistance declarada, un obstáculo se detecta y se debe evitar.
9. evitar el obstáculo por la copia de seguridad y girando a la derecha de nueve pasos. La demora para walkSpeed es mantener el ritmo de nuestros pasos constantes. Luego, tomar 11 pasos hacia adelante y al mismo tiempo girar a la izquierda. BK. Si no hay ningún obstáculo dentro de la gama de 20cm, dar un paso adelante con moveForward().
Ahora el insecto puede caminar hacia adelante. También evitará obstáculos sin tocarlos.