jueves, 2 de junio de 2016




SESIÓN MAYO 28.


IMPLEMENTACIÓN SOFTWARE Y HARDWARE: ARDUINO.



BIENVENIDOS ....

Para la sesión del día, se modifica el plan de trabajo original, estableciendo como prioridad el taller complemento de la actividad del infograma con la herramienta Arduino; previo a la actividad se plantea la realización de la Guía de Introducción al dispositivo.

Estructura de la Guía. Primera parte

Frente a la pregunta: ¿Qué es Arduino?, se propone la consulta de los elementos básicos de la plataforma Arduino, persuadiendo la visita de la página web https://www.arduino.cc/ como referencia.

Ilustración del dispositivo Arduino UNO (muy popular entre la serie) describiendo principalmente 
la distribucion de los pines entrada/salida digitales.

Respecto a la programación, se exponen las funciones básicas (dos) existentes en Arduino: setup() para configurar el dispositivo (funciones y entradas de Arduino), ejecutado una sola vez y loop(), ejecutado continuamente, iterando.

Segunda parte. Se plantea la realización de las siguientes simulaciones en linea usando la pagina web 123d.circuits.io

Primera Fase. Al agregar el componente Arduino Uno R3, automáticamente se despliega el código para el estado alto intermitente operado desde el pin número 13, con un retraso de 750 milisegundosentre estados alto bajo, en el modo salida. Aunque no se ha integrado ningún otro componente, elindicador de encendido toma color verde, además se aprecia una señal de intermitencia dentrodel componente, la cual esta demarcada con la letra L y al encender toma color naranja.



Segunda Fase. Simulación. El circuito se basa en la operación de encendido y apagado secuencial de una serie de 6 led. Se evidencia que la operación como tal es la de encender y apagar un led, y luego se debe replicar en cada uno de los demás. Con la codificación de cada pin de la placa Arduino correspondiente a un número entero, es posible generar agregando una línea de código con el comando “for” para definir el modo salida de cada pin, en el espacio del “setup”; del mismo modo, mediante el comando “for” se le indica el avance, entero por entero, desde el numero 2 al 7 (que corresponden a los pines utilizados), para que encienda y, después de un retardo de tiempo, apague y continúe en secuencia hasta cubrir los 6 leds. Allí el comando “loop” reinicia la instrucción sin interrupción. Así se logra que el programa este basado en pocas líneas de código.




SEMINARIO SISTEMAS TECNOLÓGICOS GRUPO B

Se inicia la sesión, moderada por la Profesora Laura, quien da la bienvenida al espacio académico y explica los motivos del cambio en el plan de trabajo, el cual contemplaba un taller orientado a la construcción de un drawdio y que por motivos de tiempo no se realiza. Insta a visitar los enlaces http://makezine.com/projects/drawdio-musical-pencil/   http://www.instructables.com/id/Drawdio-3/ https://www.youtube.com/watch?v=P4-Wl0W1004  a aquellos que deseen tomar referencias.

La actividad del día contempla la integración del dispositivo Arduino a la infografía impresa realizada en la clase anterior, en la cual se han desarrollado los códigos de programación en la plataforma Processing (disponible en https://processing.org/); de igual manera, en la mencionada clase se solicito a los grupos de trabajo conformados, adquirir y traer consigo algunos pulsadores (tantos como la infografia lo requiriese), soldadura para componentes, cautín, alambres, el dispositivo Arduino (de preferencia de la serie NANO) y un protoboard para facilitar su manipulación.

Se realiza una descripción general de los terminales del Arduino y los símbolos impresos, identificando los pines de entrada/salida digital (D2 a D13), con la particularidad de que el pin D13 corresponde a led interno del dispositivo, pin GND (sigla de "ground" o tierra en español, que corresponde al negativo eléctrico o estado bajo) y el botón de "reset" integrado. Se procede a la descarga e instalación de la plataforma Arduino (disponible en https://www.arduino.cc /en /Main/Software/).

Concluido el proceso, se conecta el dispositivo a una de las entradas USB del computador y se verifica que la plataforma lo identifique, ajustando según las características disponibles. Se procede con la configuración de un programa de prueba en la plataforma. Por defecto, interface provee los bloques correspondientes a setup() y loop(), respectivamente. Dentro del primer bloque, setup(), se define la función del pin de entrada/salida digital escogido para controlar su estado. En este caso, el pin será destinado a registrar la lectura del estado digital (alto o bajo) presente, señal que será generada al obturar el pulsador conectado en serie entre GND y el pin seleccionado. Se uso el pin D13 para demostrar su relación con el led integrado al dispositivo; se busca que al obturar el pulsador, éste led se accione dos veces consecutivas. La instrucción OUTPUT junto con el número especifica que el pin corresponderá a una salida, es decir, entregará un estado alto al accionarse. Se evidenciará el encendido del led.

Realizada la primera prueba, se requiere que los pulsadores esten dispuestos en la infografia; para tal fin, despues de acoplarlos según su diseño, se procede al ensamble de los alambres a los terminales de cada uno, adheridos por medio de soldadura de estaño. En este momento se da paso al uso del cautín, para lo cual la Profesora Laura promueve las precauciones de su uso, debido al riego de lesión ante la alta temperatura de manejo y recomienda realizar el proceso previendo cualquier daño en el mobiliario del aula e inculcando la responsabilidad ante cualquier daño. Para esta actividad se destina un tiempo de una hora, despues de la cual se dará inicio a la programacion del dispositivo.


A continuación se procede con la configuración del software y la creacion del programa. En este paso se requere disponer del archivo de configuración de processing desarrollado para la infografia en la clase anterior, así como el archivo de configuración xml, los cuales deberán ser modificados.

Respecto al dispositivo Arduino, los pines seleccionados estarán destinados a registrar la lectura del estado digital (alto o bajo) presente, señal generada al obturar el respectivo pulsador, conectado en serie entre GND y el pin especifico. La instrucción INPUT_PULLUP junto con el número especifica que el pin corresponderá a una entrada, es decir, leerá el estado presente en dicho pin. Se complementa la instrucción con "_PULLUP" para que el dispositivo interprete, por defecto, una señal de estado alto y así evite la filtración corrientes de "ruido" y responda al ingresar un voltaje negativo (estado bajo) en la entrada. En seguida se coloca la instrucción Serial.begin() (ver https:// www. arduino.cc/en/Serial/Begin) que permite la conexión con el puerto Serie del computador, la cual incluye la referencia de su velocidad de la conexión, que para el caso sera de 9600 baudios (unidad de transmisión de datos correspondiente a bits por segundo).

Se complementa la instrucción con "_PULLUP" para que el dispositivo interprete, por defecto, una señal de estado alto y así evite la filtración corrientes de "ruido" y responda al ingresar un voltaje negativo (estado bajo) en la entrada. En seguida se coloca la instrucción Serial.begin() que permite la conexión con el puerto Serie del computador, la cual incluye la referencia de su velocidad de la conexión, que para el caso sera de 9600 baudios (unidad de transmisión de datos correspondiente a bits por segundo).



Dentro del bloque loop(), se declara un condicional que establezca que el registrar un esto bajo en determinado pin, enviará al computador un caracter definido, por medio del puerto serie, mediante la instrucción Serial.Write(), durante el tiempo referido por el parámetro "delay()"; al pulsar en la inforgrafia cualquier interruptor y el caracter enviado coincida con el caracter de referencia configurado en el archivo de extension xml de la infografia, se enlazará con el programa processing y desplegará en pantalla la respectiva información.



A continuación se procede a modificar el archivo de configuración de processing desarrollado para la infografia, así como el archivo de configuración xml, realizados en la anterior sesión.

Se añade la primera linea de codigo, que registra la conexió del programa processing al puerto serial del computador, ed decir, se declara el acceso a esta via de datos. Asi mismo, se declara el Serial con la variable puerto, para ser utilizada a lo largo del programa.


A continuación se añade los atributos del la variable puerto, dentro del bloque setup(), esto es, la lectura de los bits que se transmitan y su velocidad, la cual debe coincidir con la velocidad registrada en el programa arduino.

En el bloque draw() se declara la admision de datos desde el puerto disponible, declarando que el programa convierta el valor de bits en un caracter.


El resto de las lineas de código del programa original no se modifican. El resultado, control de la infografia digital desde la infografia impresa, a traves del dispositivo arduino.



Como actividad adicional, se contempló la posibilidad de lograr establecer una pantalla de portada en la infografia digital, de tal manera que al obturar alguno de los pulsadores, desplegara su correspondiente información y al transcurrir unos pocos segundos de tiempo, el programa retornara la imagen a la pantalla portada. Un agradecimiento a la Profesora Laura, quien oriento la programación del código para conseguirlo.

No hay comentarios:

Publicar un comentario