I.
PORTADA UNIVERSIDAD TÉCNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial
Título: Creación de un programa con funciones .
Carrera: Telecomunicaciones
Unidad de Organización Curricular: Básica
Línea de Investigación: Desarrollo e Investigación de software
Ciclo Académico y Paralelo: Paralelo “A”
Septiembre 2018 - Febrero 2019
Alumnos participantes: -
Cuchipe Luis
Módulo y Docente: Programación Avanzada Ing. Patricio Encalada
UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL PERÍODO ACADÉMICO: SEPTIEMBRE 2017 – FEBRERO 2018
I.
INFORME DEL PROYECTO 1.1 .-Título Análisis, aplicación y funcionamiento del dispositivo sphero mini 1.2 . -Objetivos - Analizar el funcionamiento y los diferentes proyectos realizados con el dispositivo sphero mini . Específicos Estudiar cómo funciona el dispositivo sphero mini Analizar e investigar cuál es la forma de programación Examinar proyectos realizados con este dispositivo. 1.3 . -Resumen
Realizaremos una descripción completa acerca del Sphero mini que es un dispositivo electrónico es una pequeña bola robótica del tamaño de una pelota de golf además se investigara la estructura de la programación en java script y como se modificar de acuerdo a nuestras necesidades. Mediante la información obtenida sobre el dispositivo revisaremos algunas de las aplicaciones y los diferentes proyectos realizados con el sphero mini
1.4 .-Palabras clave: sphero mini, java, programación. 1.5 .-Introducción En la actualidad se crean diferentes dispositivos electrónicos que son de mucha utilidad para las personas como es el caso de Sphero mini que es un dispositivo programable de acuerdo a las aplicaciones que podemos darle, con este dispositivo básicamente se puede jugar y controlar mediante nuestro celular mediante la aplicación Sphero edu.
1.6 . -Materiales y Metodología
Materiales - Computadora - Internet
UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL PERÍODO ACADÉMICO: SEPTIEMBRE 2017 – FEBRERO 2018
Fundamentación teórica Sphero mini La Sphero mini, es una pequeña bola robótica del tamaño de una pelota de golf, que te ofrece más diversión de lo que te puedes llegar a imaginar. La Sphero mini contiene un pequeño giroscopio, un acelerómetro, luces LED y una batería de casi una hora de duración. [1] Ya que este dispositivo funciona mediante una aplicación con el celular lo primero es sincronizar el Sphero Mini por primera vez y calibras la esfera, lo normal es probar qué se puede hacer con ella y cómo reacciona. Para calibrar el dispositivo tiene que estar en el piso porque sale disparado en cuanto muevas el joystick virtual. Para tus primeros paseos, es recomendable que lo hagas en una habitación lo más despejada posible hasta que te hagas con los controles. Hay cuatro formas diferentes de controlarlo: -Joystick virtual, que es el típico que mueves y el Sphero va en esa dirección. -Tirachinas, que hará que tu robot salga "disparado" en dirección opuesta. -Inclinación, mediante el que moverás el iPhone desde una posición plana para que se desplace por la superficie. -Face Drive, que es ridículamente difícil e hilarante. Utiliza la cara para controlar el movimiento con inclinación para la dirección Cara, para mover el Sphero mediante diferentes gestos faciales, aunque no está demasiado bien logrado. Tal vez una actualización específica para iPhone X cambie la cosa. [2] Estructura: Sphero Mini esconde en su interior multitud de sensores y dos pequeños motores que giran sus diminutas ruedas. En la parte superior tiene una sección transparente con dos ruedas diminutas y un LED que parpadeará mientras se carga.
UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL PERÍODO ACADÉMICO: SEPTIEMBRE 2017 – FEBRERO 2018
Ilustración 1.estructura del Sphero mini
CARACTERISTICAS: -
Conexión hasta a 10 metros de distancia 45 minutos de diversión Accesorios incluidos Programa tu robot con Sphero Edu app Utiliza el robot como control de videojuegos Ideal para utilizar en interiores, suelos duros y alfombras bajas
ESPECIFICACIONES: Sensores Encoders Giroscopio Accelerómetro
Conexión Bluetooth LE (10m)
Compatibilidad app -
Sphero Mini - iOS - Android
UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL PERÍODO ACADÉMICO: SEPTIEMBRE 2017 – FEBRERO 2018
PROGRAMACIÓN Para programar a nuestro gusta lo primero hay que descárgate la app Sphero Edu y comenzar a programar tu robot con JavaScript de una forma amigable y fácil. Podrás diseñar un circuito de carreras, establecer los límites del circuito para que no se salga de la pista. Aunque no necesariamente uno debe descargarse Sphero Edu para jugar con Sphero SPRK+. Tynker App es otra aplicación que permite enseñar a los peques programación con su bola transparente o con cualquier otro robot. Tynker se adapta a la evolución de los usuarios. Así, una vez que comprenden el funcionamiento de los bloques, éstos pueden pasar a aprender programación con un lenguaje. Un funcionamiento parecido a Tynker App es el que posee Tickle App. Compatible con una variedad de robots programables, como BB-8 Sphero Droide Star Wars o Dash and Dot, esta aplicación utiliza el método de la programación por bloques para que los peques se adapten a la lógica del código rápida y fácilmente. [3]
PROGRAMACIÓN EN JAVA JavaScript es uno de los lenguajes de programación más populares del mundo. Es muy útil para crear sitios web modernos, e incluso es posible crear servicios de back-end de sitios web con extensiones del lenguaje. Fue creado originalmente en 1995 por Brendan Eich en Netscape, una de las primeras compañías de Internet que JavaScript alimenta los lienzos de programación de Dibujar y Bloquear en la aplicación Sphero Edu, y puedes ver el código Javascript detrás de esos programas. Ahora pasará de dibujar líneas y arrastrar bloques a escribir el código de texto usted mismo.
Movimiento
Los movimientos controlan los motores del robot y el sistema de control. Puede usar comandos de movimiento secuencial al separarlos con saltos de línea, como Hello World. programa. Los robots esferos se mueven con tres instrucciones básicas: rumbo, velocidad y duración. Por
UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL PERÍODO ACADÉMICO: SEPTIEMBRE 2017 – FEBRERO 2018
ejemplo, si establece rumbo = 0 °, velocidad = 60, duración = 3s, el robot avanzará 3s a una velocidad moderada. Rodar
await roll() combina rumbo (0-360 °), velocidad (-255-255) y duración ( tiempo (s))
para hacer que el robot ruede con una línea de código. Por ejemplo, para que el robot ruede a 90 °, a una velocidad de 200 durante 2s, use await roll(90, 200, 2)
Velocidad
setSpeed()establece la velocidad del robot de -255 a 255, donde la velocidad
positiva es hacia adelante, la velocidad negativa hacia atrás y 0 se detiene. Cada tipo de robot traduce este valor de manera diferente en una velocidad del mundo real; Ollie es casi tres veces más rápido que Sphero. Por ejemplo, utilice setSpeed(188)para establecer la velocidad en 188, que persiste hasta que establezca una velocidad diferente. También puede leer el valor de la velocidad en tiempo realen centímetros por segundo informado por los codificadores del motor.
Detener
stopRoll()establece la velocidad a cero para detener el robot, de hecho, igual que el setSpeed(0)comando.
Título
setHeading()establece la dirección en la que el robot rueda. Suponiendo que
apunta el robot con la luz trasera azul hacia usted, entonces 0 ° está adelante,
UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL PERÍODO ACADÉMICO: SEPTIEMBRE 2017 – FEBRERO 2018
90 ° está a la derecha, 270 ° está a la izquierda y 180 ° está hacia atrás. Por ejemplo, utiliza setHeading(90) para hacer frente a la derecha.
Girar
await spin()gira el robot por un número dado de grados a lo largo del tiempo, con
360 ° siendo una sola revolución. Por ejemplo, para hacer girar el robot 360 ° sobre 1s, utilice: await spin(360, 1) . Use setSpeed() antes para await spin() que el robot se mueva en círculo o en un arco o círculo.
Estabilización
setStabilization(true)Enciende el sistema de estabilización y setStabilization(false)lo apaga. La estabilización normalmente está activada
para mantener el robot en posición vertical usando la Unidad de Medición Inercial (IMU), una combinación de lecturas del Acelerómetro (aceleración direccional), Giroscopio (velocidad de rotación) y Codificadores(ubicación y distancia). Cuando setStabilization(false)enciendes los motores, el robot no se balanceará, lo que resultará en posibles comportamientos inestables como la conducción tambaleante o incluso el salto si configuras la potencia muy alto. Algunos casos de uso para apagarlo son: 1. Salto: establece la potencia del motor en valores máximos y el robot saltará del suelo. 2. Gyro: programas como el Spinning Top en el que desea aislar las lecturas del giroscopio en lugar de que el robot se equilibre automáticamente dentro de la carcasa.
Cuando la estabilización está desactivada, no se puede usar setSpeed para establecer una velocidad porque requiere que el sistema de control esté encendido para funcionar. Sin embargo, puede controlar los motores usando la potencia del motor con rightMotorPwm y leftMotorPwmcuando el sistema de control está apagado
Fuerza de motor rightMotorPwm()y leftMotorPwm()controle la potencia eléctrica enviada a los
motores izquierdo y derecho de forma independiente, en una escala de -255 a 255. Si configura ambos motores a plena potencia, el robot saltará porque setStabilization(false)al usar este comando. La potencia del motor es diferente de setSpeed porque el motor sin procesar envía una "fuerza
UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL PERÍODO ACADÉMICO: SEPTIEMBRE 2017 – FEBRERO 2018
electromotriz" a los motores, mientras que la velocidad establecida es una velocidad objetivo medida por los codificadores.
Restablecer objetivo
resetAim()restablece el ángulo de calibración de rumbo (objetivo) para ut ilizar la
dirección actual del robot como 0 °, dentro de un rango de 0-360 °. Por ejemplo, use resetAim(90)para usar la dirección actual del lado derecho del robot como 0 °. Cuando se usa en el lienzo de bloques, resetAim()se limita a establecer la dirección actual del frente del robot en 0 °. PROYECTOS: Presentaros 3 juegos geniales para Sphero y que se controlan mediante distintas apps de dispositivos iOS. 1. Sphero Exile es un videojuego al estilo clásico de batallas intergalácticas. La principal diferencia con otros juegos es que en este caso la nave que comandamos se controla con Sphero, es decir, la usamos como un joystick. 2. Sphero Golf es una evolución natural de control remoto básico de Sphero. En este juego Sphero serà la pelota de golf y nuestro iPhone palo. Establecemos el hoyo y el punto de partida. Hacemos el movimiento con el iPhone y Sphero se desplazará con la fuerza y la dirección con la que hayamos golpeado virtualmente la pelota. 3. Sphero Rolling Dead es un espectacular juego que combina Sphero, dispositivos iOS y Realidad Aumentada. El resultado es asombroso: unos zombis nacerán del suelo de tu salón y solo Sphero podrá liberarte de su presencia. [4]
1.7 Conclusiones El Sphero edu es un dispositivo muy interesante que sirve para aprender a programar a la vez divertirse con él.
UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL PERÍODO ACADÉMICO: SEPTIEMBRE 2017 – FEBRERO 2018
1.8 Referencias bibliográficas [1] «zonaoutdoor,» 12 07 2017. [En línea]. Available: https://www.zonaoutdoor.es/spheromini-bola-robotica-interactiva. [Último acceso: 23 11 2018]. [2] N. Lopez, «thenextweb,» 29 09 2017. [En línea]. Available: https://thenextweb.com/insider/2017/09/29/new-sphero-mini-utterly/. [Último acceso: 23 11 2018]. [3] 12 09 2018. [En línea]. Available: https://www.juguetronica.com/blog/apps-sphero-sprk/. [Último acceso: 23 11 2018]. [4] [En línea]. Available: http://www.ididactic.com/3-juegos-geniales-para-tu-sphero/.