2.1. VÍDEOS EXPLICATIVOS MOSTRANDO LASIMULACIÓN E IMPLEMENTACIÓN DE LOS PROGRAMAS SOLICITADOS
2.1.1. BENAVENTE QUISPE, ANDRES ANTONIO
3. OBSERVACIONES
Observamos que la velocidad de los motores pueden variarse en la programación de arduino.
Tenemos que cambiar el digitalwrite por el analogwrite, para de estar forma variar las velocidades de los motores.
Observaremos la variación de los giros de acuerdo al tiempo y a la velocidad que le programamos.
4. CONCLUSIONES
Se realizó la programación para el avance retroceso y giro en 360° del carro.
Si aumentamos la velocidad también tendremos que aumentar el tiempo de giro.
Usamos el código proporcionado por el distribuidor de los carros seguidores de línea y notamos que funcionan correctamente.
5.1 CUÉLLAR MARTÍNEZ, KEVIN ANDRÉS
Laboratorio Recuperado 04/12/2018:
Se recupero el laboratorio #13° realizando mantenimiento a las unidades número 11, 12, 02, 04, 05. Para ello, se utilizaron los archivos cargados por el Ing. Edgar Mamani Paco, a la plataforma de Canvas, siendo de gran ayuda para la verificación del estado operativo de arduino y todos sus componentes eléctricos de Robot car. Archivos utilizados:
AUTO_GO.ino
Line_tracking_car.ino
Prueba_de_sensores.ino
Observaciones de mantenimiento:
Se encontró un gran numero de Robot car inoperativos, debido a que presentan un desgaste fisico en el cableado de la fuente de alimentación. Esto es debido a la mala manipulación del mismo, causando que la soldadura se rompa en sus terminales, o se tenga un falso contacto en el porta pilas. Adicionalmente, en la Figura 01. se puede observar que el cableado de
alimentación esta siendo derivado por un agujero más alejado de la placa de
control para los servo motores, dando como resultado rigidez en el cableado.
Figura 01. Conexionado irregular de Robot car.
El mal estado de los sensores tanto como los seguidores de linea negra y el ultrasonico, es debido al incorrecto conexionado en los periféricos de las tarjetas de acople de arduino señalados en el manual de ensamblaje del Robot car. Posibles causa, cortocircuito, sobre calentamiento en la placa, y daño irreparable en los sensores presentados.
Respecto a los sensores seguidores de linea negra, se encontraron algunos de ellos en mal estado, debido al mal conexionado en sus terminales. Seguidamente, los potenciómetros del mismo se encontraban rotos y cortocircuitados, motivo por el cuál, se debería considerar remplazar por otros.
Figura 02. Sensor CNY70 en condiciones optimas.
Conclusiones de mantenimiento:
Se levantaron las observaciones de conexionado en el Robot car, dando como resultado el correcto funcionamiento de sus funciones básicas.
Se corrigió la distribución del cableado en el Robot car, eliminando la rigidez y las posibles fallas resultantes.
Figura 03. Corrección de la distribución del cableado y conexionado.
Observamos un problema con el sensor ultrasónico, el cual tiene un buen sensado siempre y cuando el objeto que está en frente, esté a la altura del mismo, si está por debajo de los 4 o 6 cm, no sensará su presencia, por ende no girará a la derecho o izquierda.
Tenemos que declarar las diversas variables del sensor para poder de esta forma generar su funcionamiento, caso contrario no obtendremos los resultados requeridos.
Podemos programar el tiempo que requerimos para el giro del carrito al momento de sensar lo objetos que estén delante.
Se realizó la programación para el carro evasor de objetos de tal forma que no tenga problemas al hacer los giros adecuados.
Se realizó la programación de forma correcta y la mima funcionó de manera adecuada y sin precedentes.
Usamos el código proporcionado por el distribuidor de los carros seguidores de línea y notamos ciertos desvaríes en su programación, que fueron corregidos luego de poner en marcha nuestro proyecto.
2.1. VÍDEOS EXPLICATIVOS MOSTRANDO LASIMULACIÓN E IMPLEMENTACIÓN DE LOS PROGRAMAS SOLICITADOS
2.1.1. BENAVENTE QUISPE, ANDRES ANTONIO
2.1.2. CUELLAR MARTINEZ, KEVIN ANDRÉS.-
Video demostrativo de Seguidor de linea negra
(Cuéllar Martínez & Ballenas Zuñiga)
Sentido anti-horario:
Sentido horario:
3. OBSERVACIONES
Observamos un problema con los sensores del seguidor de línea, algunos tenían los potenciometros en mal estado, para solucionar dicho tema tuvimos que desarmar y cambiar los sensores, lo cual fue una tarea no difícil.
Tenemos que tener calibrar los potenciómetros de tal forma que puedan sensar la cinta negra a la altura requerida.
Para detener el giro, debemos usar el else(break), de lo contrario no se detendría y seguiría su camino
4. CONCLUSIONES
Se realizó la programación para el carro seguidor de línea de tal forma que no tenga problemas al hacer los giros adecuados.
Se realizó un reto relacionado al carrito seguidor de línea, la programación funcionó de manera adecuada y sin precedentes.
Usamos en vez de if(num2) el if(num1) para solucionar un problema con los giros.
Usamos el código proporcionado por el distribuidor de los carros seguidores de línea y notamos ciertos desvaríes en su programación.
2.1. VÍDEOS EXPLICATIVOS MOSTRANDO LASIMULACIÓN E IMPLEMENTACIÓN DE LOS PROGRAMAS SOLICITADOS 2.1.1. VIDEO: PARICAHUA CRUZ, MAYCOL REINILDO
2.1.2. VIDEO: CUELLAR MARTINEZ, KEVIN ANDRES
TELESCKETCH:
PARTE 1.-
PARTE 2.-
COME BICHOS: 2.1.3. VIDEO: CARRANZA CAVANI, JEAN PIERRE 2.1.4. VIDEO: BENAVENTE QUISPE, ANDRES ANTONIO
2.1.5. VIDEO: BALLENAS ZÚÑIGA, MARVIN ROODWELL
3. OBSERVACION GRUPAL:
Para realizar el montaje 7 TELESCKET en mBlock, se realizó un programa simple, en el que leíamos datos de dos entradas analógicas para poder mover el cursor en los dos ejes y dos pulsadores ara trazar o borrar el dibujo.
Para realizar el reto relacionado al montaje 7 TELESCKET en mBlock, se realizó de forma similar al anterior pero se le agregó una función para cambiar la apariencia de línea.
Para realizar el montaje 8 COMEBICHOS en mBlock, también se leyeron dos entradas analógicas y se implementó un algoritmo para poder mover el murciélago, ademas de un acumulador que aumentara cada vez que se tocaba al bicho.
4. CONCLUSIONES GRUPAL:
Se realizó el montaje 7 TELESCKET en mBlock y se ejecutó en tiempo real en el Arduino mediante la actualización del Firmware. En dicha ejecución podíamos realizar un dibujo mediante un curso y borrarlo con un pulsador.
Se realizó un reto relacionado al montaje 7 TELESCKET en mBlock, en donde modificamos el grosor del lápiz y color del mismo mediante pulsadores.
Se realizó el montaje 8 COMEBICHOS en mBlock y se ejecutó en tiempo real en el Arduino mediante la actualización del Firmware. Dicha ejecución conistía en un juego en el que un murciélago atrapaba un bicho en movimiento con un joystick y este valor se acumulaba.
2.1. VÍDEOS EXPLICATIVOS MOSTRANDO LASIMULACIÓN E IMPLEMENTACIÓN DE LOS PROGRAMAS SOLICITADOS 2.1.1. VIDEO: PARICAHUA CRUZ, MAYCOL REINILDO
2.1.2. VIDEO: CUELLAR MARTINEZ, KEVIN ANDRES Reto 1°(CUÉLLAR):
Reto2°(CUÉLLAR):
SEMAFORO LUMINOSO(CUÉLLAR):
2.1.3. VIDEO: CARRANZA CAVANI, JEAN PIERRE 2.1.4. VIDEO: BENAVENTE QUISPE, ANDRES ANTONIO
3. OBSERVACIONES GRUPAL:
Para realizar el montaje de Interruptor de luz Reto 1 en mBlock, se realizó un programa simple, mediante la lectura de datos de un pin digital y una condicional tipo IF-Else, dentro de un bucle infinito.
Para realizar el montaje de Interruptor de luz Reto 2 en mBlock, se tuvo que crear una variable y dos condiciones dentro un bucle infinito.
Para realizar el montaje de Semáforo luminoso en mBlock, se utilizaron cuatro condiciones dentro de un bucle infinito, en donde se leía e valor correspondiente de la entrada analógica y se clasificaba.
4. CONCLUSIONES GRUPAL:
Se realizó el montaje de Interruptor de luz Reto 1 en mBlock y se ejecutó en tiempo real en el Arduino mediante la actualización del Firmware. En dicha ejecución se encendía un LED solo mientras se presionaba un pulsador externo.
Se realizó el montaje de Interruptor de luz Reto 2 en mBlock y se ejecutó en tiempo real en el Arduino mediante la actualización del Firmware. En dicha ejecución se encendía un LED al presionar un pulsador y se apagaba al volverlo a pulsar.
Se realizó el montaje de Semáforo luminoso en mBlock, en donde se encendían tres LEDs de colores, de acuerdo la intensidad de luz incidente en un LRD.
2.1. VÍDEOS EXPLICATIVOS MOSTRANDO LASIMULACIÓN E IMPLEMENTACIÓN DE LOS PROGRAMAS SOLICITADOS 2.1.1. VIDEO: PARICAHUA CRUZ, MAYCOL REINILDO
2.1.2. VIDEO: CUELLAR MARTINEZ, KEVIN ANDRES
RETO
2.1.2.1 OBSERVACIONES.- CUÉLLAR MARTÍNEZ, KEVIN ANDRÉS OBSERVACIÓN:
Para la realización del Laboratorio 10 en luces sicodelicas, es importante saber para que sirve en el bloque robots el "fijar pin PWM", el cual significa "Pulse Width Modulation", este nos permite generar salidas analógicas desde pines digitales. En pocas palabras, nos permite trabajar con el led RGB, otorgándole un rango de 0 a 5V, para cada color del mismo.
En el reto, se adiciono un zumbador, el cual servirá para cambiar el fondo de las campanas, como observación es importante salvaguardar tanto el Arduino como los componentes externos a utilizar.
CONCLUSIÓN:
En conclusión, la plataforma mBlock permite al usuario la libertad de experimentar en tiempo real, el funcionamiento de la programación tanto virtualmente como físicamente, utilizando la opción "Actualización Famware".
Se realizo exitosamente el reto, que consistía en interactuar virtual y fisicamente con mBlock y Arduino, utilizando un zumbador, leds y un pulsador, este ultimo tenia la funcionalidad de cambiar los fondos seleccionados en la plataforma.
2.1.3. VIDEO: CARRANZA CAVANI, JEAN PIERRE 2.1.4. VIDEO: BENAVENTE QUISPE, ANDRES ANTONIO
2.1.5. VIDEO: BALLENAS ZÚÑIGA, MARVIN ROODWELL
3. OBSERVACIONES
3.1. (PARICAHUA CRUZ, MAYCOL REINILDO)
Para realizar el programa de Luces psicodélicas en mBlock, debemos colocar el bloque que reproduce la música, antes del bucle infinito; para que esta no se reinicie cada 5 segundos y tenga mayor duración. En caso el tono sea de corta duración, no haría falta dicha modificación.
Al momento de ejecutar el programa Timbre en tiempo real en el Arduino, al presionar D2 el sonido no se oye igual; debido a que el mBlock non es capaz de enviar órdenes al Arduino a la velocidad de 0.00175 segundos.
Al ejecutar el reto de programación en tiempo real, hay que tomar en cuenta si a través de los pulsadores enviaremos un estado alto (5V) o bajo (0V) al pin de entrada del Arduino; ello dependerá de conexión física que hagamos, la cual debe concordar con la programación en mBlock.
4.2. (BENAVENTE QUISPE, ANDRES ANTONIO)
La música ó sonido que le pongamos a nuestro programa deberá ser puesta antes del bucle (por siempre), para que de esta forma no se vuelva a repetir una vez terminada secuencia que creamos; esto aplica cuando ponemos canciones completas, mas no sonidos cortos.
Los pines 11 y 13 los designamos con salidas digitales, al momento de probarlos en el arduino, observaremos que su funcionamiento es similar a los pines 5, 6 y 8.
Debemos configurar el tipo de arduino que usaremos en el Mblock, para conseguir una correcta compilación.
para el encendido de los LED´s necesitaremos una resistencia para la protección de las mismas.
Se realizó el programa de luces psicodélicas en mBlock y se ejecutó en tiempo real en el Arduino mediante la actualización del Firmware.
Se realizó el programa Timbre en mBlock y se realizó su descarga al Arduino. En donde reprodujimos la nota C4 de dos formas diferentes.
Se realizó el reto de programación en mBlock, el cual consistía en realizar acciones del programa en ejecución al Arduino y viceversa. Principalmente de encendido de LEDs, buzzer y cambios de fondo en el mBlock.
4.2. (BENAVENTE QUISPE, ANDRES ANTONIO)
El uso de Mblock facilita por mucho, los temas de programación para arduino, puesto que creamos diversos programas en bloques y luego los enviamos al arduino, actualizando el Firmware.
Terminamos el programa que se nos indicó en el laboratorio y lo pusimos en marcha en un arduino de tal manera que pudimos comprobar su funcionamiento, reconocimos y analizamos dicho programa.
Arduino Uno es un tablero para microcontroladores basado en el ATmega328P ( hoja de datos ). Tiene 14 pines de entrada / salida digital (de los cuales 6 se pueden usar como salidas PWM), 6 entradas analógicas, un cristal de cuarzo de 16 MHz, una conexión USB, un conector de alimentación, un encabezado ICSP y un botón de reinicio. Contiene todo lo necesario para soportar el microcontrolador; simplemente conéctelo a una computadora con un cable USB o enciéndalo con un adaptador de CA a CC o una batería para comenzar. Puede jugar con su UNO sin preocuparse demasiado por hacer algo mal, en el peor de los casos puede reemplazar el Chip por unos pocos dólares y empezar de nuevo. "Uno" significa uno en italiano y se eligió para marcar el lanzamiento de Arduino Software (IDE) 1.0. La placa Uno y la versión 1.0 de Arduino Software (IDE) fueron las versiones de referencia de Arduino, ahora evolucionaron a versiones más recientes. La tarjeta Uno es la primera de una serie de tarjetas Arduino USB y el modelo de referencia para la plataforma Arduino.
Características:
Microcontrolador ATmega328.
Voltaje de entrada 7-12V.
Reloj de 16MHz de velocidad.
14 pines digitales de I/O (6 salidas PWM).
6 entradas análogas.
32k de memoria Flash.
2.1.2. PROGRAMACIÓN
El Arduino Uno se puede programar con el ( Software Arduino (IDE)). Seleccione "Arduino / Genuino Uno en el menú Herramientas> Tablero (de acuerdo con el microcontrolador de su tablero). El ATmega328 en el Arduino Uno viene preprogramado con un cargador de arranque que le permite cargar un nuevo código sin el uso de un programador de hardware externo. Se comunica utilizando el protocolo STK500 original ( referencia , archivos de cabecera C ). También puede omitir el gestor de arranque y programar el microcontrolador a través del encabezado de ICSP (Programación en Serie en Circuito) usando Arduino ISP o similar. El código fuente del firmware ATmega16U2 (o 8U2 en las placas rev1 y rev2) está disponible en el repositorio Arduino. El ATmega16U2 / 8U2 está cargado con un cargador de arranque DFU, que se puede activar mediante:
En las placas Rev1: conecte el puente de soldadura en la parte posterior de la placa (cerca del mapa de Italia) y luego seleccione el 8U2.
En las placas Rev2 o posteriores: hay una resistencia que tira de la línea HWB 8U2 / 16U2 a tierra, lo que facilita la puesta en modo DFU.
Luego puede usar el software FLIP de Atmel (Windows) o el programador DFU (Mac OS X y Linux) para cargar un nuevo firmware. O puede usar el encabezado ISP con un programador externo (sobrescribiendo el cargador de arranque DFU). Vea este tutorial contribuido por el usuario para más información.
2.1.3. MBLOCK
mBlock es un entorno gráfico de programación basado en el editor Scratch 2.0 para que escuelas y centros de formación pueda introducir la robótica de forma sencilla y enseñar a programar robots basados en Arduino. La interfaz es muy amigable e intuitiva. Usa bloques previamente definidos para dar órdenes al robot y si sabes programar también podrás sacarle todo el partido con el entorno de Arduino.
Permite programar tus robots de forma inalámbrica mediante tecnología bluetooth o 2.4G
Te permite traducir los bloques de Scratch a código fuente de Arduino
Puedes probar en tiempo real el programa que relices en Scratch sin necesidad de grabarlo en la placa
Y una vez probados puedes grabarlo de forma permanente en tu robot
3. EVIDENCIA DE TAREAS EN LABORATORIO
3.1. VÍDEOS EXPLICATIVOS MOSTRANDO LASIMULACIÓN E IMPLEMENTACIÓN DE LOS PROGRAMAS SOLICITADOS 3.1.1. VIDEO: PARICAHUA CRUZ, MAYCOL REINILDO
3.1.2. VIDEO: CUELLAR MARTINEZ, KEVIN ANDRES
OBSERVACIONES & CONCLUSIONES.- KEVIN ANDRÉS CUÉLLAR MARTÍNEZ
Para un correcto funcionamiento de la programación realizada en mBLOCK para arduino, hay que tener en cuenta que solo podemos trabajar con los bloques de "control" y "robots", caso contrario al hacerle click en "Subir a Arduino", este nos enviara un mensaje para que removamos el bloque no soportado.
Lo correcto es que solo trabajemos con los Bloques permitidos (Control & Robots), para trabajar directamente con Arduino.
De otra manera, si se puede trabajar con el arduino y la programación realizada en mBlock con los demas bloques proporcionado por el mismo, utilizando la opción "Actualizar fimware".
En conclusión el programa mBlock, es una plataforma didáctica y muy divertida para aprender a programar en Arduino por medio de bloques y gráficos ya estructurados, a su vez nos permite crear nuevas variables. Dicho esto, se puede exportar la programación a Arduino en tiempo real, donde se visualizan las funciones de cada bloque.
3.1.3. VIDEO: CARRANZA CAVANI, JEAN PIERRE 3.1.4. VIDEO: BENAVENTE QUISPE, ANDRES ANTONIO
Al momento de realizar la programación en el software de Arduino, debemos de tener mucho cuidado al momento de escribir el código ya que en caso de no ser compilado, no podrá ser descargado a la tarjeta Arduino.
En mBlock se utilizan herramientas gráficas, como disfraces, fondos y audios; a partir de los cuales podemos interactuar con el programa en bloques de forma interactiva.
Para realizar la visualización del programa Semáforo, se crearon tres copias para el mismo disfraz para la visualización de los tres colores del semáforo; dichos disfraces eran llamados en secuencia en el programa en bloques, para simular un semáforo real.
Además de la visualización en el entorno gráfico de mBlock, es posible enlazarnos en tiempo real con el Arduino, mediante la actualización del firmware.
5. OBSERVACIONES - BENAVENTE QUISPE, ANDRES ANTONIO
Al no encontrar la imagen del semáforo en mBlock, fue necesario crear una imagen usando las herramientas brindadas por el software.
En el tema de creación de gráficos, notaremos que el mBlock es similar a Paint.
Para el semáforo se crearon diversas capas para su puesta en marcha, en mi video determiné un sólo led cambiando de Disfraz, puesto que viene a ser lo mismo.
8. CONCLUSIONES - PARICAHUA CRUZ, MAYCOL REINILDO
Se logró programar la tarjeta ARDUINO UNO utilizando un lenguaje gráfico (con mBlock) y comparar con lenguaje de texto (con software de Arduino).
Se pudo conocer el entorno de mBlock, el cual es un entorno gráfico que puede enlazarse con el Arduino en tiempo real en su ejecución; mediante la actualización del firmware.
Se realizaron programas básicos en mBlock, tales como el encendido secuencial de un LED y un Semáforo; en el cual se variaba el tiempo de encendido de las luces roja, ámbar y verde en tiempo real tanto en el Arduino, como en el entorno de mBlock.
Se realizó la descarga del programa realizado en mBlock al Arduino, para ello se ingresó a la opción Modo Arduino en mBlock. Dicha opción transformaba el programa de bloques a lenguaje de texto y permitía subir el programa al Arduino.
9. CONCLUSIONES - BENAVENTE QUISPE, ANDRES ANTONIO
Se logró el encendido y apagado del LED en el arduino usando el mBlock.
Entendimos la serie de bloques que se utilizaron en Mblock para la realización de dicho proceso, también entendimos el lenguaje arduino creado.
Se determinó la manera de encender el LED haciendo uso de pulsadores (no fue solicitado en el laboratorio, pero por deducción se logró hacer).