Tipos de motores rotativos para proyectos de Arduino

arduino-tipos-de-motores

Luis LLamas publicó en su blog un interesante artículo sobre tipos de motores rotativos para proyectos de Arduino, donde describe los siguientes:

  • Motores de corriente continua
  • Motores geared down motor
  • Motores brushless
  • Servo motores
  • Servo motores de rotación continua
  • Motores paso a paso
  • Motores paso a paso 28BYJ-48

En su artículo proporciona una tabla resumen donde hace una comparación de características y forma de control de tales motores.

No dejes de leer su artículo en:

https://www.luisllamas.es/tipos-motores-rotativos-proyectos-arduino/

 

Comunicación inalámbrica de dos Arduino con módulos Zigbee XBee S2C

En este artículo vemos cómo establecer una comunicación inalámbrica entre dos tarjetas Arduino usando módulos Zigbee XBee S2C que se conectan mediante módulos XBee Explorer Regulated de SparkFun a Arduino.

Configuración de módulos XBee S2C

En la página Conexión punto a punto de módulos Zigbee XBee S2C se puede ver cómo hacer la configuración inicial de los módulos XBee S2C a usar en este artículo.

Material y equipo usado

  • 1 Arduino UNO
  • 1 Arduino Mega
  • 2 módulo XBee S2C de Digi-Key
  • 2 módulo XBee Explorer Regulated de SparkFun
  • computadora con con software Arduino IDE 1.6 o superior

Referencias

Artículo en desarrollo…

Baterías

En esta entrada hacemos una recopilación de sitios web que tratan sobre baterías, un elemento vital para cualquier robot móvil.

  • En el sitio web automodelismo.com tienen una excelente página sobre Baterías, donde dan recomendaciones sobre su uso, cómo preparar paquetes de baterías, detectar fin de la carga, efecto de memoria y más.

 

Conexión punto a punto de módulos Zigbee XBee S2C

En este artículo se muestra cómo establecer una sencilla conexión inalámbrica punto a punto entre dos módulos XBee S2C de Digi-Key, usando XBee Explorer USB de SparkFun para conectarlos a una computadora. Esto con la finalidad de que puedan ser usados para comunicación inalámbrica entre dos dispositivos o robots basados en Arduino o Raspberry Pi.

Material y equipo usado

  • 2 módulo XBee S2C de Digi-Key
  • 2 módulo XBee Explorer USB de SparkFun
  • 2 cable USB a micro USB
  • 1 computadora con Windows 10 y el software XCTU

Zigbee

Zigbee es un estándar de comunicación inalámbrica que soporta tres modos de seguridad: residencial, estándar y alta seguridad. Los módulos Xbee están basados en Zigbee y soportan principalmente seguridad estandar, aunque otros dispositivos que soportan seguridad residencial pueden unirse e interoperar con dispositivos de seguridad estándar.

Para más información sobre seguridad Zigbee consulte el documento XBee®/XBee-PRO S2C Zigbee® RF Module User Guide.

Módulo XBee S2C de Digi-Key

Los módulos XBee S2C son módulos de radiofrecuencia (RF) que proporcionan comunicación rápida y robusta en configuraciones multipunto y punto a punto. Los módulos usados en este artículo son módulos RF XBee S2C 802.15.4 de Digi-Key que tienen las siguientes ventajas:

  • Comunicaciones RF simple y lista que no requiere configuración.
  • Topología de red punto a multipunto.
  • 2.4 GHz para uso a nivel mundial.
  • Espacio en placa XBee común para una variedad de módulos de RF.
  • Corriente en resposo inferior a 1 µA.

Para más información sobre estos módulos puede consultar la página del fabricante: Módulos RF Digi XBee® S2C 802.15.4.

Módulo XBee Explorer USB de SparkFun

Los módulos XBee S2C deben ser configurados antes de usarlos. Una forma fácil y rápida de hacerlo es usando otros módulos que permitan conectarlos a una computadora. Para este artículo se usaron módulos XBee Explorer USB de SparkFun, los cuales tienen un conector micro-usb para conectarse a una computadora.

En el sitio web de Sparkfun se pueden ver más detalles de cómo usar los módulos USB Explorer, Explorer Dongle y Serial Explorer en el tutorial Exploring XBee and XCTU.

En la imagen siguiente se muestra como debe conectarse el XBee S2C sobre el XBee Explorer USB.

Para conectar de forma inalámbrica ambos XBee S2C es necesario configurar uno como Coordinador (Coordinator) y el otro como Dispositivo final (End device). Esto se hace usando el software XCTU.

Software XCTU

El software XCTU está disponible para Windows, MacOS y Linux en el sitio web de Digi. Descargue XCTU e instálelo en su computadora. En este artículo se usó la versión 6.3.11 para Windows, disponible en enero de 2018.

Al iniciar el programa XCTU en una computadora con Windows, verá una ventana como se muestra en la imagen siguiente:

Conecte ambos XBee S2C a la misma computadora y oprima el botón de la lupa en el software XCTU para descubrir dispositivos. Después de un momento de buscar los dispositivos conectados a los puertos USB, se mostrará un cuadro de diálogo con los dispositivos encontrados:

Oprima el botón Next, con lo cual, se mostrará el cuadro de diálogo para establecer los parámetros de configuración de los puertos Serial/USB:

Asegúrese de dejar los valores como en la imagen anterior:

Baud Rate: 9600
Data Bits: 8
Parity: None
Stop Bits: 1
Flow Control: None

Oprima el botón Finish. Esto iniciará la búsqueda de dispositivos XBee en los puertos seleccionados.

Al terminar la búsqueda, se deberá mostrar el mensaje 2 device(s) found (2 dispositivos encontrados).

Seleccione ambos dispositivos y oprima el botón Add selected devices. Con esto, en la ventana principal de XCTU se mostrarán ambos módulos XBee S2C en el panel izquierdo Radio Modules.

Del panel Radio Modules, seleccione el primer Zigbee y oprima el botón configuración (engrane) que está arriba del panel derecho. Esto mostrará las opciones de configuración del Zigbee seleccionado, como se muestra a continuación:

Para ambos Zigbee establezca las propiedades como se muestra a continuación:

Propiedad Zigbee 1 Zigbee 2
ID PAN ID 2018 2018
DH Destination Address High 0 0
DL Destination Address Low 0 0
CE Coordinator Enable Enabled [1] Disabled [0]

ID PAN ID es un valor hexadecimal entre 0 y FFFFFFFF (o mayor). Este es el identificador de red propia, mediante el cual se van a conectar entre si los XBee.

CE Coordinator Enable (coordinador activado) indica qué XBee es el que coordina la comunicación. Uno debe estar activado (Enabled) y el otro desactivado (Disabled).

Una vez configurados los parámetros de ambos XBee se debe oprimir el botón , para cambiar al modo Consola, con lo que se abrirá en el panel derecho una Consola de comandos como se muestra en la siguiente imagen:

Teniendo seleccionado el primer Zigbee, en el panel derecho se oprime el botón Open , el cual abre o inicia la conexión inalámbrica del Zigbee seleccionado del lado izquierdo. Se debe hacer lo mismo con el segundo Zigbee, de modo que para ambos dispositivos el botón Open cambie a botón Close , que sirve para cerrar la comunicación inalámbrica. Para ambos dispositivos, el panel derecho debe verse como en la siguiente figura.

Después de oprimir el botón Open, el cuadro de texto Console log del panel derecho queda habilitado para escribir algo.

Regrese al primer Xbee y escriba en Console log el texto Hola XBee 2 como se muestra en la siguiente figura:

En el cuadro de texto de la derecha se muestra el valor hexadecimal de cada uno de los caracteres que se escriben.

Seleccione el segundo XBee y observe que en Console log se muestra también el texto Hola XBee 2, pero en color rojo. Esto significa que el segundo XBee recibió ese mensaje.

Abajo del mensaje Hola XBee 2, escriba el texto Hola XBee 1, como respuesta del segundo XBee al primero. Observe que el texto Hola XBee 1 se muestra en azul.

En el software XCTU, los mensajes enviados están en azul y los recibidos en rojo.

Finalmente, desde el XBee 1 como despedida, desde el XBee 1 se puede escribir Adios! y en el XBee 2 Chao! quedando como en la siguiente imagen, al estar seleccionado el XBee 1.

Conclusiones

En este artículo se mostró cómo configurar dos módulos XBee S2C para que se comuniquen entre si, estableciendo una sencilla conexión inalámbrica punto a punto y probando tal comunicación enviando mensajes de texto entre ambos.

Una finalidad para llevar a cabo esta configuración es que los módulos queden listos para ser usados en dispositivos o robots basados en Arduino o Raspberry Pi, y se comuniquen entre si de forma inalámbrica.

Referencias

Controlar motor CD con Python en Raspberry Pi y módulo Puente H

En este artículo vemos cómo se puede controlar un motor de corriente directa (CD) con el lenguaje de programación Python en una Raspberry Pi (1 a 3) a través de un módulo Puente H.

Material

1 Raspberry Pi 1, 2 ó 3.
1 Módulo Puente H Dual L293D.
1 Motor CD.
1 Fuente de energía de 6V para el módulo Puente H.
1 Fuente de energía para la Raspberry Pi.
Cables de conexión.

Raspberry Pi 3B

Para este artículo se usó la tarjeta Raspberry Pi 3 modelo B, aunque se puede usar también lo modelos 1 ó 2.

Módulo Puente H dual L293D

El módulo Puente H dual usado tiene el circuito integrado L293D y permite controlar dos motores en ambas direcciones.

Conexiones

En la siguiente figura se muestran las conexiones hechas usando solamente una fuente de poder, que alimenta primero el módulo Puente H y éste a su vez proporciona 5V a la tarjeta Raspberry Pi.

Programa

El programa está escrito en Python.


# Programa: motor.py
# Autor: Julio Sandria - Diciembre 2017
# Mueve un motor CD a traves de un modulo puente H

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BOARD)

GPIO.setup(8, GPIO.OUT)
GPIO.setup(10, GPIO.OUT)

for i in range(5):
   # Gira el motor en un sentido durante 3 segundos
   print "Girando motor en un sentido"
   GPIO.output(8, GPIO.HIGH)
   GPIO.output(10, GPIO.LOW)
   time.sleep(3)

  # Gira el motor en el otro sentido durante 3 segundos
   print "Girando motor en sentido contrario"
   GPIO.output(8, GPIO.LOW)
   GPIO.output(10, GPIO.HIGH)
   time.sleep(3)

GPIO.cleanup()

Conectar dos Lego Mindstorms EV3 en modo Daisy-Chain

En este artículo se explica cómo conectar dos bloques inteligentes Lego Mindstorms EV3 en cadena (Modo Daisy-Chain), lo cual permite desde un bloque EV3 monitorear sensores y controlar motores de otros tres bloques EV3. Con un sencillo programa se muestra cómo desde el primer bloque EV3 se mide proximidad con un sensor infrarrojo conectado al segundo bloque EV3, y al presionar un sensor de contacto conectado al primer bloque, se acciona un motor mediano conectado al segundo bloque. Todo esto con un único programa cargado en el primer bloque EV3.

Introducción

El software Lego Mindstorms EV3 (Home o Education) permite hacer programas que manipulen hasta cuatro bloques EV3 conectados en cadena, activando el Modo Daisy-Chain que está en Propiedades del Proyecto.

Conexión en cadena. En este modo de conexión cada dispositivo se conecta al anterior y al posterior geográficamente, formando una cadena. A este modo de organización se le conoce también como daisy-chain (cadena margarita) [1].

Con esto es posible hacer un sistema robótico con cuatro Lego Mindstorms EV3 usando hasta 16 sensores y 16 motores.

Material

2 Bloques inteligentes Lego Mindstorms EV3.
2 Cables USB para EV3.
1 Sensor de contacto EV3.
1 Sensor infrarrojo EV3.
1 Motor mediano EV3.
1 Computadora con software Lego Mindstorms EV3 instalado.

Conexiones

Para usar el programa que se muestra posteriormente, se colocaron los dos bloques EV3, sensores y motor como se ilustra en la fotografía siguiente:

Bloque 1 (EV3 de la izquierda)

  • Puerto mini USB (lado superior) a PC.
  • Puerto USB (lado izquierdo) al mini USB del Bloque 2.
  • Puerto de entrada 1 al sensor de contacto.

Bloque 2 (EV3 de la derecha)

  • Puerto mini USB (lado superior) al USB del Bloque 1.
  • Puerto de entrada 4 al sensor infrarrojo.
  • Puerto de salida A al motor mediano.

Programa

Asegúrate de tener encendidos ambos bloques EV3, el Bloque 1 (izquierdo) conectado a la computadora, los sensores y motor conectados a los bloques EV3 como se indica en el punto Conexiones.

Inicia el software Lego Mindstorms EV3 (Home o Education). Crea un nuevo proyecto, el cual puedes llamar Conectar 2 EV3. Abre la pestaña Propiedades el proyecto y haz clic en la casilla de verificación Modo Daisy-Chain.

Regresa a la pestaña Program, y agrega los bloques de programación como se muestra en la imagen siguiente.

Observa que en la esquina inferior derecha, al hacer clic en el icono Vista del Puerto , se puede seleccionar de qué Bloque EV3 se desean ver los puertos. En la imagen siguiente está seleccionada la pestaña Capa del bloque 2, mostrando lo que tiene conectado el Bloque 2, un motor mediano en el Puerto A y un sensor infrarrojo en el Puerto 4.

El siguiente pseudocódigo explica lo que hace el programa:

Repetir siempre (Bucle):

Si el sensor de contacto (Bloque 1, Puerto 1) es presionado:

Muestra en la pantalla la imagen Touch sensor.
Reproduce el sonido Activate.
Gira el motor mediano (Bloque 2, Puerto A) una rotación.

Si no

Lee proximidad del sensor infrarrojo (Bloque 2, Puerto 4).
Muestra en la pantalla el valor de proximidad.
Hace una pausa de 0.2 segundos.

Fin Si

Fin Repetir

El programa se ejecuta en el Bloque 1, por lo tanto, todos los bloque de programación se ejecutan en el Bloque 1, y solamente los bloques de programación en los que se puede especificar una tarea sobre un Bloque EV3 en particular, tienen un campo llamado Número de capa, el cual se refiere al número de Bloque EV3 conectado en cadena.

A continuación se describe cómo están configurados los bloques de programación que permiten especificar un Bloque EV3 en particular.

Interruptor. En este bloque se tienen que configurar las opciones como se muestra en la imagen siguiente.

Motor mediano. En este bloque se tienen que configurar las opciones como se muestra en la imagen siguiente.

Sensor infrarrojo. En este bloque se tienen que configurar las opciones como se muestra en la imagen siguiente.

Ejecutar programa

Primero, enciende ambos bloques EV3. Conecta el Bloque 1 (EV3 de la izquierda) a la computadora y descarga el programa al EV3.

Una vez terminada la descarga del programa en el Bloque 1, ejecuta el programa. Acerca algo al sensor infrarrojo y observa cómo cambia el número en la pantalla del Bloque 1. Oprime el sensor de contacto y observa la imagen de la pantalla del Bloque 1, escucha el sonido que reproduce y observa que el motor mediano gira una rotación.

En el Bloque 2 (EV3 de la derecha) no es necesario cargar algo en particular, solamente debe estar encendido para que el Bloque 1 opere el sensor y motor conectados en él.

Dónde comprar

Si deseas adquirir un paquete completo Lego Mindstorms EV3 o solamente el bloque inteligente EV3, o algún sensor o motor, puedes buscar con nuestro patrocinador RobotSA.

Referencias

[1] Sanchís, Enrique (2002). Sistemas electrónicos digitales: Fundamentos y diseño de aplicaciones. Universitat de València. Pag. 33

Crea tu primera aplicación Android con App Inventor

El interés por crear esta guía de programación, nació por la necesidad de documentar parte del trabajo que se hace en el Instituto de Robótica de Xalapa A.C. (en Xalapa, Veracruz, México), en los cursos y talleres de robótica para niños, jóvenes y adultos. Y para ofrecer una guía en español para nuestras nuevas generaciones de niños y jóvenes ávidos por aprender cosas nuevas.

Este documento está dirigido a las personas que quieren aprender a crear aplicaciones para dispositivos móviles, ya sea teléfonos celulares o tabletas, con el sistema operativo Android. Se usa el ambiente de programación visual MIT App Inventor, que es muy fácil de usar y está disponible en línea sin costo alguno. Se ejemplifica el uso de App Inventor para crear una sencilla aplicación que mostrará en la pantalla del móvil la frase ¡Hola Mundo!, con la cual se empieza en muchos cursos de programación de computadoras, en diversos lenguajes de programación, especialmente el lenguaje C.

Technical Report · Sep 2017
DOI: 10.13140/RG.2.2.30688.99841
PDF disponible en: https://www.researchgate.net/publication/320014500

iRoX – Escuela de Verano Robótica 2017 – Segunda llamada

El Instituto de Robótica de Xalapa invita al público en general a su Escuela de Verano Robótica 2017 para niños, jóvenes y adultos, que se llevará a cabo del 14 al 22 de julio en Xalapa, Veracruz, México. Donde impartiremos cursos de robótica (y Raspberry Pi) independientes de dos o cuatro días:
  • Curso Raspberry Pi, 14 y 15 de julio, intensivo, 12 horas, dirigido a jóvenes y adultos.
  • Curso Robótica Lego NXT, 17 al 20 de julio, matutino, 16 horas, dirigido a niños y jóvenes.
  • Curso Robótica Arduino, 17 al 20 de julio, vespertino, 16 horas, dirigido a niños y jóvenes.
  • Curso Robótica Lego EV3, 21 y 22 de julio, intensivo, 12 horas, dirigido a jóvenes y adultos.

¿Conoces a algún niño o joven fuera de Xalapa a quien le gustaría aprender de robótica? Llévalo a Xalapa un fin de semana a tomar nuestro Curso Robótica Lego Ev3, o mejor aún, una semana completa para tomar dos o tres cursos de robótica.

NOTA: Tenemos descuentos en inscripción temprana, hasta el 30 de junio.

Puedes ver más información en nuestra página Escuela de Verano Robótica 2017, o escribirnos en nuestra página de contacto o al correo electrónico irox@robotsa.com.

El iRoX es sede de los equipos de robótica Galácticos, formados por niños que han obtenido los siguientes logros:

Lego Mindstorms EV3 código fuente disponible

Xander Soldaat publicó en 2013 un artículo en su blog botbench.com, dando a conocer que el código fuente del Lego Mindstorms EV3 está disponible para uso personal. Ver Enlace.

El código fuente está cargado en el espacio Mindboards Github: [LINK]. De donde se puede clonar el repositorio.

Entre los requisitos que Xander menciona para modificar el código fuente están:

  • Una máquina con Linux (puede ser virtual).
  • Eclipse.
  • Java JRE.
  • Code Sourcery Lite para ARM.
  • Un adaptador USB a puerto serial.
  • Una tarjeta SD.
  • Alicates de punta plana.
  • Un adaptador Netgear WNA1100 WiFi.

Si te gustan los robots Lego Mindstorms EV3, los retos de programación y te gustaría entra al mundo del desarrollo de código abierto (open source), este es un proyecto donde podrás aprender mucho e incluso hacer tus propias aportaciones.

Esta es la página de Xander: http://botbench.com/blog/2013/07/31/lego-mindstorms-ev3-source-code-available/

¿Qué es Inteligencia Artificial?

La Inteligencia Artificial (IA) estudia el comportamiento inteligente de las máquinas.

  • El comportamiento inteligente supone percibir, razonar, aprender, comunicarse y actuar en entornos complejos
  • Una meta a largo plazo de la IA es desarrollar máquinas capaces de hacer esto igual o mejor que los humanos

¿Un robot futbolista tiene un comportamiento inteligente? ¿Si es capaz de ir por la pelota y llevarla a la portería contraria podría considerarse que si lo es?

¿Pueden pensar las máquinas?

  • Pregunta que ha interesado tanto a filósofos como a científicos e ingenieros
  • Depende de cómo se definan las palabras máquina, pensar (Alan Turing) y pueden

Estas preguntas y respuestas se presentan como parte del material usado en la asignatura Inteligencia Artificial, en el tema de introducción, que el autor impartió algunas veces a nivel universitario. Abarca brevemente temas como ¿qué es la inteligencia artificial? ¿pueden pensar las máquinas?, algunas aproximaciones a lo que implica la inteligencia artificial, así como una breve historia de la IA.

Presentation · June 2009
DOI: 10.13140/RG.2.2.31841.30565
Disponible en https://www.researchgate.net/publication/317244264.