viernes, 7 de diciembre de 2018

LABORATORIO_16

SEGUIDOR DE LINEAS CON SENSOR ULTRASONICO

OBJETIVOS:
1.                 Identificar las partes del ELEGOO y verificar las conexiones de los sensores infrarrojos y del sensor ultrasónico en los manuales correspondientes.
2.                 Realizar la programación para que el carro realice la trayectoria por las líneas diseñadas por el docente además de evadir el obstáculo puesto en el camino.
3.                 Identificar el comportamiento del sensor ultrasónico.
4.                 Identificar el funcionamiento de los sensores infrarrojos

MARCO TEÓRICO

Carro ELEGOO
: Es un kit educativo para principiantes para obtener experiencia práctica sobre la programación de Arduino, ensamblaje de componentes electrónicos y conocimiento de robótica. Es una solución de integración para el aprendizaje de la robótica y está hecha para la educación Arduino
Tiene más  de 10 actualizaciones: como el sensor remoto IR integrado en la placa, 3 módulos de seguimiento de línea en una placa, también se puede instalar sensores adicionales en la misma placa de extensión.

VISTA CARRO ELEGOO

   ACCESORIOS DEL CARRO ELEGOO



  
                                    
LOS SENSORES INFRARROJOS


son unos componentes electrónicos compuestos normalmente de un LED infrarrojo y un fototransistor colocados uno al lado del otro, de forma que el LED actúa como emisor y el fototransistor como receptor. El LED infrarrojo emite luz infrarroja, o sea, de mayor longitud de onda (o menor frecuencia) que la podemos ver los humanos, así que para nosotros es invisible. Si esta luz choca contra una superficie blanca se reflejará y llegará al fototransistor. Si por el contrario golpea en una superficie negra, el material absorberá la mayoría de la luz y no llegará al fotorreceptor.



Este sensor tiene 3 pines de conexión, 5V y GND para la alimentación y OUT para enviar la señal al Arduino que nos indicará si está llegando o no el reflejo del LED al fototransistor, y además incorpora un LED y un potenciómetro. Funciona de esta forma:

  • Si está llegando la luz al fotorreceptor se ilumirá un LED en el sensor y enviará una señal LOW  al exterior.
  •  Si no está llegando no se iluminará el LED y enviará una señal HIGH.
  •   Mediante el potenciómetro ajustamos la sensibilidad del fotorreceptor.




SENSOR ULTRASONICO 

El sensor ultrasónico es un tipo de sensor acústico, el sensor emite un sonido y mide el tiempo que la señal tarda en regresar. Estos reflejan en un objeto, el sensor recibe el eco producido y lo convierte en señales eléctricas.


CARACTERÍSTICAS

•    Voltaje de Funcionamiento: 5V (DC)
•    Corriente Stand By: <2 mA
•    Consumo en Funcionamiento: 15mA
•    Frecuencia de Funcionamiento: 40KHz
•    Señal de salida: Tren de Pulsos, nivel alto a 5V, nivel bajo a 0V
•    Ángulo Eficaz de Detección: < 15°
•    Distancia de Detección: 2 – 450 cm
•    Resolución: 0,3 cm
•    Señal de Entrada para Disparo (Trigger): TTL pulso 10us
•    Señal de Salida para Eco (Echo) a: Señal PWL de TTL


CONEXIÓN DEL SENSOR ULTRASÓNICO CON EL ARDUINO




TRAYECTORIA 




VÍDEO DE FUNCIONAMIENTO





VÍDEO DE SOFTWARE



PROGRAMA REALIZADO


  • Al iniciar nuestra programación utilizamos ciclos while y break los cuales confundieron al evasor de obstáculos hacienda que nuestro programa no funcione de manera adecuada.
  • El cargado de las pilas influye en la velocidad del motor y está en el cálculo de evasión de obstáculos.
  • El sensor ultrasónico que contiene el robot tiene dos señales, una que emite y otra que recepciona los cuales son llamadas con las letras T(emisor) y R(receptor).
  • Para realizar un cambio en la velocidad a la que avanza el motor debemos crear una variable y darle un numero como máximo 250db.
  • Para calcular la distancia que debe medir el sensor ultrasónico debemos usar la siguiente formula  L = ½ * T * C  donde L es la distancia a la cual queremos que el objeto sea detectado, T es el tiempo que demorara en hacerlo y C es la velocidad del sonido que es de 343.2 m/s esta ecuación es multiplicada por ½ ya que representa el tiempo de emisión y de recepción.

CONCLUSIONES

  • Realizamos la programación para un seguidor de línea con dos sensores infrarrojos, además de evadir los obstáculos con un sensor ultrasónico.
  • Fue necesario separar en otro "if" las instrucciones del evasor de obstáculos y las del seguidor de línea.
  • Realizamos el cálculo de tiempos para evadir el obstáculo utilizando las subrutinas adelante, derecha e izquierda
  • La velocidad con la que trabajamos es de 125, ya que cada cálculo para la evasión es distinta para cada velocidad
  • Se creó una nueva variable llamada “ABS” a la cual le dimos un valor de 125, esta variable regula la velocidad a la cual el carro avanza.
  • En la instrucción “void setup” declaramos la variable Echo como entrada, las variables in, ENA, ENB y trig  como salidas.
  • El void “_mForward” hace que el carro vaya hacia adelante en la cual habilitamos la variable de velocidad y los ENA Y ENB.
  • La subrutina void “_mleft” hace que el carro gire hacia la izquierda pero solo sobre su eje, esto puede ser modificado dándole un tiempo limitado de giro para evadir los objetos que tenga enfrente.
  • La subrutina void “_mright” le permite al carro girar hacia la derecha, esta instrucción se utilizó para evadir un objeto siguiendo una secuencia de giros
  • Creamos una instrucción llamada “_stop” que apaga todas los habilitadores “ENA-ENB”, esto con el fin de detener el carro por un pequeño tiempo cuando este frente a un objeto.
  • Creamos variables de tipo booleano para en número de sensores.
  • Creamos las subrutinas para que el carrito vaya hacia adelante, atrás, izquierda, derecha y parada.
  • Determinamos el modo del pin, los sensores como entradas y los motores y habilitadores como salidas.
  • Trabajamos con un tipo de transmisión serial con una velocidad de 9600 bps.


Integrantes

  • Mendiola Espinoza Gilmar Jose
  • Ticona Condori Nicol Stephanie



jueves, 6 de diciembre de 2018

LABORATORIO_15

SEGUIDOR DE LINEAS

OBJETIVOS:
  1. Identificar las partes del ELEGOO y verificar las conexiones en los manuales correspondientes.
  2. Realizar la programación para que el carro realiza la trayectoria por las líneas diseñadas por el docente.
  3. Identificar el funcionamiento de los sensores infrarrojos.
MARCO TEÓRICO

Carro ELEGOO: Es un kit educativo para principiantes para obtener experiencia práctica sobre la programación de Arduino, ensamblaje de componentes electrónicos y conocimiento de robótica. Es una solución de integración para el aprendizaje de la robótica y está hecha para la educación Arduino
Tiene más  de 10 actualizaciones: como el sensor remoto IR integrado en la placa, 3 módulos de seguimiento de línea en una placa, también se puede instalar sensores adicionales en la misma placa de extensión.


                                                           VISTA CARRO ELEGOO

                                   

                                                   ACCESORIOS DEL CARRO ELEGOO

                                     


Los sensores infrarrojos.- son unos componentes electrónicos compuestos normalmente de un LED infrarrojo y un fototransistor colocados uno al lado del otro, de forma que el LED actúa como emisor y el fototransistor como receptor. El LED infrarrojo emite luz infrarroja, o sea, de mayor longitud de onda (o menor frecuencia) que la podemos ver los humanos, así que para nosotros es invisible. Si esta luz choca contra una superficie blanca se reflejará y llegará al fototransistor. Si por el contrario golpea en una superficie negra, el material absorberá la mayoría de la luz y no llegará al fotorreceptor.



Este sensor tiene 3 pines de conexión, 5V y GND para la alimentación y OUT para enviar la señal al Arduino que nos indicará si está llegando o no el reflejo del LED al fototransistor, y además incorpora un LED y un potenciómetro. Funciona de esta forma:
  • Si está llegando la luz al fotorreceptor se ilumirá un LED en el sensor y enviará una señal LOW  al exterior.
  •  Si no está llegando no se iluminará el LED y enviará una señal HIGH.
  •   Mediante el potenciómetro ajustamos la sensibilidad del fotorreceptor.




TRAYECTORIA DE LÍNEAS


PROGRAMA REALIZADO


VIDEO  GENERAL


EXPLICACIÓN DE SOFTWARE 


CONCLUSIONES
  • Cargamos el programa de prueba el cual trabaja con 3 sensores, verificando que este funcione correctamente.
  • Realizamos un programa seguidor de líneas en el cual utilizamos dos sensores ópticos reflectivos que emiten un haz de luz y esta se refleja en objetos de color blanco y se pierde en objetos de color negro.
  • Incluimos las librerías de seguidor de líneas para dos sensores.
  • Creamos variables de tipo entero para los motores, habilitadores y velocidad de motor. Adicionalmente incluimos la variable denominado control, esta serviría para el funcionamiento en ambos sentidos. Sin embargo, no fue posible realizar el seguimiento de líneas en ambos sentidos en el segundo circuito, debido a que contábamos con solo dos sensores.
  • Creamos variables de tipo booleano para en número de sensores.
  • Creamos las subrutinas para que el carrito vaya hacia adelante, atrás, izquierda, derecha y parada.
  • Determinamos el modo del pin, los sensores como entradas y los motores y habilitadores como salidas.
  • Trabajamos con un tipo de transmisión serial con una velocidad de 9600 bps.
  • Al iniciar el programa en “void loop”, lo primero que hacemos determina la lectura de los sensores con “digitalRead” y la guardamos en las variables num1 y num2.
  • Utilizamos la función “if” para preguntar “(!num1 && num2)”; donde “!num1” pregunta si el sensor 1 está en el color blanco y “num2” pregunta si el sensor 2 está en el color negro. De esta manera aseguramos que el carro se encuentra en el borde del camino. Y, si esto ocurre el carro ira hacia adelante.
  • Si los sensores detectan “(num1 && !num2)”; donde “num1” pregunta si el sensor 1 está en el color negro y “!num2” pregunta si el sensor 2 está en el color blanco. De esta manera verificamos que el carro se encuentra en una curva. Y, si esto ocurre el carro ira hacia la izquierda.
  • Finalmente si los sensores detectan” (!num1 && !num2)” ; donde “num1” pregunta si el sensor 1 está en el color blanco y “!num2” pregunta si el sensor 2 está en el color blanco. De esta manera verificamos que el carro se encuentra fuera de la pista. Y, si esto ocurre el carro ira hacia la derecha. 

OBSERVACIONES
  • El sensor infrarrojo se basa en la combinación de un emisor y un receptor próximos en ellos, normalmente forman parte de un mismo circuito integrado, el emisor es un diodo LED infrarrojo y el componente receptor el fotodiodo
  • El color negro absorbe la luz y el color blanco lo refleja.
  • El sensor utilizado emite un haz de luz infrarrojo y este haz es reflejado si se encuentra un material blanco y se pierde en un material de color negro.
  • El signo “!” niega una variable como en el “num1” el cual indica color negro y “!num1” que indica color blanco.
  • En caso de que el recorrido tenga un doble camino o líneas entrecortadas en carro debe ser capaz de tomar la mejor decisión.
  • La programación utilizó la instrucción "if" para determinar si se cumple una condición e "if else" para determinar si se cumple la otra condición y por último se usó la instrucción "else" para cumplir una condición diferente a las anteriores.

INTEGRANTES
  • Mendiola Espinoza Gilmar Jose
  • Ticona Condori Nicol Stephanie







miércoles, 28 de noviembre de 2018

LABORATORIO_14

CARRO EVASOR DE OBSTÁCULOS

OBJETIVOS 
  1. Verificar la conexión del sensor ultrasonico del carro ELEGOO utilizando el manual.
  2. Entender el principio de funcionamiento del sensor ultrasonico.
  3. Realizar la programación para el sensor ultrasonico detecte a los objetos y el caro cambie de dirección.

MARCO TEÓRICO

Carro ELEGOO: Es un kit educativo para principiantes para obtener experiencia práctica sobre la programación de Arduino, ensamblaje de componentes electrónicos y conocimiento de robótica. Es una solución de integración para el aprendizaje de la robótica y está hecha para la educación Arduino

Tiene más  de 10 actualizaciones: como el sensor remoto IR integrado en la placa, 3 módulos de seguimiento de línea en una placa, también se puede instalar sensores adicionales en la misma placa de extensión

VISTA CARRO ELEGOO

ACCESORIOS DEL CARRO ELEGOO


SENSOR ULTRASONICO 

El sensor  ultrasónicos es un tipo de sensor acústico, el sensor emite un sonido y mide el tiempo que la señal tarda en regresar. Estos reflejan en un objeto, el sensor recibe el eco producido y lo convierte en señales eléctricas.



CARACTERÍSTICAS

•    Voltaje de Funcionamiento: 5V (DC)
•    Corriente Stand By: <2 mA
•    Consumo en Funcionamiento: 15mA
•    Frecuencia de Funcionamiento: 40KHz
•    Señal de salida: Tren de Pulsos, nivel alto a 5V, nivel bajo a 0V
•    Ángulo Eficaz de Detección: < 15°
•    Distancia de Detección: 2 – 450 cm
•    Resolución: 0,3 cm
•    Señal de Entrada para Disparo (Trigger): TTL pulso 10us
•    Señal de Salida para Eco (Echo) a: Señal PWL de TTL

CONEXIÓN DEL SENSOR ULTRASÓNICO CON EL ARDUINO





TRAYECTORIA 



PROGRAMA REALIZADO


VIDEO GENERAL



VIDEO EXPLICACIÓN DEL SOFTWARE



OBSERVACIONES
  • El sensor ultrasónico que contiene el robot tiene dos señales, una que emite y otra que recepciona los cuales son llamadas con las letras T(emisor) y R(receptor).
  • Para realizar un cambio en la velocidad a la que avanza el motor debemos crear una variable y darle un numero como máximo 250.
  • Para calcular la distancia que debe medir el sensor ultrasónico debemos usar la siguiente formula  L = ½ * T * C  donde L es la distancia a la cual queremos que el objeto sea detectado, T es el tiempo que demorara en hacerlo y C es la velocidad del sonido que es de 343.2 m/s esta ecuación es multiplicada por ½ ya que representa el tiempo de emisión y de recepción.

CONCLUSIONES
  • Se realizó un programa evasor de obstáculos en el cual tenemos que usar el sensor ultrasónico para cumplir con una secuencia de obstáculos puestos en el camino que debe recorrer.
  • Se creó una nueva variable llamada “ABS” a la cual le dimos un valor de 130, esta variable regula la velocidad a la cual el carro avanza.
  • En la instrucción “void setup” declaramos la variable Echo como entrada, las variables in, ENA, ENB y trig  como salidas.
  • El void “_mForward” hace que el carro vaya hacia adelante en la cual habilitamos la variable de velocidad y los ENA Y ENB.
  • La subrutina void “_mleft” hace que el carro gire hacia la izquierda pero solo sobre su eje, esto puede ser modificado dándole un tiempo limitado de giro para evadir los objetos que tenga enfrente.
  • La subrutina void “_mright” le permite al carro girar hacia la derecha, esta instrucción se utilizó para evadir un objeto siguiendo una secuencia de giros
  • Creamos una instrucción llamada “_stop” que apaga todas los habilitadores “ENA-ENB”, esto con el fin de detener el carro por un pequeño tiempo cuando este frente a un objeto.
  • En cada subrutina utilizada se habilito la variable de velocidad para que cada movimiento del carro sea uniforme.
  • Para realizar la secuencia de giro primero a la derecha y luego hacia la izquierda se creó una variable para que cumpla esa secuencia y el carro haga un recorrido en forma de grada.
  • La distancia que debe medir el sensor ultrasonico es de 20 centimetros  para luego detenerse y girar hacia otra direccion.
  • El sensor ultrasónico debe medir la distancia a la cual se encuentra el objeto para ello tenemos la instrucción “Distance_test” que como dice su nombre hace un test de distancia la cual podemos darle un valor utilizando el comando  “IF - ELSE” el cual nos permite hacer el test solo cuando haya un objeto adelante y si no hay ningún obstáculo el carro avanza hacia adelante.

INTEGRANTES 

  • Mendiola Espinoza Gilmar Jose
  • Ticona Condori Nicol Stephanie




LABORATORIO_13

RECORRIDO DEL CARRO IDA Y VUELTA

OBJETIVOS
  1. Identificar las partes del carro ELEGOO y verificar sus conexiones con los manuales.
  2. Realizar la programación para que el carro recorra la trayectoria brindada por el docente.
  3. Entender el funcionamiento de la habilitación y des habilitación de los cuatro motores para que el carro vaya hacia adelante, hacia atrás, girar hacia la izquierda y girar hacia la derecha.

MARCO TEÓRICO

Carro ELEGOO: Es un kit educativo para principiantes para obtener experiencia práctica sobre la programación de Arduino, ensamblaje de componentes electrónicos y conocimiento de robótica. Es una solución de integración para el aprendizaje de la robótica y está hecha para la educación Arduino

Tiene más  de 10 actualizaciones: como el sensor remoto IR integrado en la placa, 3 módulos de seguimiento de línea en una placa, también se puede instalar sensores adicionales en la misma placa de extensión

VISTA CARRO ELEGOO

ACCESORIOS DEL CARRO ELEGOO


RECORRIDO


PROGRAMA REALIZADO




VÍDEO GENERAL


VÍDEO EXPLICACIÓN DEL SOFTWARE




OBSERVACIONES



  • El código de programación que nos permite realizar solo una vez su bucle es el “void setup” que solo realiza una vez la instrucción.
  • El robot consta de una batería en la parte trasera para mantener el arduino encendido y que se pueda ejecutar la programación subid en el carro.
  • Si queremos llamar a una de las instrucciones de la programación debemos ponerla como esta, ya que si no la ponemos con “ () ”  nos mandara un error ya que el software no lo reconocerá.
  • Si omitimos el “ ; ” al final de cada línea  el programa nos pondrá un error en nuestra programación.
  • El carrito trabajaba con un arduino uno y con shields el cual servía para poder contar con más fuentes de alimentación.

CONCLUSIONES
  • Las conexión del carrito robot se verificaron en el manual “wire connect table”.
  • Se realizó la programación con el software arduino para controlar una secuencia de giros y avance de un Robot Elegoo.
  • Para darle un tiempo a las instrucciones de programación ponemos el siguiente comando el cual está en milisegundos “delay(1000)”.
  • El void “_mForward” permite que el carro avance hacia adelante encendiendo las variables in2 e in4 lo cual no le permite realizar ningún giro.
  • El void “_mBack” hace que el carro vaya en sentido contrario, por lo tanto solo enciende las variables in1 e in3.
  • El void “_mleft” hace que el carro gire hacia la izquierda pero solo sobre su eje, esto puede ser modificado dándole un tiempo limitado de giro.
  • El void “_mright” le permite al carro girar hacia la derecha dando vueltas sobre su mismo eje, si requerimos que solo gire en un ángulo en específico debemos darle tiempo.
  • La instrucción “void setup” declara a todas las variables y a los habilitadores (ENA - ENB) como salidas.
  • Creamos una instrucción llamada “_stop” que apaga todas las salidas, esto con el fin de realizar solo una vez la programación.
  • La instrucción “void loop” es donde creamos nuestra programación  en la cual usamos las instrucciones  “_mForward, _mleft, _mright y _stop” para realizar las condiciones de trayectoria del carro.
  • Para realizar la secuencia de giros del robot se utilizaron tiempos en la programación los cuales nos permiten hacer que el robot gire sobre su mismo eje en un ángulo calculado en milisegundos.
  • La trayectoria recorrida por el robot fue realizada solo una vez, esto debido a que se creó una instrucción llamada “_STOP” con la cual desactivamos el avance y giro de los motores del carro.

INTEGRANTES
  • Mendiola Espinoza Gilmar Jose
  • Ticona Condori Nicol Stephanie