• Arduino

    Arduino (Genuino a nivel internacional hasta octubre 2016), es una compañía de hardware libre y una comunidad tecnológica que diseña y manufactura placas computadora de desarrollo de hardware y software, compuesta respectivamente por circuitos impresos que integran un microcontrolador y un entorno de desarrollo (IDE), en donde se programa cada placa.
  • Internet de las cosas (en inglés, Internet of things, abreviado IoT) es un concepto que se refiere a la interconexión digital de objetos cotidianos con internet. Alternativamente, Internet de las cosas es la conexión de Internet con más “cosas u objetos” que personas.
  • Envia alertas por E-mail usando Arduino, Python y un sensor PIR.
  • Crea un BOT de Telegram que interactua con Arduino.
  • Blynk es una plataforma compatible con iOS y Android para controlar Arduino y Raspberry Pi. Es un panel digital donde puedes crear una interfaz gráfica para tu proyecto simplemente arrastrando y soltando widgets.

domingo, 9 de abril de 2017

Arduino + Blynk [Presentación y 1er Prueba]


Que tal Colegas!!!
Hoy les vengo a presentar otra maravillosa herramienta con la que podemos hacer proyectos no solo para Arduino, si no también para Raspberry Pi desde cualquier móvil con sistema operativo Android o iOS. Se trata de:
Blynk.

"Blynk es una plataforma para iOS y Android con la cual podrás controlar Arduino y Raspberry Pi a través de Internet.
Es un panel de control digital donde puedes crear una interfaz gráfica para tu proyecto simplemente arrastrando y soltando widgets.
Es realmente fácil de configurar todo y empezarás a jugar en menos de 5 minutos.
Blynk no está ligado a algúna placa o shield específico. En su lugar, es compatible con el hardware de su elección. Ya sea que su Arduino o Raspberry Pi esté conectado a Internet a través de Wi-Fi, Ethernet o este nuevo chip ESP8266, Blynk lo pondrá en línea y estará listo para la Internet de sus Cosas."
En esta ocasión trabajare con un Ethernet Shield para hacer una pequeña prueba del funcionamiento de esta herramienta, pero si entran a su pagina oficial se darán cuenta que tiene muchísimas opciones para conectar nuestro Arduino. Cabe señalar que usare un dispositivo Android pero para iOS es exactamente igual.

Primero nos descargamos la app de Blynk desde la Play Store(todos los enlaces utilizados en este post se los dejare al final del mismo) la instalamos y nos aparecerá la pantalla de login(1er imagen).
Tendremos que crear una nueva cuenta de Blynk o bien ingresar con Facebook. Después de loguearnos ya estaremos en la pantalla principal(2da imagen).
Al dar clic a "Create New Project" nos preguntara nombre del proyecto, con que tipo de placa trabajaremos y el tipo de conexión. En este caso lo llamare "Prueba 1", utilizare Arduino UNO con una conexión Ethernet por medio de el Shield(3era imagen). Al dar clic al botón "Create" nos enviara un "Token" a nuestro correo el cual usaremos posteriormente.


Ahora daremos clic a el "+" que esta arriba a la derecha y se desplegara una lista de widgets que podemos elegir, también verán una "batería" y el total de "energía" que tenemos, esta se nos ira descontando según el valor de cada widget que agreguemos. También tenemos la opcion de comprar mas "energía" pinchando el botón "+ Add".

Si despliegan la lista hacia abajo veran que hay muchos widgets muy interesantes, en este caso solo usaremos un botón, basta con darle clic al widget y se agregara a la pantalla de la aplicación.
Al dar clic al botón que acabamos de agregar se nos mostraran las opciones de configuración como: Nombre, color, cuales pines de Arduino utilizaremos, si queremos que sea tipo botón o switch y el texto que se mostrara cuando este activado o desactivado. En mi caso lo configurare de la siguiente manera:

Bien, ya tenemos configurado la parte de Blynk ahora iremos con Arduino.
Vamos a entrar a la pagina de ejemplos de Blynk y solo tendremos que configurar los parámetros de el lado izquierdo como se muestra a continuación:

En la parte de Auth Token tenemos que pegar el Token que nos llego a nuestro correo. Luego de esto le damos a "Copy Example" y pegamos el código en un nuevo Sketch de Arduino.

Conectamos el cable de red a el Shield Ethernet y cargamos el código, cuando termine de cargar abrimos el monitor serial, si todo va bien veremos esto:


Ya solo nos resta darle a el botón "Play" en nuestra aplicación de Blynk para que se comunique con Arduino. Aquí un vídeo del resultado...

Hasta aquí este post, y atentos a los próximos. Cualquier duda con gusto sera resuelta.

Pd:El led lo conecte a el Pin 9!!

Links:
Pagina principal de Blynk

Ejemplos

App para Android

App para iOS

-RIOJAS

jueves, 6 de abril de 2017

Visualino [Presentación y Practica]



Hola de nuevo Arduineros!!!
En este post les vengo a presentar una herramienta muy buena que me encontré por la WEB.
Se llama: Visualino.

Visualino es un entorno de programación visual para Arduino
Es Software libre, con código nativo y de muy fácil uso.

Para obtenerlo visiten este link.

Esta disponible para : Mac, Windows, Ubuntu y hasta para Raspberry Pi
Solo tienen que descargar el que se acomode a su Sistema Operativo, descomprimir el .ZIP y ejecutar "Visualino.exe".(deben de tener el IDE de Arduino Instalado).

Al ejecutarlo les aparecerá la ventana principal:

Si han trabajado con Scratch4Arduino, Snap4Arduino o App Inventor verán que tiene una gran similitud con entornos gráficos.

Solo tienen que dar clic a el botón de "Preferencias" y asegurarse que la ruta del ejecutable de Arduino sea la correcta(si dejaron la ruta por default al instalar Arduino no muevan nada).

Aquí mismo puede cambiar el idioma. Están disponibles los siguientes:
Ingles (Reino Unido)
Catalán (España)
Italiano (Italia)
Polaco (Polonia)
Portugués (Brasil)
Portugués (Portugal)
Ruso (Rusia)

Bien, ahora les muestro las secciones de la aplicación para después hacer un pequeño ejemplo.

Ahora si, a lo interesante!!!
Vamos a hacer una practica sencilla en la que leeremos la distancia a través de un sensor Ultrasonico.

Materiales necesarios:
1 Arduino UNO.
1 Sensor Ultrasonico HC-SR04.
1 Protoboard.
Cables para conexión.

Aquí la conexión que es muy fácil.

Con unos cuantos bloques lograremos leer la distancia por medio de el sensor ultrasonico, aquí se los muestro:

Como pueden observar en la sección de código fuente se ha generado automáticamente el código, esto se actualiza cada que coloquemos un nuevo bloque en el área de programación, este código lo pueden copiar y pegar en el IDE de Arduino y funcionara sin problemas.
Solo resta darle clic a el botón "Subir" y si no hay ningún error se cargara el código al Arduino.
Ahora damos clic al botón de el Monitor Serial para ver las mediciones.


Les dejo este enlace en el cual encontraran infinidad de ejemplos hechos con Visualino, excelente para empezar con este entorno de programación.
Ejemplos Visualino.

Hasta aquí este pequeño aporte, espero les guste.
Saludos Arduineros!!!

-RIOJAS

martes, 4 de abril de 2017

Arduino + Python + Telegram BOT

Que tal Arduineros!!!
Ahora les traigo este aporte en el que aprenderemos a hacer un "bot" de Telegram que interactue con Arduino. Espero les guste y manos a la obra!!

Materiales necesarios:
1 Arduino UNO.
1 Sensor de Temperatura y Humedad DHT11.
2 Leds cualquier color.
1 Protoboard.
Cables para conexión.

Les dejo la conexión de los componentes en la siguiente imagen:

Lo primero que tenemos que hacer es descargar Telegram. En este link están todas las versiones, para móviles y Desktop.
Descarga Telegram.
En mi caso usare la aplicación para Windows.

Una vez instalada y que ya se registraron tienen que iniciar una conversación con @BotFather(es como el jefe de todos los Bots) para hacerlo solo tienen que seguir este link BotFather o bien buscarlo dentro de sus contactos en Telegram.
Cuando se abra la ventana de conversación tienen que escribir el comando /start y así iniciara la conversación con @BotFather. Enseguida les mostrara una lista de comandos.

Ahora enviaremos el comando /newbot para empezar a crear el Bot. Después de introducir este comando nos preguntara el nombre y el nickname que aparecerá en los chats, en caso de que ya exista un Bot llamado igual lo dirá y tendremos que elegir otro.
Si todo ha ido bien ya hemos creado nuestro Bot satisfactoriamente.
En el mensaje de respuesta nos dara el "TOKEN" para accesar a nuestro Bot desde la API, hay que guardarlo para su posterior uso.

Bien, dejemos a un lado Telegram para ir a programar Arduino.
El código es muy sencillo, de todas formas se los dejo explicado linea por linea.



Después de haber cargado el programa a Arduino nos iremos a programar en Python, yo he usado Python 2.7 y corre sin ningún problema.
Aquí los links para descargar las herramientas:
Python : https://www.python.org/downloads/
Libreria Telepot: https://github.com/nickoala/telepot

Nota: Al ejecutar el código de Python háganlo desde la terminal, así no les marcara ningún error relacionado con el puerto COM de Arduino.
Nota 2: Antes de ejecutar el código de Python asegúrense de tener cerrado el monitor serial en Arduino.
Aclarados estos puntos les dejo el código en Python.


Abran una terminal en Windows y ejecuten el script que acabamos de hacer con esta instruccion:
python "nombreFichero".py
Si no les ha marcado ningún error verán algo como esto:

Este sera nuestro "monitor" en el cual se mostraran los mensajes que mande el usuario a nuestro Bot.

Para iniciar la conversación tenemos que enviar el comando /start, y nos contestara de esta manera mostrando los comandos a los que puede reaccionar. Así se vera en Telegram y en la terminal:
Aquí un vídeo del resultado:


Cabe señalar que esto es solo el comienzo ya que con este método podrán controlar infinidad de dispositivos en Arduino, como relevadores para prender o apagar dispositivos de 120 v o lo que se les venga a la mente.

Hasta aquí este post, espero les guste y les sea de utilidad.
Cualquier duda que tengan comenten y enseguida la resuelvo!!!

-RIOJAS

viernes, 31 de marzo de 2017

Libros de Arduino [Parte 1]

Muy buenas gente!! en esta ocasión les traigo un muy buen aporte!!!
Se trata de una gran colección de libros de Arduino en formato PDF.
Les comento que los enlaces están "acortados" solo con la intención de que pueda ganar algo para mantener este Blog. La información completa de cada libro la dejare debajo de su imagen de portada.
Decidí dividirlos en varias partes para no hacer los post tan extensos, así que vamos con la primera!!!

PD: Los libros no son de mi autoria y he puesto el nombre de su autor en la información. Todo este material ha sido recopilado de Internet.



Nombre:30 Proyectos con Arduino
Autor: Simon Monk
Idioma: Español
Formato: PDF
Paginas: 208
Tamaño: 101.9 Mb

Nombre:20 Unbelievable Arduino Projects
Autor: Varios
Idioma: Ingles
Formato: PDF
Paginas: 430
Tamaño: 28.6 Mb

Nombre: Arduino + Pure Data.
Autor: José Manuel Ruiz Gutiérrez 
Idioma: Español
Formato: PDF
Paginas: 39
Tamaño: 1.7 Mb

Nombre: Arduino + Ardublock
Autor: José Manuel Ruiz Gutiérrez 
Idioma: Español
Formato: PDF
Paginas: 35
Tamaño: 1.5 Mb

Nombre: Arduino + Ethernet Shield
Autor: José Manuel Ruiz Gutiérrez 
Idioma: Español
Formato: PDF
Paginas: 42
Tamaño: 670 Kb

Nombre: Labview + Arduino
Autor: José Manuel Ruiz Gutiérrez 
Idioma: Español
Formato: PDF
Paginas: 114
Tamaño: 3.9 Mb

Nombre: Arduino + MyOpenlab
Autor: José Manuel Ruiz Gutiérrez 
Idioma: Español
Formato: PDF
Paginas: 43
Tamaño: 4.9 Mb

Nombre: Arduino + Scratch(S4A)
Autor: José Manuel Ruiz Gutiérrez 
Idioma: Español
Formato: PDF
Paginas: 48
Tamaño: 2.1 Mb

Nombre: Arduino + XBee
Autor: José Manuel Ruiz Gutiérrez 
Idioma: Español
Formato: PDF
Paginas: 48
Tamaño: 1.3 Mb

Nombre: Arduino A Quick Start Guide
Autor: Maik Shmidt
Idioma: Ingles
Formato: PDF
Paginas: 284
Tamaño: 12 Mb

Nombre: Arduino Adventures
Autor: James Floyd Kelly & Harold Timmis
Idioma: Ingles
Formato: PDF
Paginas: 313
Tamaño: 16.1 Mb

Nombre: Arduino and Kinect Projects
Autor: Enrique Ramos Melgar & Ciriaco Castro Diez
Idioma: Ingles
Formato: PDF
Paginas: 411
Tamaño: 79.2 Mb

Nombre: Arduino and LEGO Projects
Autor: Jon Lazar
Idioma: Ingles
Formato: PDF
Paginas: 202
Tamaño: 14.1 Mb

Nombre: Arduino Android Blueprints
Autor: Marco Schwartz & Stefan Buttigieg
Idioma: Ingles
Formato: PDF
Paginas: 250
Tamaño: 5 Mb

Nombre: Arduino + Android Projects for the Evil Genius
Autor: Simon Monk
Idioma: Ingles
Formato: PDF
Paginas: 239
Tamaño: 12.7 Mb

Nombre: Make: Arduino Bots and Gadgets
Autor: Make
Idioma: Ingles
Formato: PDF
Paginas: 297
Tamaño: 33.1 Mb

Nombre: Arduino Curso practico de formacion
Autor: Oscar Torrente Artero
Idioma: Español
Formato: PDF
Paginas: 582
Tamaño: 7.4 Mb

Nombre: Arduino Cookbook
Autor: Michael Margolis
Idioma: Ingles
Formato: PDF
Paginas: 658
Tamaño: 12.3 Mb
Continuará...

No sabes como descargar?

jueves, 30 de marzo de 2017

Arduino + Snap4Arduino "Juego PONG" [Final]


Que tal Arduineros!!!
Aquí les traigo la ultima parte de este taller!!!
Manos a la obra.

En esta ocasión vamos a agregar sonido al juego, así como un texto que nos diga "Game Over" al perder.

Primero agregaremos un sonido a el objeto "barra1", el que yo utilice lo pueden descargar de aquí.
Para agregar sonidos solo tenemos que ir a la pestaña "Sonidos" de el objeto, en este caso "pelota" y arrastrar el archivo(solo acepta WAV).

Ahora agregaremos un bloque llamado "tocar sonido" a los que ya teníamos. Para quedar así:

Esto hará que el sonido se reproduzca cada vez que la pelota toque la barra.

Bien, ahora haremos que nos muestre el texto "Game Over" cada vez que perdamos, y también reproducirá un sonido de "Game Over", el cual pueden descargar de aquí.
Para hacer esto tendremos que dibujar un nuevo objeto, de la misma forma que hemos hecho los anteriores, esta vez solo sera un pequeño punto de el mismo color que el fondo de la pantalla(negro) para que no se vea mientras el juego esta en curso y solo se muestre el texto cuando perdamos. También agregamos dos bloques mas en el objeto "pelota" para quedar así:

Lo que hará es enviar un "mensaje" a otro objeto de el juego, en este caso sera a el nuevo objeto que acabamos de agregar y al recibirlo ejecutara las ordenes que le daremos a continuación:

Con estos bloques le ordenamos que al presionar "banderita" borre el texto anterior, se mueva a las coordenadas señaladas y fije el color en el que se mostrara el texto, y al recibir el mensaje "gameover" que le mandamos desde el otro objeto escribirá "Game Over!" en la pantalla y seguido reproducirá el sonido.

Con este post llegamos a el final de este taller, obviamente a esto se le pueden agregar muchas cosas mas como puntuación o niveles, se los dejo a su imaginación.

Hasta la próxima Arduineros!!!

Aquí los posts anteriores de este Taller:
Presentación.
http://arduinocentermx.blogspot.mx/2017/03/snap4arduino-presentacion.html
"Hola Mundo".
http://arduinocentermx.blogspot.mx/2017/03/arduino-snap4arduino-hola-mundo.html
Parte 1.
http://arduinocentermx.blogspot.mx/2017/03/arduino-snap4arduino-pong-parte1.html
Parte 2.
http://arduinocentermx.blogspot.mx/2017/03/arduino-snap4arduino-juego-pong-parte2.html

-RIOJAS

miércoles, 29 de marzo de 2017

Arduino + Snap4Arduino "Juego PONG" [Parte2]


Que tal queridos Arduineros!!
Aquí la segunda parte de este taller.
Manos a la obra...

Lo primero que haremos sera crear un objeto de la misma forma que creamos la "barra" pero esta vez sera la "pelota". El tamaño es a criterio de cada quien.
Después de haberla creado empezaremos a programarla dando clic en ella y seleccionando los bloques que les muestro a continuación...
Con esto haremos que "al presionar banderita" la pelota se posicione en las coordenadas 0,100 y después se desplace en una dirección al azar entre 120 y 240, esto para evitar que cuando se reinicie el juego la pelota salga siempre en la misma dirección.
Después en el "por siempre"(Ciclo infinito) le indicamos que rebote si esta tocando alguno de los 4 bordes y se desplace 3 pasos, si quieren incrementar o disminuir la velocidad cambien el numero de "pasos".
Seguido de esto viene un ciclo condicional "SI" que se encarga de checar si la pelota esta tocando algún objeto que tengamos dentro de nuestra pantalla de la aplicación, en este caso "barra1", de ser así la pelota se desplazara hacia arriba y hacia un lado al azar.

Si todo ha salido bien nuestro Juego se vera como en el siguiente vídeo:

Si se pudieron dar cuenta al momento de tocar el borde inferior la "pelota" también rebota, pero se supone que deberíamos de perder!!!.
Bien, esto lo solucionamos creando otro "objeto" que sea una linea recta que se extienda desde la esquina inferior izquierda hasta la esquina inferior derecha y esté justo debajo de la "barra1".
Les quedara así:

Ahora agregaremos dos bloques mas después del primer bloque "SI", aqui les muestro cuales:

Estos van a ser los encargados de detener("stop todos") todo lo que se este ejecutando en el juego, y así terminara.
La estructura completa tiene que quedar así:

Si no han tenido ningún error el el resultado sera este...

Excelente!!! Hasta aquí la segunda parte de este Taller. Cualquier duda que tengan dejen un comentario y con mucho gusto la resolvemos!!
Nos vemos en el próximo post.
Saludos Arduineros!!!

Aquí los posts anteriores de este Taller:

Presentación.
http://arduinocentermx.blogspot.mx/2017/03/snap4arduino-presentacion.html

"Hola Mundo".
http://arduinocentermx.blogspot.mx/2017/03/arduino-snap4arduino-hola-mundo.html

Parte 1.
http://arduinocentermx.blogspot.mx/2017/03/arduino-snap4arduino-pong-parte1.html

-RIOJAS

martes, 28 de marzo de 2017

Arduino + Snap4Arduino 'Juego PONG' [Parte1]


Que tal de nuevo Arduineros!!

Con este post doy comienzo a un pequeño taller de Snap4Arduino en el cual haremos una replica de el conocido vídeo juego "Pong" pero a nuestro propio estilo.
Ok, dejemonos de tanto "bla, bla, bla" y (como decimos en México) a lo que te truje chencha :P

Materiales:
1 Arduino UNO con cable USB.
1 Potenciometro 100 K (puede ser de otro valor).

Estando en la pantalla principal primero tendremos que borrar el objetoque esta dentro del área de nuestra aplicación, dando clic derecho en el y seleccionando "borrar".
Ahora le cambiaremos el fondo a el escenario, yo lo pondré negro pero es al gusto de cada quien.

Vamos a dibujar un nuevo "objeto" y lo llamaremos "barra1" que sera la correspondiente al primer jugador.

Ahora vamos a centrarnos en las dimensiones de la pantalla del juego.
Por defecto Snap4Arduino nos da el tamaño 480 X 360, que traducido en coordenadas seria 480 en el "eje X" y 360 en el "eje Y".
Les dejo la imagen de abajo para que tengan una mejor noción de lo que le acabo de explicar.

Bien, entendido esto, pasemos a la parte de la conexion de el potenciometro con Arduino. Y como dicen: "Una imagen dice mas que mil palabras".

Si ven en la imagen, utilizaremos un puerto análogo de Arduino (A0) esto quiere decir que las lecturas que obtendremos del potenciometro serán entre 0 y 1023.
Para traducir esto al movimiento de la barra en el juego tendremos que hacer unas operaciones matemáticas.En mi caso, por el tamaño de la barra que yo dibuje, quedaría así:
(Valor de lectura análoga/2.7)-90. El resultado de esta operación va de -190 a 190(en realidad son 188 pero lo pongo así para mejor explicación) la barra recorrerá estos valores por el "eje X" teniendo en cuenta que mide 80 pixeles de largo aproximadamente, esta recorrerá toda la pantalla dejando uno o dos pixeles antes de tocar los bordes.

Ahora haremos esta operacion en los bloques de Snap4Arduino y quedara de esta manera:

TIP: Para ubicar en que sección esta cada bloque utilizado hay que checar el color que tiene y ubicarlo en el área de "bloques".


Con esto haremos que "al presionar banderita" empiece un bucle infinito ("por siempre") y fijara el "eje X" de la barra al valor que obtenga de la operación antes mencionada.

Si todo va bien su proyecto se vera como en el siguiente vídeo:


Hasta aquí la primer parte del taller, espero que les agrade y haberme explicado bien.Cualquier duda que tengan comenten y con gusto la resolvemos
Nos vemos en el próximo post.
Saludos Arduineros y...

Felices Códigos!!!

-RIOJAS