$4(12 (&(2 + 0#3(-. .+(4( -...

26
03/2018 Año 0 Introducción a la Plataforma Arduino NODEBOTS: La nueva generación de robots potenciada con JavaScript El Internet de las Cosas (IoT) Mis Primeros pasos en IoT Mandos Interactivos con Arduino Arduino Day

Upload: ngoque

Post on 06-Oct-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

Revista Digital

Arduino Bolivia 03/2018 ­ Año 0

1

Introducción a la Plataforma Arduino

NODEBOTS: La nueva generación derobots potenciada con JavaScript

El Internet de las Cosas (IoT)

Mis Primeros pasos en IoT

Mandos Interactivos con Arduino

Arduino Day

Editorial

www.arduinobolivia.elinsi.com

[email protected]

RevistaArduinoBolivia

@Arduino_Bolivia

Scribus GIMP Inkscape

Esta publicación fue realizada con

Software Libre

Esta publicación y todo su contenido se

comparte con la Licencia Creative

Commons 4.0

Puedes copiar, reproducir, distribuir,

comunicar públicamente la obra y

generar obras derivadas siempre y

cuando se cite y reconozca al autor

original. La distribución de las obras

derivadas deberá hacerse bajo una

licencia del mismo tipo. No se permite

utilizar la obra con fines comerciales.

A principios de éste año nace la idea de crear unarevista con el propósito de que sea un medio dondese pueda publicar los artículos, tutoriales y proyectosque son elaborados en nuestro país, es así comonace éste proyecto "Arduino Bolivia" una revistadigital de distribución bimestral y gratuita.

Uno de los objetivos de la revista es dar laoportunidad de que todos puedan colaborar ycontribuir a través de la elaboración de articulos,tutoriales y proyectos relacionados a la plataformaArduino.

Iniciar cualquier proyecto siempre tiene su dificultad,especialmente cuando no existe ningún tipo deapoyo económico de por medio, ésta primerapublicación no seria posible sin el apoyo ycolaboración de Casto Bernardo Ordoñez Callisaya yJahzeel Issac Rodas Flores que se sumaron a ésteproyecto de forma desinteresada, y especialmente ami esposa Marlen que siempre me apoya en todosmis proyectos.

Así damos inicio a éste proyecto con el fírmepropósito de mantener los lineamientos del softwarey hardware libre, apoyando y compartiendo elconocimiento libre.

Osman R. Condori Guevara

Todos los artículos, tutoriales y proyectos publicados en la

revista "Arduino Bolivia" son responsabilidad de cada uno

de los autores, la revista no se hace responsable de la

autentisidad y posibles conflictos derivados de la autoria

de los trabajos publicados.

Coordinadores

Casto Bernardo Ordoñez [email protected]ónico en Sistema de Control Industrial y Sistemas de

Computo, Co-Fundador de la Comunidad Arduino La Paz,

Propietario y SEO de EPY Electrónica Bolivia.

Osman R. Condori [email protected]ónico, Gerente propietario de la empresa de servicios y

capacitación técnica en Electrónica, Informática y Sistemas "ELINSI"

www.elinsi.com

Jahzeel Issac Rodas [email protected] Informático, Experto en Robótica y Domótica con

Hardware Libre, Desarrollador Web FullStack, Gerente Propietario y

CEO de Robotech Tarija.

Contenido

NODEBOTS: La nueva generación de robots potenciadacon JavaScript

El Internet de las Cosas (IoT)

Mis primeros pasos en IoT

Arduino Day

Pag. 5

Pag. 9

Pag. 12

Pag. 21

Mandos Interactivos con ArduinoPag. 18

Introducción a la plataforma ArduinoPag. 1

1Arduino Bolivia

¿Qué es Arduino?

Arduino es una plataforma de software yhardware libre, basado en el microcontroladorde la familia AVR y un entorno de desarrolloque está basado en Processing y en ellenguaje de programación Wiring, estádiseñado para facilitar el desarrollo deproyectos electrónicos de una manera másfacil.

Creadores de la plataforma Arduino: D.Cuartielles,

G. Martino, T. Igoe, D. Mellis y M. Banzi

La plataforma Arduino nace en el año 2005 enel Instituto Ivrea como una herramienta quefacilite la creación de prototipos electrónicos,dirigido a estudiantes sin experiencia enelectrónica y programación.

La placa arduino actualmente es utilizada parala creación de todo tipo de proyectos electró­nicos, desde los más sencillos hasta los masavanzados. Existe una comunidad a nivelmundial conformado por aficionados,estudiantes, programadores, profesionales yartistas que colaboran y aportan con ésteproyecto, sus contribuciones se han añadido ala gran cantidad de conocimiento accesibleque puede ser de gran ayuda paraprincipantes y expertos.

Arduino dispone de una amplia varidad demodelos de placas que podemos usar depen­diendo de nuestras necesidades, en la imagende abajo podemos observar los modelos mascomerciales que podemos encontrar.

Introduccion a la Plataforma Arduino

2Arduino Bolivia

Primer prototipo de Aduino

¿Porque usar Arduino?

En la actualidad existen gran variedad demicrocontroladores y diferentes plataformasdisponibles para el diseño electrónico, pero laplataforma Arduino ofrece las siguientesventajas:

Es de bajo costoLas placas Arduino son relativamente baratasen comparación con otras plataformas,tambien existe la posibilidad de adquirirproductos de fabricación china por menos de70 Bs. (10 $us).

Es un entorno de programación simpleEs fácil de usar para principiantes, perotambién es flexible para usuarios conconocimientos medios y avanzados, es una delas mejores herramientas para personas quequieren introducirse al mundo del diseñoelectrónico.

Es código abierto y software extensibleEl software de la plataforma Arduino estápublicado como herramienta de código abiertoy se puede descargar para realizar el estudio,modificación y mejoras en el software.

Es código abierto y hardware extensibleEl Arduino está basado en los micro­controladores ATMEGA8, ATMEGA168 yATMEGA328 de Atmel, los planos electrónicosde los diferentes modelos de las placasArduino están publicados bajo licenciaCreative Commons por lo que cada uno puedecrear su propia versión de la placa Arduino.

En la imagen de abajo se puede observar eldiseño electrónico de la placa Arduino Unoque se puede obtener de la pagina oficialhttps://www.arduino.cc/en/uploads/Main/arduino­uno­schematic.pdf

Es multiplataformaEl software de la platafor­ma Arduino se puedeejecutar en diferentessistemas operativos comoser: Windows, MacintoshOSX y en distribucionesGNU/Linux como serDebian, Ubuntu, LinuxMint, etc., la mayoria delas demás plataformassólo se pueden ejecutaren el sistema operativoWindows.

3Arduino Bolivia

¿Que es el IDE de Arduino?

El entorno de desarrollo integrado, llamadoIDE (por la sigla en inglés de IntegratedDevelopment Environment) es un programainformático compuesto por un conjunto deherramientas de programación.

El IDE de Arduino es un entorno deprogramación que ha sido empaquetado comoun programa de aplicación, tiene un editor decódigo, compilador, depurador y nos permitecargar el programa compilado a la placaArduino, la descarga del IDE se lo realizadesde la pagina oficial:https://www.arduino.cc/en/Main/Software

¿Como cargar el programa al Arduino?

Las placas arduino son fáciles de programar,se debe conectar la placa Arduino con elcomputador a través del cable USB

Se abre el programa IDE de Arduino y sedeben seguir los siguientes pasos:

­ Seleccionar la placa arduino que se va autilizar (Menu → Herramienta → Tarjeta)

­ Seleccionar el puerto serial(Menu → Herramienta → Puerto Serial)

­ Compilar el programa­ Cargar el programa a la placa Arduino

Una vez terminado el proceso, el programa sea cargado (grabado) a la placa Arduino y seencuentra listo para su funcionamiento.

4Arduino Bolivia

¿Con que Arduino empezar?

Esta es sin duda la pregunta más frecuente dequienes recién estan empezando con Arduino,actualmente existe una gran variedad demodelos disponibiles en el mercado, entreoriginales y clones, y cada una de ellas consus propias características técnicas. Para losprincipiantes se recomienda que empiezencon la placa Arduino Uno, es económico, facilde usar y se adquiere con facilidad.

¿Que placa Arduino es la mejor?

En la pagina oficial de Arduino existen 23modelos de placa Arduino a la venta, cadauno con sus propias características técnicas,no se puede comparar entre ellas y elegir cuales mejor porque cada placa fue creada paradiferentes usos y aplicaciones.

A la hora de elegir un placa Arduino para unproyecto en específico se debe seleccionar laque mejor se ajuste a los requerimientos denuestro proyecto, algunos puntos a tomar encuenta pueden ser:

­ Cantidad de pines de entrada y salida.­ Cantidad de pines de entrada analógica.­ Tensión de alimentación.­ Tamaño de la placa, etc.

¿Puedo hacer mi propia placa Arduino?

Si, todo el diseño del software y hardware dela placa Arduino se encuentra disponible en supagina oficial y lo puedes descargar yconstruir cualquiera de los modelos queexiste, tambien se puede realizar modifica­ciones y mejoras a cada diseño para obteneruna nueva placa Arduino que se ajuste demejor manera a los requerimientos de tuproyecto

Elaborado por:

Osman R. Condori Guevara

Nacido en la ciudad de Cochabamba ­Bolivia, estudió Ingeniera Electrónicaen la Universidad Mayor de SanSimón (UMSS) y Técnico Superior enElectrónica en la Universidad de SanFrancisco Xavier de Chuquisaca(UMRPSFXCH), propietario de laEmpresa de servicios y capacitacióntécnica en Electrónica Informática ySistemas ELINSI, [email protected]

5Arduino Bolivia

NODEBOTS

Integrar JavaScript al mundo del hardwarelibre y en tiempo real, nos permite realizar unsinfín de proyectos en el área de robótica através de algoritmos que le dan ciertainteligencia y autonomía a los robots. ConJavaScript y Node.js podemos desde prenderun led, considerado el “HOLA MUNDO” de larobótica, hasta controlar y monitorear losdispositivos de nuestro hogar, pasando por lapuesta en marcha de robots seguidores delínea que son aquellos que están pro­gramados para seguir una línea de un colordeterminado, así también robots que seancapaces de resolver un laberinto, los famosossumobots y el uso de los múltiples com­ponentes que forman parte de la tecnologíahardware libre. Entonces un Nodebot no esmás que un robot programado con lenguajede desarrollo web JavaScript.

JavaScript es un lenguaje de programaciónque no necesita ser compilado, sino que esanalizado por los navegadores, este lenguajede programacion se conoce como "Lenguajede programación interpretado" su principalobjetivo es el de agregar interactividad a laspaginas web. Tradicionalmente JavaScript seutilizaba para el desarrollo web del lado delcliente conocido como FRONTEND, pero en el2009 Ryan Dal hace posible el uso deJavaScript del lado del servidor o BACKENDmediante la plataforma Node.js que es unaplataforma construida sobre el motor v8 dechrome para JavaScript.

El ecosistema de Node.js a crecido tanto en lacomunidad que disponemos de innumerableslibrerias para gestionar desde el instalador depaquetes propio de NodeJs, Node PackageManager NPM, entre ellos el frameworkJohnnyFive con el que podemos utilizarJavaScript para darle inteligencia a losnodebots.

Node Js es una plataforma de desarrollo en lacual se puede correr JavaScript del lado delservidor, es un servidor de eventos lo que nosda una idea de cómo podemos sustituir elfamoso delay del lenguaje nativo de Arduinopor los eventos gracias a JavaScript.

NODEBOTS: La nueva generación de robotspotenciada con JavaScript

6Arduino Bolivia

Esto es muy interesante para losdesarrolladores ya que el hardware trabajacon bloqueos y es síncrono, JavaScript trabajacon eventos, es asíncrono y no tienebloqueos. Nos da una pauta de que ya notenemos un bucle corriendo en la placa, alcual teníamos que darle retardos paracoordinar las ordenes a los actuadores, orecuperar datos desde los sensores.

La filosofía Nodebots nace por la inquietud dela comunidad Node.js de controlar el hardwarelibre desde JavaScript, inicialmente esto sehace posible a través del móduloNodeSerialPort desarrollado por Cris Williamcon el cual ya podíamos controlar dispositivoselectrónicos a través del puerto serieutilizando la placa Arduino, no obstante estemódulo no nos permitía programar arduinodirectamente con JavaScript, se tenía quehacer por separado, esto obligo a muchosexpertos en JavaScript a tener que aprenderel lenguaje nativo de la placa arduino, lo queno cayo muy bien. Entonces desarrollaron elframework Johnny Five que ya permiteprogramar la placa arduino directamente conJavaScript.

¿Pero cómo funciona?

Para interactuar con el mundo del hardwarelibre desde Node.js, debemos escribir unconjunto de instrucciones en javascript el cualse comunicara con las placas de desarrollo através de Johnny Five, que interactúa con lospuertos de entrada y salida del hardwareutilizando el protocolo Firmata, que sirve paramanejar los puertos IO de las placas deprototipado. De hecho el protocolo puedetrabajar con cualquier lenguaje de progra­mación que tenga soporte para Firmata,processing, Visual Basic, Perl, C#, Php, Java,Javascript,Ruby,Python.

Además de programar los robots con­vencionales para las distintas competenciasde robótica, el hecho de utilizar JavaScriptpara interactuar con el mundo exterior a travésdel hardware libre nos permite desarrollarproyectos bastante interesantes, como; poderver los cambios de temperatura, o leer losdatos de un sensor de proximidad en tiemporeal reflejados en un navegador a través deuna página web desarrollada con JavaScript.

Esta interaccion se puede realizar desde unapagina web con todas las ventajas visualesque esto nos permite.

Cris William desarrolla el modulo necesariopara manejar hardware desde el puerto serial,este módulo se llama Node Serial Port que esuna iniciativa de 2011 para toda placa OpenSource.

Hola Mundo con Johnny Five

7Arduino Bolivia

Realizaremos el Hola Mundo de la robótica,que es hacer parpadear un led durante untiempo determinado. Para esto vamos anecesitar un led y una placa arduino uno.

Realizamos la conexión del LED en la placaarduino como se muestra en la siguientefigura:

Verificar si tenemos instalado Node.js con elcomando node ­­version desde la consola decomandos

Si les aparece la versión de Node.js entoncestienen instalada la plataforma.

Si no lo tienen instalado pueden descargarnodejs desde https://nodejs.org/es/download/

Creamos una carpeta donde realizaremos elproyecto, en este caso “NodeBots”.

Dentro de la carpeta “NodeBots” crear unproyecto Node.js con el comando:

npm init ­­yes

El cual nos creara un paquete Json, que es unarchivo que muestra algunos datos delproyecto como titulo, versión, libreríasinstaladas,etc.

Una vez creado nuestro package Json,necesitamos instalar el framework JohnnyFive con el comando npm install Johnny­five

Si la instalación concluyo con éxito nosaparece una carpeta con el nombre nodemodules dentro del directorio raiz de nuestroproyecto.

Ahora creamos nuestro archivo JavaScript conel siguiente nombre ‘’index.js’’, en el queindicaremos al led que parpadee cada 2segundos.

8Arduino Bolivia

Una vez escrito el código en JavaScript 6 eneste caso, necesitamos configurar el arduinode la siguiente manera para que puedainterpretar JavaScript.

Ingresamos al IDE de arduino y buscamos en

→ Archivo→ Ejemplos

→ Firmata→ StandardFirmata

Cargamos el código StandardFirmata a laplaca arduino de la manera convencional.

Terminada la carga del código firmataejecutamos el archivo index.js desde laconsola de comandos, con el siguientecomando: node index.js

Y listo! Ya tenemos el led parpadeando cada 2segundos.

Comunidad Notebots

Existen comunidades de desarrollo alrededordel mundo que se dedican a innovar en elmundo de la robótica con JavaScript, al igualque Arduino Day se realiza el Nodebot Day.Que es un evento en el que se danconferencias sobre los avances en este temay tutoriales de cómo realizar algunosproyectos, lo importante es que ya haycomunidades de habla hispana como enGuatemala, México y Colombia.

Mi nombre es Jahzeel IssacRodas Flores, nacido en Tarija ­Bolivia, de profesión IngenieroInformático, técnico en electrónica,Experto en Robotica y Domoticacon Hardware Libre, fui JuradoCalificador de las olimpiadascientíficas del estado plurinacionalen la etapa departamental deRobotica en WRO y HardwareLibre, coach de equiposmedallistas en las olimpiadas derobotica, docente de cursos decapacitación en Robotica paraEstudiantes, Docentes eIngenieros en la UCB san PabloTarija y la UAJMS. GerentePropietario y CEO de RobotechTarija.

9Arduino Bolivia

El IoT ó Internet of Things (Internet de lasCosas), es aquella concepción que se da eltener todos los objetos cotidianos inter­conectados a una Red (Internet), idea quehace años solo quedaba en la imaginación yla ciencia ficción, pero con el avance de latecnología en el mundo, es posible hablar decontrolar nuestros objetos desde cualquierparte del mundo.

Kevin Ashton, cofundador y director ejecutivodel Auto­ID Center en el Instituto deTecnología de Massachusetts (MIT), en unapresentación que hizo en 1999 dio lasprimeras pautas de lo que era, Internet ofThings y el potencial que este tendría con elmundo que conocemos explicándolo de lasiguiente manera:

"Hoy las computadoras, y, por lo tanto,Internet, dependen casi por completo de losseres humanos para obtener información.

Casi la totalidad de los aproximadamente50 petabytes (un petabyte es 1.024 terabytes)de datos disponibles en Internet fueronprimero capturados y creados por sereshumanos tecleando, presionando un botón degrabación, tomando una imagen digital oescaneando un código de barras.

El problema es que las personas tienentiempo, atención y precisión limitados, lo quesignifica que no son muy buenos paracapturar datos sobre cosas en el mundoreal. Si tuviéramos computadoras quesupieran todo lo que había que saber sobrelas cosas, utilizando los datos que recopilaronsin ninguna ayuda de nosotros, podríamosrastrear y contar todo y reducir en granmedida los desperdicios, pérdidas ycostos. Sabríamos cuándo era necesarioreemplazar las cosas, repararlas o retirarlas, ysi eran frescas o pasaron lo mejor quepudieron ".

Así es como Kevin Ashton hace referencia alInternet de las cosas allá por el año de 1999,hoy en día la idea sigue intacta y teindicaremos como es que funciona y se usarael IoT.

El Internet de las Cosas (IoT)

1 0Arduino Bolivia

¿Como funciona y se usa el IoT?

Todo dispositivo que se quiera usar como IoT,debe de tener o se le debe agregar acceso alinternet, que permite interconectar nuestrosdispositivos y acceder a recursos servicios ypáginas web en cualquier parte del mundo,además debe de tener o se le debeimplementar un sistema que sea inteligente, yeso significa que deben ser capases aparte deconectarse a internet deben de realizar lassiguientes tareas:

Monitorizar.­ Esta tarea es la más importantede todas, ya que con ayuda de los sensoresnos permitirán recolectar datos de todo lo queocurre con el equipo y su alrededor.

Controlar.­ A partir del monitoreo el equipodebe de ejecutar una acción en base a losdatos recopilados, y este debe de ser capazde ejecutarlas.

Optimizar.­ A partir del monitoreo y el análisisde la información recolectada el equipodeberá saber usar los recursos cuando seannecesariamente requeridos.

Automatizar.­ Es facilitar y reprogramaractividades que son consideradas rutinarias ytodo equipo debe de poder en base a datos yestadísticas generar las funciones rutinarias.

A todo esto, se le llama Sistemas Embebidos,estos son chips y circuitos que nos permitiránejecutar diferentes tareas específicas lascuales serán asignadas según su IP, ya quetodos los objetos tendrán una IP específica yse podrá acceder a cada uno de ellos paraasignarle una tarea, y también se podráacceder desde un servidor para que el equipoenvíe los datos que recopila.

Sobre esto Wikipedia nos cuenta queel Internet de las cosas debería codificar de 50a 100 mil billones de objetos y seguir elmovimiento de éstos. Se calcula que todo serhumano está rodeado de por lo menos 1000 a5000 objetos. (te animarías a comprobarlo…)

Ya son muchas las empresas que esperanuna enorme evolución del IoT. Lacompañía Gartner cree que en 2020 habrá enel mundo aproximadamente 26 mil millones dedispositivos con un sistema de adaptaciónal Internet de las cosas. Abi Research, porotro lado, asegura que llegaremos a los 30 milmillones en el mismo año.

1 1Arduino Bolivia

Pero el IoT no solo viene a mejorar la vida dela gente, también tiende a eliminar laprivacidad, porque estaremos constantementecediendo información de nuestras vidas a lared, la cual podría llegar a ser hackeada yponer en riesgo nuestros datos personalescomo vicios, enfermedades, hábitos, tareasrutinarias, etc., pero aún hay algo peor,imagínate que tus objetos IoT empiecen avolverse locos de la nada, todo porque otrapersona logro tener el acceso al control de tusdispositivos y tengas que lidiar con elproblema o dejes usar tu dispositivo.

Por todo esto y el alto costo de los equipos, esque en la actualidad no se sienta con fuerza elInternet de las cosas en la vida diaria de laspersonas, pero es cuestión de tiempo paraque esta revolución este en tu casa y cambienuestras vidas.

Mi nombre es Casto Bernardo Ordoñez

Callisaya, Nacido en La Paz – Bolivia,

Graduado del Colegio Madre Marie

Poussepin de Chulumani, Promotor y

Defensor de los Derechos de los NNA´s

en COMPONNAS desde 2003, Técnico

en Reparación y Mantenimiento de

Computadoras y Redes, actualmente

estudiante de último grado en EISPDM

a nivel Técnico Sup. en la Carrera de

Electrónica en Sistemas de Control

Industrial, ex representante de

Estudiantes Electrónica EISPDM 2016,

Propietario de EPY Electrónica Bolivia,

Co­Fundador de La Comunidad Arduino

La Paz – Bolivia*

1 2Arduino Bolivia

Tenemos un artículo sobre lo que necesitassaber del IoT, sino lo revisaste, terecomendamos que le eches un vistazo en lapag. 9, para que puedas tener en claro lo quees el Internet de las Cosas.

En el tutorial haremos el “Hola Mundo” y tevamos a dar las pautas para que puedasiniciar en el mundo del IoT, para esto nosvamos a apoyar en nuestra querida plataformaArduino y la combinaremos con unaplataforma llamada Blynk.

Blynk es una aplicación en iOS y Android paracontrolar Arduino, Raspberry Pi a través deInternet, donde puedes construir una interfazgráfica para tu proyecto simplementearrastrando y soltando widgets, no está atadaa una Tarjeta de Desarrollo específico. Encambio, es compatible con el hardware de suelección que esté conectado a Internet através de Wi­Fi, Ethernet o chip ESP8266 ylisto para Internet Of Your Things.

*Para el desarrollo de este tutorial esnecesario tener en casa un Router Wifiinstalado o abrir una Red Wifi desde nuestrocelular y tener la pc o portátil conectada a lared local.

Materiales:

• Placa Arduino Nano, Uno, Mega (no hay pro­blema si son originales, clones o CH340G)

• Protoboard• Jumpers ó cables• Diodo Led• Resistencia (220Ω ó 330Ω)• Cable USB (compatible con su Arduino)

Con estos componentes realizar la siguienteconexión electrónica.

Una vez realizada la conexión electrónicavamos a cargar el sketch, para eso esnecesario tener instalado el IDE de Arduino odescárgalo desde aquí.

Descárgate los archivos necesarios parautilizar Blynk desde aquí.

Mis Primeros pasos en IoT

1 3Arduino Bolivia

Extráelos en esta dirección:C:\Users\xxxx\Documents\Arduino

Confirma la combinación de Carpetas (noperderás tus archivos anteriores)

Finalizada la extracción procede a abrir elprograma Arduino, y hacer click en la pestañaArchivos y posteriormente en la opciónEjemplos/Blynk/Boards_USB_Serial/Arduino_Serial_USB

Se nos abrirá un nuevo sketch con el ejemplodel programa de la comunicación que nuestraplaca Arduino realizara con Blynk, paraconectar la aplicación y su hardware, necesitaun Auth Token y esto lo podremos obtener enla App de Blynk para Smartphone, puedesdescargarlo desde aquí para Android y aquípara IPhone.

1 4Arduino Bolivia

Una vez instalada la App de Blynk en nuestrosmartphone procedemos a realizar lassiguientes acciones:

1. Crear una nueva cuenta en la aplicaciónBlynk.

2. Crear un nuevo proyecto. Luego elige laplaca (Arduino) y la conexión que usarás(USB).

3. Después de que se crear el proyecto, leenviarán un Auth Token a su correoelectrónico

4. Revisa tu bandeja de entrada de correoelectrónico y encuentra el token deautenticación.

Una vez obtenido tu token de autenticación,procede a copiarlo en el Sketch que abriste deBlynk en la parte que dice “YourAuthToken”,luego verifica el Código que no tenga ningúnerror y procede a cargarlo a la placa Arduino.

Una vez que ya está cargado el Sketch ennuestra placa Arduino, tenemos que hacer quese inicie una comunicación entre el Arduino yel puerto USB Serie.

1 5Arduino Bolivia

Nos anotamos el número que aparecerá allado de COM (marcado con una flecha en laimagen de arriba), en este caso es el “3” ycerramos Arduino en su totalidad, posterior aeso procedemos a dirigirnos a la siguientedirección en nuestro equipo

C:\Users\xxxxxx\Documents\Arduino\libraries\Blynk\scripts

Ahí encontraremos el siguiente archivo:

blynk­ser.bat

Antes de ejecutarlo vamos a editarlo, para esodebemos hacerle click derecho y click enpestaña editar, se nos abrirá un Bloc de Notasy nos ubicaremos en la línea 6, que tiene elsiguiente texto:

set COMM_PORT=COM#

Donde esta numeral (#) puede aparecercualquier otro número, lo que debemos haceres escribir el número de Puerto COM queaparecía en nuestro programa Arduino, ennuestro caso era el “3” y lo guardamos.

Una vez realizado esta acción podemosejecutar el archivo y nos saldrá una ventanade Símbolo de Sistemas, con las siguientesinstrucciones las cuales nos darán el Ok deque Arduino está conectado a la red de Blynk.

Si hasta aquí te sale un error y no conecta, terecomiendo que repases cada uno de lospasos.

Una vez que logremos conectar nuestroArduino, debemos dejar la ventana delSímbolo de Sistemas abierta y nos iremos a laApp de Blynk en nuestro Móvil.

Entraremos en el proyecto que creamosanteriormente para que nos envíen el códigotoken, es necesario mantenerse ahí porque elcrear nuevamente otro proyecto nos generaraun nuevo token de autenticación y este noserá similar al que tenemos en nuestra placacargado.

Para poder hacer el Hola mundo lo queharemos sera agregar un widget llamado“Button”.

1 6Arduino Bolivia

Botones de Blynk que necesitamos conocer.

Agregar Widget Button.

Una vez agregado el Widget “Button”,apretamos en él y nos saldrán las siguientesopciones, ahí es donde vamos a configurar lossiguientes datos:

1.Nombre de “Button”2.OUTPUT, Salida del botón, en este casoutilizaremos el PIN 13 de nuestra placa queesta armada con el Diodo Led.3.Mode, elegiremos si queremos que trabajecomo Swith o Push prueba ambos y veras ladiferencia.4.Una vez finalizado esas configuracionesapretamos en retroceso (flecha atrás)

Cuando ya tengamos el “Button” configuradoel último paso que realizaremos será apretaren Play, este se conectará con nuestra placaArduino y cuando presione el botón en sucelular cambiará el estado del Diodo Led denuestra placa Arduino.

1 7Arduino Bolivia

Si no te diste cuenta, gracias a Blynkpodemos configurar nuestra placa Arduinodesde nuestro celular sin necesidad de volvera cargar un sketch, y eso lo podrás comprobar

Cerraremos todo en la Pc y en nuetra Appcambiaremos de Widget “Button” por el de“Slider” y lo configuraremos para el Pin10 denuestra placa Arduino, guíate del siguientecircuito para la modificación.

Una vez que hallas realizado ambosprocedimientos, ejecutaras nuevamente elarchivo que se encuentra en:

C:\Users\xxxxxx\Documents\Arduino\libraries\Blynk\scripts

Ahí encontraremos el:

blynk­ser.bat

Una vez conectado la placa a la red, ennuestra App agregaremos un nuevo widget,elegiremos el SLIDER y lo configuraremospara el pin 10, luego pulsaremos el botón Playy deslizando la barra del Slider hará quenuestro Led varíe de intensidad.

Con esto llegamos al final de nuestro largo,pero interesante tutorial con el que podrásdarte inicio en el mundo IoT, si aún tequedaste con las ganas de poder hacer másejemplos te invito a que puedas ingresar a lapágina oficial de Blynk donde existe unaComunidad desarrolladora que andan creandocosas muy locas y entretenidas.

“No te sientas mal si no puedes lograrlo hoy,sigue practicando y te aseguro que mañanaserás mejor que yo”

Mi nombre es Casto Bernardo Ordoñez

Callisaya, Nacido en La Paz – Bolivia,

Graduado del Colegio Madre Marie

Poussepin de Chulumani, Promotor y

Defensor de los Derechos de los NNA´s

en COMPONNAS desde 2003, Técnico

en Reparación y Mantenimiento de

Computadoras y Redes, actualmente

estudiante de último grado en EISPDM

a nivel Técnico Sup. en la Carrera de

Electrónica en Sistemas de Control

Industrial, ex representante de

Estudiantes Electrónica EISPDM 2016,

Propietario de EPY Electrónica Bolivia,

Co­Fundador de La Comunidad Arduino

La Paz – Bolivia*

1 8Arduino Bolivia

En el presente artículo se expone al lector larelación arduino ­ unity que se puede imple­mentar a través de videojuegos donde seutilizan mandos interactivos permitiendo así alusuario vivir una mejor experiencia dejugabilidad.

Podemos conocer la importancia y eldesarrollo de los mandos interactivos con laplataforma de software y hardware libre (OpenSource) arduino para los distintos videojuegosya sea en consolas, gameboys y pc’s.

Arduino puede controlar sensores yactuadores; también puede comunicarse condistintos dispositivos de formas como ser:bluetooth, radio frecuencia, por puerto USBdel computador, etc. Lo que hace a arduinouna herramienta muy útil para utilizarla endiferentes áreas, en nuestro caso, prototiposde mandos para videojuegos.

Desarrollo

Un mando (gamepad, controlador devideojuegos, palanca volante, pistola) es unperiférico de entrada usado para controlar einteractuar con los videojuegos.

En la actualidad existen múltiples versiones ytipos de gamepad tan solo para videojuegos,como ser:

Verbigracia, teclado, ratón, arcade, joystick,volantes, pistolas de luz, paddle, palanca devuelo, pantalla táctil, trackball, controladoresde pinball, dance pad, controladores de juegosrítmicos, Wii remote, NeGcon; haciendo unénfasis en mandos interactivos tenemos elmando del Play Station 4 que vibra cuando

el personaje se interrelaciona con objetos,animaciones y estados predeterminados deljuego.

Los mandos interactivos funcionan comoactuadores y sensores que envían informaciónimportante en el transcurso del juego. Ennuestra implementación el mando recolectadesde datos básicos como del botón pulsadohasta datos complejos como los ángulos enun objeto al momento de realizar realidadvirtual, etc.

Utilizaremos la herramienta Unity 3D paracomunicar al videojuego de cochecitos con unmando interactivo hecho con arduino.

¿Que es Unity?

Unity es un motor de desarrollo parala creación de juegos y contenidos 3Dinteractivos, con las características de quees completamente integrado y ofrece innume­rables funcionalidades para facilitar eldesarrollo de videojuegos.

Elegimos Unity por su multiplataforma,entorno gráfico claro y simple, interacción conotros programas.

Unity puede comunicarse con arduino demanera sencilla por el puerto USB mediantelas siguientes líneas de código básicas:

SerialPortsp=new SerialPort(“COM6”,9600);// creamos un objeto de tipo SerialPort específi­

camente el dispositivo con designación “COM6”.

Mandos Interactivos con Arduino

1 9Arduino Bolivia

Sp.Open();// iniciamos la comunicación.

Sp.ReadTimeout;// establece cada cuanto ira recibiendo comandos,

instrucciones.

Sp.IsOpen();// verifica si se conecto el dispositivo (arduino)

con designación “COM6”.

Sp.ReadByte;// obtiene el mensaje recibido.

Sp.writeLine(“a”);// envía datos al arduino.

Serial.begin(9600);// para inicializar la velocidad de comunicación

Serial.println(“cadena”);// para enviar una cadena con salto de línea

Serial.ReadLine();// para leer la cadena enviada desde la pc.

Para que el arduino pueda comunicarse con eljuego se tiene las siguientes líneas de códigobásicas:

Serial.begin(9600);// para inicializar la comunicación a una velocidad

de 9600 baudios.

Serial.write(1);// para mandar el mensaje, comando, etc.

Serial.flush();// espera hasta que mande toda la información al

programa.

Delay(20);// para que la comunicación tenga su tiempo de

pausa.

Serial.read();// obtiene el mensaje recibido.

Con las líneas vemos la comunicación entre elarduino y el videojuego, existen sensores tanversátiles para elaborar videojuegos como porejemplo: acelerómetro, giroscopio, sensor dedistancia, sensor de color, etc.

Y estos datos viajarían por el cable USB yentregarían los datos al Unity para que losinterprete en sus distintos GameObject.

Resultados

Las líneas de código anteriores han sidoimplementadas en nuestro proyecto; el cualconsta de la electrónica en arduino como semuestra a continuación:

Esquema del circuito

Circuito Armado

20Arduino Bolivia

Electrónica que con el MPU6050 (giroscopio ­acelerómetro) nos permite manipular ladirección del coche, ya que el sensor es capazde medir las fuerzas y nos permite conocer ladirección actual del prototipo y asi el objeto enUnity (coche) tomará la misma dirección.

Juego en ejecución en el computador

Conclusiones

Con arduino se puede hacer mandosinteractivos para videojuegos, pero solo comoprototipos, recordemos que arduino es unaplaca educativa, pues para industrializarlo sedeberá optimizar la electrónica sin usar laplaca arduino como tal, pero si el microcontrolador del mismo (ATMEGA328P).

actualmente estudiante de la Universidad Mayor de

San Andres a nivel licenciatura en la Carrera de

Informática con la mención en Ciencias de la

Computación, ahí participé de diversos grupos de

estudio entre ellos Arduino Open Source y Guild

(Videogame Developers) como estudiante y

mentor, organizador del primer GameJam en la

plataforma de Unity, soy diseñador gráfico,

programador, soy parte de la Comunidad Arduino

La Paz­ Bolivia y junto a mi equipo “Videogame

Developers Walross” integramos el departamento

de Videojuegos en la empresa de tecnologías

Ideas Tech Corp.

Laura Huayta ValdoverNacida en La Paz – Bolivia graduada del Colegio

Don Bosco con honores, me capacité en

educación y pedagogía para infantes (pre­

escolares), niños (escolares) y adolescentes,

actualmente estudiante de inglés en el Centro de

Enseñanza y Traducción de Idiomas, también en la

Universidad Mayor de San Andres a nivel

licenciatura en la Carrera de Informática con la

mención en Ciencias de la Computación, ahí

participé de diversos grupos de estudio entre ellos

Arduino Open Source y Guild (Videogame

Developers), organizador del primer GameJam en

la plataforma de Unity, soy diseñadora de

videojuegos, programadora y como hobby practico

Desarrollo Web; soy parte de la Comunidad

Arduino La Paz­ Bolivia y junto a mi equipo

“Videogame Developers Walross” integramos el

departamento de Videojuegos en la empresa de

tecnologías Ideas Tech Corp.

Elaborado por:

Alvaro Jose Nogales SangallyNacido en La Paz – Bolivia graduado del Colegio

Enrique Lindemann B, capacitado en el Centro

Boliviano Americano en el idioma de ingles,

21Arduino Bolivia

Arduino Day es una celebración mundial decumpleaños de Arduino. Es un evento de 24horas o más, organizado directamente por lascomunidades y por los fundadores de Arduino,donde las personas interesadas en Arduino sereúnen, comparten sus experiencias yaprenden más.

¿Quién puede participar?

Todos los grupos de usuarios, makers,hackers, asociaciones, profesores, profesio­nales y novatos son bienvenidos.

¿Qué puedes hacer durante el día deArduino?

Puede asistir a un evento u organizar unopara su comunidad. No importa si eres unHacedor, un ingeniero, un diseñador, undesarrollador o un educador: Arduino Day estáabierto para cualquiera que quiera celebrarArduino y todas las cosas increíbles que sehan hecho (¡o se pueden hacer!) con laplataforma de código abierto. Los eventosofrecerán diferentes tipos de actividades,adaptadas a las audiencias locales de todo elmundo.

¿Hay Arduino Day en Bolivia?

En Bolivia se viene desarrollando el ArduinoDay desde 2014, con grupos universitariosque agarran a la plataforma Arduino yempiezan a compartir conocimiento, este tipode eventos son populares en La Paz,Cochabamba y Santa Cruz, llegado areplicarse en otros departamentos.

¿Cuándo va a ser el Arduino Day2018?

En Bolivia algunas comunidades siguieron latradición de hacer el evento como se llevaba acabo cada primera semana de abril, peroArduino decidió retrasar la Fecha para el mesde mayo, por lo cual muchas comunidades yaorganizaron sus eventos como de costumbreo vieron una mejor fecha hacerlo en SemanaSanta para poder invitar a los desarrolladoresdel Interior.

Con toda esta información esperamos puedasestar al tanto de lo que es el Arduino Day yfestejes junto a nosotros por todo elconocimiento que vas a adquirir, en losdiferentes eventos organizados cerca de tulocalidad.

“Amamos el Open Source”

Arduino Day

22Arduino Bolivia