AndrĂŠs Camilo Urrego Restrepo
+
Sensores, Espacialidad y Entretenimiento
Se presentó un poco más a fondo como seria trabajar con arduino, y unas de sus funcionalidades bases, la programación y la interactividad fácil con el usuario, para darle muchos usos al arduino uno. Fue explicada de la forma más mínima lo que significa Binario, interactividad, mapping, digital y analógico, de los cuales las últimas dos fue diferente como se vieron, ya que uno antes pensaba que analógico daría a cualquier aparato que no trabajaba con nada de tecnología nueva y era más mecánico; digital se pensaba a toda la tecnología de ahora, y ya se ve más analógico como la interacción de la máquina y el usuario y digital más a dígitos, de los dedos, aunque sigue ligado a la definición de tecnología. Un punto interesante fue la “competencia” entre iPhone, Samsung y Android, de la cual Android tiene más ventajas que desventajas en cuanto a Software (Programación a crear y modificar) y Hardware (Componentes que se pueden modificar o arreglar)
2
Cada día se ve la necesidad de buscar una forma de como almacenar más, en menos espacio, ya que hay una sobresaturación de información y una limitación en cuanto a el medio físico y el lugar o la forma en donde se almacena tal información, la nube y los servidores, los discos duros y el no total uso de su capacidad publicitada, da para pensar, ese esa pérdida de espacio que no poseemos en un disco duro portátil comprado ¿A dónde queda destinado?, y ¿el almacenamiento en la nube se saturara completamente en algún día?, los servidores actuales pueden guardar mucha información y con la miniaturización de los componentes, aun mas, pero como lo es el caso de la ipv4, ya hay tantos sistemas conectados a la red y tantos aparatos requiriendo guardar información que se están acabando las formas, por el momento. El ipv6 es por ejemplo una nueva forma de soportar la cantidad de elementos requiriendo direcciones e ip´s a ser dirigidas, para el internet de las cosas. La hominización es el caso en el que antes se necesitaba poco espacio por que las cosas pesaban poco, ahora no hay casi nada que llegue a caber en el primer disquete creado, y las personas nuevas son más capaces de entender que con dos dedos se puede hacer zoom a una imagen en una pantalla táctil que un ancestro.
3
Se habló un poco sobre Blaise Pascal, uno de los primeros en diseñar y construir una maquina sumadora. También un punto y es que toda máquina, por perfecta que fuera, siempre tendría que tener un botón de reset, como lo tienen los Arduinos, para volver a empezar si un error aparece. Sobre BigBrother e ingeniería inversa se supo que hay plataformas que todo lo ven y lo saben, algoritmos tan complejos que ahora saben cómo predecir cosas a futuro, manejando cantidad enormes de datos para dar estas respuestas mejores, y de ingeniería inversa para crear un mejor producto a partir de ver cómo funciona y como esta creado otro producto. Y así como lo hace Windows, se habla de las plataformas unificadas, para estar un solo producto en todas partes, un solo programa que se pueda transferir y funcionar en todos los sistemas y productos que existan en el mercado para llegar a todo el público posible.
4
Muchos de los algoritmos leídos en clase tenían un problema en común, eran muy simple su solución, eran muy lineales (sin opciones) o la respuesta final no tenía coherencia a la pregunta inicial, y se tratara de corregirlos y crear algoritmos complejos para la siguiente clase. Se conoció que existen varias ecuaciones matemáticas y físicas que pueden aparecer en los algoritmos, como las variables, reglas de tres simples y complejas. Al final se vieron y conocieron más a fondo, los tipos de sensores que se pueden usar con arduino, cada uno definido a una categoría, temperatura, agua, decibeles, lúmenes, potencia, entre otros.
5
El profesor nos trajo a un compañero mexicano que nos explicaba como declarar variables, que son las librerías y varios ejemplos de códigos en processing que pudimos ver de forma gráfica, para que funcionaban. Luego los compañeros expusimos los temas de categorías por así decir para trabajar con arduino, humedad, luz sonido y movimiento, de los cuales se explicaron cada uno, sus unidades de medida y se mencionaron y mostraron los elementos físicos para poder medir estas categorías. Se dio un orden especifico de las exposiciones a presentar ya que cada una iba cogiendo partes de la anterior para tener un final útil al trabaja con arduino, para medir variables, no siempre se necesita unos sensores de movimiento para detectar movimiento, también puede ser con luz o con sonido, por ejemplo.
6
Se empezó la clase resolviendo los algoritmos complejos, algunos o eran muy simples o tenían bucles que a veces enredaban la solución de este, pero en general se dio a final un buen resultado en su creación. Se repartieron entre grupos las exposiciones para la siguiente clase de los tipos de arduino que hay, arduino mega, mini, lilypad, entre otros, hay que presentar para que se creó ese modelo y sus funcionalidades, así como sus partes. El profesor nos presentó un arduino físicamente con algo ya armado, que poseía un sensor de movimiento, un servo y un led, nos dijo que parecido a ese pueden ser los proyectos finales, nos dijo que tuviéramos muy en cuenta el orden a la hora de armar los proyectos, sobre todo con los cables para luego no enredarse, oscuro significa tierra, rojo electricidad y naranja datos. De ahí, nos dio la lista de cosas que debíamos comprar para ya ir teniendo los elementos para trabajar en casa o en clase, aparte del arduino, algunos leds, jumpers, protoboard, resistencias y otros.
7
Se usó parte de la clase para exponer los tipos de Arduinos que le tocaba a cada grupo, arduino mega, uno, Leonardo, esplora, mini, lilypad, y así se pudo ver como cada uno, tiene sus similares y diferencias, por lo general en tamaño, uso específico, potencia y diseño. Luego todos sacamos y miramos cada parte de las cosas que debíamos haber comprado, el arduino uno, la protoboard, resistencias y así, pudimos ver como a unos los tumbaron ya que por ejemplo las resistencias cuestan en masa casi que 1 peso cada una, y los servos están los baratos que levantan menos peso y son de, las protoboards tienen un sentido de sus conexiones, o son hacia abajo o son hacia el centro, depende del tipo de protoboard y si es + o -. También como casi todos los aparatos electrónicos pequeños, la estática los puede dañar, y algunos Arduinos chinos, venían con bolsa plástica antiestática, porque al parecer, los dispositivos electrónicos piratas cada vez crean una versión hasta mejor que la original.
8
En esta clase nos pasamos para otro salón donde suponíamos que tendrían mejores computadores para empezar a trabajar lo básico con el IDE de Arduino (lo cual fue la misma o peor experiencia con los computadores), tras la lenta instalación del programa, vimos unas partes iniciales del programa, dentro del están dos variables como “setup” que es la orden inicial y “loop” que sería la sección de código que se iría repitiendo. Probamos un sketch normal o el que tenía el arduino programado por defecto, que es una secuencia de prender y apagar un led cada cierto tiempo sobre el pin 13 y GND. Teníamos algo importante en mente, el orden de conectar las cosas (primero USB al Arduino luego al computador), el orden para desconectar el Arduino (primero se cierra el programa y luego se desconecta el USB conectado al computador), todo esto para evitar choques de energía que puedan dañar tanto el arduino como los puertos USB (COM1, COM2, COM3…) del computador.
9
Se nos presentó la aplicación “fritzing” la cual es súper útil a la hora de saber cómo ordenar prácticamente todo sobre los conectores, el sentido, con la protoboard, los sensores, cables, todo, es el pastel directo. Luego probamos tres configuraciones ya reales con nuestros materiales, una para iluminar un led RGB de varios tonos de color, otro para probar las variables que puede soltar el sensor de luz y al final uno para mover el servo según el potenciómetro, casi como un joystick; esto fue también para probar nuestros materiales, ya que algunas cosas como los servos y sobretodo las resistencias de casi todos, son más que chinas, y por ejemplo con el led RGB no funcionaba para nada con algunas resistencias. Un punto extra fue con el trabajo del servo que se mueve con el potenciómetro, influye en la protoboard, que tan lejos pongas los cables, ya que un servo que gaste mucha electricidad, hace que la energía vaya disminuyendo de acuerdo a que tan lejos se conectan los jumpers en la protoboard.
10
En esta clase, iniciamos creando algo más complejo con nuestro arduino físicamente, debíamos armar un sistema que hiciera que, según la cantidad de luz, un servo se moviera, lo cual nos tomó como mitad de toda la clase, pero conseguimos hacerlo funcionar. Hubo unos datos específicos técnicos a saber que son, del pin digital 8 al 13, son mejores para servos fuertes, del 0 al 7 son más sensibles; un servo no debe girar en el código a más de 180, porque podría terminar dañándose; la formula Serial.begin(9600) indica el canal por el que se envía la información a serial monitor y Serial.print() imprimen en el serial. Tuvimos una tarea para armar un sistema con el led RGB, para que cada cierto tiempo cambiase de color.
11
No más empezando, armamos de una vez el sistema que teníamos antes con el servo y el sensor, esta vez intentábamos hacerlo más rápido suponiendo que ya sabíamos y más complejo, ahora tratando de combinar todos los sensores que habíamos usado hasta el momento (led, servo, potenciómetro, sensor de luz y resistencias) conectado todos al arduino con su respectivo GND, voltios y cables de datos, de los cuales en mi grupo logramos realizarlo primero, con el que teníamos que intercalar en el código algo muy simple, el número de pin de donde venía la información a ser transmitida al servo, si provenía del potenciómetro o del sensor de luz, aparte de mostrar en el serial los valores que indican estos. Algo que se nos explicó, es una de las limitaciones del arduino UNO, que no es capaz con más de 3 sensores a la vez, por esa razón el led no podría funcionar, aunque le código estuviera bien, para estos casos es mejor el arduino Mega.
12
Lo que intentamos crear en esta clase fue un circuito que mostrara en la pantalla la humedad porcentual y la temperatura en el ambiente, hubieron varios factores por los cuales a solo 1 grupo le dio tal circuito, nosotros y otro grupo no teníamos los sensores, y los demás grupos, tenían otro tipo de pantalla, la única que funciono fue la de iluminación azul, ya que la de iluminación verde necesita u otra programación u otras librerías, y para que Arduino en el código pudiera leer la pantalla y el sensor de, se debió buscar e instalar las librerías “Wire.h, LiquidCrystal y DHT 11”. La instalación de librerías debe hacerse solo en la carpeta de instalación de arduino, dentro de la carpeta “libraries”, con el programa cerrado y comprobando las librerías, ya que puede haber diferentes versiones para cada tipo de sensor, como la pantalla. GitHub es la página donde está el código libre de casi todos los programas, allí o en páginas símiles se encuentran las librerías que sean necesarias.
13
Se empezó solucionando el parcial, del cual, muchos estaban de acuerdo y dieron con la respuesta correcta de la mayoría de puntos, pero otros, quizá lo pensamos mucho o nos íbamos a otra cosa, en lo que la solución era más simple, como el sensor de humedad, que no es un sensor que detecta humedad en sí, sino que es por los gases, específicamente el vapor de agua que es un gas. Luego nos enseñó lo que es el Makey Makey, una placa que trabaja bajo Arduino Leonardo y que es capaz de convertir prácticamente todo en un botón para transmitirse como un Joystick al computador, utilizando la baja, pero útil energía que maneja el mismo cuerpo humano. También nos dejó una tarea para la casa que fue crear con el potenciómetro un joystick básico para cualquier juego que cada uno busque.
14
En esta clase teníamos la tarea de manejar con el potenciómetro un juego simple con el arduino, la cual era muy difícil y requería de un método un poco peligroso, flashear otro sistema. UnoJoy, pude lograrlo y le expliqué a los compañeros como era el proceso del código, montaje del potenciómetro con arduino, el método para flashear y así, debía como tarea extra crear mi primer instructable explicando paso por paso todo esto, para que los demás la siguiente clase puedan realizarlo y que obviamente entiendan todo. Luego de exponer, cada grupo mostraba la idea de su proyecto de aula, hay calabazas que detectan movimiento y suenan, sistemas inteligentes de semáforos, drones, pianos, anillos inteligentes y Joysticks, y para la próxima clase ya debemos traer un adelanto de esto, que no solo sea la idea e imágenes, sino adelanto propio, así sea del montaje, del código, de cómo armarlo, pero ya ir adelantando bastante este proyecto.
15
En esta clase se dedicó más que todo a analizar más a fondo los proyectos, que más habíamos pensado respecto a la clase anterior de conocer los proyectos de los compañeros y revisar avances para ir adelantando en los proyectos, porque no hay mucho tiempo que digamos desde esta clase hasta la final. El profesor paso puesto por puesto revisando avances y mejorar a los proyectos, en el mío, usando la tarea anterior con unojoy, el avance era mostrar que aparte del potenciómetro, si se pueden usar los botones arcade para esto, la ventaja de la palanca es que usa el mismo sistema de pulsación mecánica que los botones, así que no habrá mucho problema, ya el resto del tiempo será usado más a la producción de un producto muy bien diseñado, que funcione en su totalidad y añadirle más funciones para crear algo muy completo, interesante y de buen aspecto.
16
Luego de la clase anterior presentar adelantos, en esa clase se debía presentar Aun más adelantos, si el profesor le dio a cada uno una tarea dependiendo de qué tan adelante fue, se debía traer realizada para comprobar que todo va bien, porque cada vez es menos tiempo y mejor tener terminado todo corregido, el código, y así finalizado antes de para al final tener tiempo para crear un buen producto, bonito y demás, porque esto no será código y cables no más. Para nuestro proyecto del joystick, le mostramos al profesor que la mayoría de botones y la palanca funcionaban perfectamente, de lo cual, el siguiente nivel va hacia la iluminación y el montaje de un prototipo para algo final. También al final, me dijo que le mostrara que si fui capaz de controlar el Arduino por medio del shield ethernet que él me presto, el cual le mostré que si funcionaba y luego me mando a crear un instructable sobre este (http://www.instructables.com/id/ShieldEthernet-Arduino-Controlar-Servo-Y-Led-Por-/)
17
Esta clase se llamó “Work shop” o clase a puertas abiertas, ya que ahora en vez de ser alumnos fuimos profesores de los estudiantes de cuarto semestre que ven con el mismo profesor que nosotros pero en otra clase, Historia del entretenimiento digital… lo que tratamos de realizar es de darles todo nuestro conocimiento en arduino y en dos work shop´s enseñarles todo lo posible, ya que ellos no les toco este profesor y vieron algo totalmente diferente, que no realizaron tantas cosas como las que nosotros estamos realizando. Les dimos un primer vistazo a lo básico de arduino, les mostramos un código simple y varios de los sensores que usamos, luego, les enseñamos a hacer montajes simples y usando códigos de ejemplo, mover un led pon un potenciómetro y un servo con un potenciómetro. Ellos quedaron con la tarea de investigar más sobre arduino, la próxima clase veremos que más se realizara, algo quizá con más nivel o solo ellos para comprobar que si hayan investigado.
18
En esta clase se pudo evidenciar el avance de todos los compañeros respecto a sus proyectos. Les dedicamos un tiempo en el cual ellos explicaban que llevaban, que les falta y problemas que han surgido, todos debíamos estar atentos para aprender y preguntar. Todos llevaban grandes avances en sus proyectos y la fase que sigue es terminar de montar todo y que funcione a la perfección, y para luego pasar al lado de la estética de un producto final. Muchos tuvieron la necesidad de aportar a su proyecto, una fuente de poder externa, siendo baterías de gran tamaño hasta la conexión directa a la toma corriente, ya que casi todos estamos llegando a los límites de arduino en cuanto a cuantas cosas es capaz de mover, cuanto código es capaz de procesar y cuanta energía es capaz de realizar. El próximo miércoles será la segunda y última clase del work shop, y el miércoles de la otra semana habrá que tener un avance mucho mayor, ya que habrá una calificación y evaluación de lo que se va, para una calificación casi final.
19
Este fue el segundo y último Workshop entre la clase de Historia y la de Sensores. Mi compañero de la clase pasada no vino, así que me dedique q ayudar a los demás que no les funcionaban algunas cosas y a armar mi control arcade para mostrárselos a los compañeros de historia. En esta clase a los demás se les enseño como mover un servo con la fotocelda, algunos lo armaron rápidamente, otros si se demoraron o algunas fotoceldas ya estaban muy dañadas, luego, se les enseño la aplicación Fritzing, la cual es un emulador y simulador completo de todo lo que tiene que ver con arduino, ya que muestra desde como conectar los cables hasta simular si todo está bien y probar el código. Luego a finales de la clase, los hermanos Bermúdez enseñaron su proyecto de semáforos inteligentes y luego mostré yo mi control arcade, ahí el profesor les comento que maso menos estos controles es la interactividad que se requiere y que muchos o los mejores juegos que ellos creen serán controlados por el mío o joysticks parecidos.
20
Esta clase fue dedicada a ver, mejorar y dar consejos y críticas constructivas a cada proyecto. El personaje de toy story estaba ya casi terminado, faltaban algunas líneas de código, el carro sensador de humedad también estaba casi listo, toda la estética de la carcasa faltaba, la araña no tenía mucho avance que digamos, solo lograban medio mover dos servos, una de sus 4 patas, la catapulta está casi lista también, solo falta una caja bonita donde guardar todo, mi control esta para acabar, le faltan que le de unos retoques de pintura, el semáforo inteligente para mi es el que está prácticamente terminado y el piano aún le falta lograr que se conecte a processing para lograr los sonidos.
21
Por petición de los estudiantes, el profesor empezó a adelantar las clases de programación básicos y medio avanzados que se deberían estar viendo en otras materias, esto ayudara a la organización o perfección de los códigos para todo el tema de sensores con Arduino y para no estar tan lejos de la programación como muchos pueden estarlo. Se mostró lo inicial del UNICODE (versión emoji la imagen) el estándar para los caracteres en el mundo de la informática, HTML5, Comandos de web, ejemplos en youtube, Google, Netflix y Gmail. También se mostró que como casi todos los códigos, estos tienen tres partes como un cuento, inicio, nudo y desenlace, que en código serian declaración de variables, desarrollo del código y resolución del problema.
22
Esta clase se siguió un poco con el tema del código, empezando por explicar ejemplos de algunos códigos básicos que unos cuantos compañeros nos mostraron y trataron de explicar de la forma más sencilla que haya. Luego se mostró que la explicación del código de por ejemplo, un lector de tarjetas con sensor RFID, es más complicado de lo que parece, pero el código, ya que para hackear las tarjetas de bandas antiguas es muy fácil y si alguien ya tiene el código bien armado, será muy fácil copiar las tarjetas de bancos, cines y metro por ejemplo solo pasando cerca de la otra tarjeta a copiar, por eso en casos como Bancolombia existen un elemento llamado Token, el cual es una contraseña extra de 6 dígitos que va cambiando cada 10 segundos, para mayor seguridad. Parecido en aplicaciones de celulares a Google Authenticathor. Al acabar la clase seguimos mirando cómo van los avances de los grupos que hay traído y estamos viendo que ya casi todos los proyectos van muy bien montados y a punto de acabar.
23
En esta clase vimos los protocolos de transmisión de datos, como el WiFi, el Bluetooth, la radio, GSM y sus pros y contras. Del WiFi, vimos más contras que es la latencia que puede generar al estar con una señal débil por la distancia o los obstáculos como los muros, una tecnología llamada LyFi trata de mejorar todo lo referente a internet inalámbrica. Sobre bluetooth sabemos que los peores son los de los iPhone porque son exageradamente limitados, y que este solo puede enviar o transmitir, no los dos al mismo tiempo. Radio al parecer es la mejor señal, en su sentido AM, ya que es una onda que jamás se va a perder, por eso es usada en las naves espaciales. GSM es la señal que se usa para la red móvil, la cual es más antigua en el sentido de que ya no se mandan tantos SMS como antes, pero su señal es parecida a la radio, por reverberancia, y compartiendo torres con los demás para genera todo un espectro que abarque un gran espacio, para mejorar esa señal lo mejor sería usar la señal satelital.
24
Esta clase inicio con una demostración de un brazo robótico controlado por Arduino uno y un programa creado en base a C#, este recrea un espacio 3d simulando el brazo de la vida real para manejarlo precisamente. Luego de esta muestra, lo que se enseñó fueron de nuevo y los últimos vistazos a cada proyecto, para su aprobación final y la corrección de los últimos detalles, y se dieron las órdenes para la presentación final el martes 8 de noviembre junto a los jurados, allí se presentara ya el proyecto completo sin errores y “Plug and Play”
25