Swarmbots: Coches de Arduino autónoma que jugar sillas musicales (3 / 6 paso)

Paso 3: Seguidores de línea

Materiales:

Tres seguidores de línea. Tipos utilizados: VEX Robotics línea Tracker http://www.vexrobotics.com/276-2154.html y Sensor de SparkFun RedBot - seguidor de línea http://www.vexrobotics.com/276-2154.html


Instalaciones:

Independientemente de qué tipo usas, los seguidores de línea tienen tres salidas: VCC, GND y OUT. SALIDA va a un pin analógico en el arduino, GND a tierra y VCC puede ir a ~ + 5V.

Estos "seguidores de línea" consisten en un fotodiodo que alimenta esencialmente los valores de arduino que se corresponden con la cantidad de luz que recibe. Porque utilizamos cinta reflexiva para la pista de nuestro juego, los seguidores de línea eran fácilmente capaces de distinguir entre el suelo y el piso de la cancha.

Para empezar, primero adquirimos los seguidores de la línea de los sitios web mencionados anteriormente. Les conexión al frente de nuestro coche. Se conectan a la parte trasera sería prudente, porque el coche será demasiado lejos de la línea de tiempo que los sensores detectan que el coche se está moviendo fuera de la línea y el intento de aplicar una corrección. Así, colocando los sensores en la parte delantera del coche es la opción óptima para la línea más rápida de reacciones de seguimiento. Además, el seguidor de línea derecha e izquierda debe colocarse lo suficientemente cerca del perseguidor de centro que cuando el centro es por encima de la línea, el perseguidor ni derecho o izquierdo están por encima de la línea.

Tenga en cuenta que si intenta conectar todos los componentes que necesitan de la energía (seguidores de línea, motores, sensores de sonido, sensores de infrarrojos/ultrasonidos etc.) a la fuente de 5V de Arduino, vas a tener un mal momento. La fuente de 5V no puede suministrar suficiente corriente para todos estos componentes y así no funcionará correctamente, si en todos. Para combatir esto, conectamos a los seguidores de la línea a los + 5V de arduino y los sensores de sonido y distancia a la fuente de 12V (baterías de 8 1.5V) alimentar los motores. Puede haber otras variantes de esta configuración para asegurarse de que todos los sensores y los motores son suministra energía suficiente para funcionar correctamente, pero esta configuración funcionó bien para nosotros.

Después de conectar cada sensor con una fuente de energía, debe conectar cada sensor a un pin del Arduino para que pueden leer los valores del sensor. Debe ser conectados a un pin analógico, no un PWM digital.

Ahora necesitamos decirle a la arduino cómo realizar el seguimiento de la línea dada las entradas de estos seguidores de la línea de tres. El principio fundamental del código es que si el sensor medio ve la línea, estás en buena forma y el coche puede ir recto. Debido a cómo colocan los sensores izquierdos y derecho, podemos determinar si el coche está virando de la línea basada en si los sensores de derecho o izquierdos comienzan a detectar la línea de cinta reflexiva. Sabiendo esto, podemos decir entonces el coche para aplicar correcciones adecuadas para dirigir el coche hacia la línea. Dependiendo del sensor que detecta la línea, efectivamente puede determinar qué dirección debe aplicarse la corrección. Por ejemplo, si el sensor derecho la línea, el coche está virando de la línea hacia la izquierda, y se debe aplicar una corrección correcta.

Usted también debe jugar con su valor umbral, que marca la diferencia en las lecturas del sensor entre la línea y el suelo. Este valor variará según el tipo y la reflectividad de la línea y el piso de que tu coche está conduciendo, la distancia de los sensores de la tierra y el tipo de sensores que compres. Por esta razón, debe jugar con el código y probar el coche para ver que valor umbral es el mejor para usted. Esencialmente, usted querrá probar sus sensores imprimiendo sus valores leerlas en el monitor serial. Esta depuración se implementó en nuestro código a continuación.

El código siguiente es un método de especificar cómo pistas de la línea del coche, basado en la teoría anterior. Para implementar la línea de seguimiento en el bucle principal usando este método, sólo necesita llamar una vez.

 <p>int centerThresh = 10; <br>int rlThresh = 800;</p><p>void lineTrack(int t) { </p><p>int rightLine = analogRead(A1); <br>int leftLine = analogRead(A2); <br>int centerLine = analogRead(A0); // use these printed outputs in the serial monitor to determine your thresholds <br>Serial.print("Right: "); <br>Serial.print(rightLine); <br>Serial.print(", Center: "); <br>Serial.print(centerLine); <br>Serial.print(", Left: "); <br>Serial.println(leftLine);</p><p>if (rightLine < rlThresh) { <br> Serial.println("Turn left, on right sensor"); <br> turnRight(); <br> delay(t); </p><p>} </p><p>else if (leftLine < rlThresh) {<br></p><p>turnLeft(); <br>Serial.println("Turn right, on left sensor"); <br>delay(t); </p><p>} </p><p>else if (centerLine < centerThresh) { </p><p>goStraight(); Serial.println("Straight"); delay(t); </p><p>} </p><p>}</p> 

El código total para los sensores implementados todos juntos aparecerá al final de las instrucciones.

Porque los Arduinos sólo puede manejar una función primordial en el método loop(), no es factible que se escuche la música mientras se intenta seguir la línea. Por lo tanto, tuvimos que sortear las reglas regulares de sillas musicales. Cada coche fue programada para seguir la línea de 14 segundos después de escuchar el sonido inicial. Durante los 14 segundos, el sonido continuado jugar. Después de 14 segundos, el sonido apagado y los coches detuvo siguiendo la línea y vuelta hacia dentro para encontrar sillas disponibles. Esto le dio la ilusión de que los coches estaban respondiendo a la música. Mientras que los coches a conducir durante 14 segundos de programación era relativamente simple, la canción de sillas musicales para jugar por sólo 14 segundos de programación era más difícil y requiere el uso de programación en Java con Eclipse. A continuación es el código para hacer nuestra canción de sillas musicales, el tema de Star Wars la canción porque nuestro juego de sillas musicales juego fue jugado en 04 de mayo de 2016, juega sólo 14 segundos.

 <p>import objectdraw.*; import java.applet.AudioClip;</p><p>/** * Class: Physics 128 * Term: Spring 2016 * Instructor: Janice Hudgings * * Project: Musical Chairs Collaboration * School: Fremont Academy * Group: Femineers * * * -- Plays the musical chairs song (John Williams' Star Wars Opening Theme for * 14 seconds) * -- Delay of 1 second from start of applet to beginning of song * -- Total run time is 14 seconds * * * Window Size: 250x250 * * Adam Mitchell, Wednesday, 4 May 2016 */ public class MusicalChairsPlayer extends WindowController { private static final int THRESHOLD_DELAY = 1; // the time to delay for private static final int THRESHOLD_PLAY = 14; // the time to run for public void begin() { // Local variables AudioClip music; Boolean playing = false; // whether the music is playing // Load the audio clip music = getAudio("starWars.au"); // Play the music music.play(); playing = true; // Record the current time int tempTime1 = (int) System.currentTimeMillis() / 1000;</p><p>while (playing) {</p><p>if ((int) System.currentTimeMillis() / 1000 - tempTime1 >= (THRESHOLD_DELAY + THRESHOLD_PLAY)) { // Stop the music after 10 seconds, for a total of 14 music.stop(); </p><p>playing = false; </p><p>}</p><p> }</p><p> }</p><p>public void onMouseClick(Location point) {</p><p>// Restart the code <br>this.begin();</p><p>} </p><p>}</p> 

Artículos Relacionados

Tanque de Arduino autónoma (A.A.T)

Tanque de Arduino autónoma (A.A.T)

Hola a todos, este es mi primer robot. Soy estudiante de primer año 15 año de edad. He estado interesado en robots desde el 6to grado y estado tratando de construir uno desde entonces. He decidido llamarlo A.A.T porque es un tanque de arduino autónom
RC coche Robot Arduino autónomo

RC coche Robot Arduino autónomo

¿Usted siempre deseó construir un simple robot autónomo de Arduino? Me inspiré para construir un robot básico de Arduino para ayudar a mi comprensión de Arduino, el IDE de Arduino y el funcionamiento de sensores de ultrasonidos y controladores de mot
ASPIRADORA autónoma (Intel IOT)

ASPIRADORA autónoma (Intel IOT)

Este proyecto funciona en unaexcelente oferta de mecanismo reflejo. Se trata de una idea básica de desarrollo de una "aspiradora autónoma", que ayuda a reducir las tareas diarias de trabajo en casas, oficinas etc...Paso 1: IdeaEste proyecto func
Autónoma con energía solar Twitter comedero

Autónoma con energía solar Twitter comedero

el concepto es simple en la superficie; construir un comedero energía solar autónoma que detecta el movimiento, fotos de broches de presión y carga en Twitter.  El resto de los datos de este artículo a la construcción de un aparato de esos y lo nuest
Autónoma de Arduino de coches con Sensor de proximidad infrarrojo

Autónoma de Arduino de coches con Sensor de proximidad infrarrojo

Este Instructable muestra cómo modificar un coche RC preloved para que puede ser controlado por un Arduino. Entonces el Instructable le mostrará cómo hacer el RC funciona que un código simple figura 8 desde allí el Instructable le mostrará cómo agreg
Autónoma pared abrazos Arduino vehículo

Autónoma pared abrazos Arduino vehículo

Usando un servo montado compuesto sensor infrarrojo y un sensor ultrasónico hacia adelante fijado, el Rover intentará mantener una distancia fija de un muro situado a la izquierda.Código bien documentado se proporciona para que pueda realizar más exp
Coche de la raza autónoma

Coche de la raza autónoma

Construir este coche robot autónomo que conduce basada en un antiguo coche de juguete del RC. I quitar el tablero de control de radio del coche y lo reemplazó con un cerebro en forma de una placa Arduino UNO (más un tablero de conductor del motor) y
Autónomo Control de RC coche usando Arduino

Autónomo Control de RC coche usando Arduino

este instructable muestra cómo modificar un coche RC barato por lo que puede ser controlado por un microcontrolador incorporado.  Usted puede programar el controlador para hacer cualquier número de patrones y acrobacias de conducción del coche.  Una
Miniquad autónoma (software)

Miniquad autónoma (software)

Ahora que han convertido su miniquad para ejecutar del Ardupilot mini siguiendo mi anterior instructivo, es el momento de configurar el software. En realidad, incluso si han construido un Ardupilot o Pixhawk base multicopter completamente separada de
¿R/C autónoma Tonka camiones con seguimiento de cabeza de FPV (Tonka Cumbre construir)

¿R/C autónoma Tonka camiones con seguimiento de cabeza de FPV (Tonka Cumbre construir)

recuerda en el día, jugando con su gran camión Tonka, correr a través de todo, sentir que fue un impresionante camión que podría ir a cualquier parte? O ¿vives en un área urbana relativamente y le encantaría ir cubriendo pero no puede porque es demas
K-9 2.0. Perro Robot controlada y Autónoma de WiFi.

K-9 2.0. Perro Robot controlada y Autónoma de WiFi.

NOTA:En el paso 22, he publicado una actualización, explicando algunos recientes cambios y mejoras que he hecho, principalmente al sistema eléctrico de K-9 y sensor de matriz que puede encontrar útiles.CaracterísticasAcrílico diseño y resistente made
LEGO Technic coche con Arduino + XBee Wireless Control

LEGO Technic coche con Arduino + XBee Wireless Control

yo fui leer Instructables un invierno bien el sábado, cuando mi 8 yo hijo llegó y miraban sobre mi hombro y vi esto: por sath02. Mi hijo es un gran fan de Lego de todas las cosas y ama a los robots y autos, y esto fue derecho hasta su callejón. Él in
Marte - Rover múltiples funciones autónoma (FPV)

Marte - Rover múltiples funciones autónoma (FPV)

Arduino es un microcontrolador muy versátil, y he visto muchas aplicaciones diferentes. Pero quería ver cuánto podría hacer con uno solito. Tenía una idea muy básica de cómo utilizar arduino cuando comencé este proyecto. Empecé los fundamentos y cons
Robot autónomo que ya tiene en su bolsillo!

Robot autónomo que ya tiene en su bolsillo!

En este tutorial quiero aprender algo, quizás cambiar de opinión. Y drones autónomos disponibles para todo el mundo.Simple pregunta es: ¿Qué necesitas hacer tu robot autónomo?.Respuesta:-GPS-Acelerómetro-Giroscopio-Sistema inalámbrico telemetría-Cáma