Paso 5: Colisión evitación
Nuestros grupos probaron evitar colisiones utilizando dos métodos diferentes: infrarrojos y ultrasonidos. Nuestra parte ultrasónica fue la HC-SR04 y la parte infrarroja era igual a nuestros seguidores de línea.
Para nuestros seguidores de línea infrarrojos, simplemente leer el valor del perseguidor de línea usando un análogo de la entrada, compruebe si está por encima de cierto umbral y si lo es, entonces el objeto es demasiado estrecha, y la función devuelve true. Si la analógica de entrada desde el sensor de infrarrojos está por debajo del umbral, entonces la función devuelve false.
Nuestros sensores ultrasónicos fueron más complicados, ya que implican el envío de un pulso y luego esperando a volver, pero afortunadamente Arduino proporciona código de ejemplo de la funcionalidad que queríamos, ejemplos, sensores y Ping. Este código utiliza un pin de salida digital para enviar un pulso, cambia el pin de salida a la entrada y luego las medidas el tiempo hasta que ese pin de entrada digital registra el sonido otra vez. La distancia medida se convierte a pulgadas. Hemos cambiado el código de ejemplo para devolver que las pulgadas valoran en lugar de impresión, así que podríamos utilizar para la lógica. También utilizamos pines separados para enviar el pulso y registrar cuando vuelve, porque el pedazo de HC-SR04 tiene cables para la entrada y señales de disparo de salida.
Como el sensor de infrarrojos es más fácil de implementar que el sensor de ultrasonidos, elegimos el sensor de infrarrojos para este coche específico, pero otros miembros utilizan el sensor de ultrasonidos para variedad.