Archivo de la etiqueta: Taller

Robótica con M5StickC, JoyC, RoverC y BugC

Control RoverC HAT con JoyC HAT

Vídeo completo del taller de 1 hora:

Veamos los pasos para programar el control de BugC HAT con JoyC HAT.

Antes de empezar con este tutorial, deberías leer los siguientes artículos:

Hardware necesario:

Cada módulo M5StickC programable se conecta a los HATs del Rover y el JoyStick. Lo que vamos a programar con los M5StickC.

RoverC es una base de robot móvil omnidireccional programable compatible con M5stickC, y puede iniciarse insertando el M5stickC. El controlador principal de la base es el microcontrolador stm32f030f4. La base viene con motores de engranaje helicoidal N20 que son accionados directamente por un controlador de motor de cuatro canales. Estos motores están conectados a ruedas mecanum que pueden moverse en todas las direcciones. Además, se proporcionan dos puertos I2C compatibles con grove para facilitar la expansión de otros módulos. La base también es compatible con los bloques de LEGO y puede expandirse en su estructura. Se instala una batería 16340 en la parte posterior de la base para cumplir con los requisitos de potencia y resistencia del automóvil y se puede controlar mediante un interruptor independiente.

I2C Address 0x38

Para moverlo:

Antes de usar, asegúrese de que el RoverC está completamente cargado. Método de carga: inserte m5stickc en el roverc y conecte el cable USB para cargar.

JoyC es un módulo basculante diseñado para el M5StickC. Admite la operación con las dos manos. Chip de control principal STM32F030F4 integrado, que utiliza el protocolo de comunicación I2C y el host M5StickC para la transmisión de datos. El rango del joystick es 0 ~ 200, hay 12 LED RGB debajo de los joysticks izquierdo y derecho, y la parte inferior del joystick está equipada con una base de batería 16340 para una vida útil continua de la batería.

I2C Address 0x38

Como vamos a programar con UIFLow, lo primero es cargar el firmware de UIFlow con el M5Burner, que puede descargarse en: https://m5stack.com/pages/download. Cargar en ambos M5StickC.

Ejemplo básico control RoverC:

Código: https://github.com/jecrespo/M5StickC-UIFlow/blob/master/Proyecto%20RoverC%20y%20JoyC/Basic_RoverC.m5f

Vídeo:

Ejemplo básico control JoyC:

Código: https://github.com/jecrespo/M5StickC-UIFlow/blob/master/Proyecto%20RoverC%20y%20JoyC/Basic_JoyC.m5f

Código con todos los datos del JoyC: https://github.com/jecrespo/M5StickC-UIFlow/blob/master/Proyecto%20RoverC%20y%20JoyC/M5StickC_JoyStick_Control.m5f

Vídeo:

Para comunicar ambos módulos voy a usar el protocolo ESP-NOW: https://docs.m5stack.com/#/en/uiflow/advanced?id=esp-now

ESP-NOW es un protocolo de comunicación de corto alcance y baja potencia que permite que múltiples dispositivos se comuniquen sin Wi-Fi. Este protocolo es similar a la conexión inalámbrica de 2,4 GHz de baja potencia que se encuentra en los ratones inalámbricos: los dispositivos se emparejan antes de comunicarse. Después del emparejamiento, las conexiones entre dispositivos son continuas, de igual a igual, y no requieren un protocolo de protocolo de enlace.

Para emparejar ambos dispositivos necesito saber su dirección.

Ejemplo básico receptor:

Ejemplo básico emisor:

En un M5Stack lo uso de receptor de ESP-NOW para ver lo que llega: https://github.com/jecrespo/M5StickC-UIFlow/blob/master/M5/M5Stack_Receptor.m5f

Código:

Vídeo:

Los códigos finales con comunicación ESP-NOW:

Comentarios del código:

  • La conexión es uno a uno y cifrada con contraseña
  • Uso un M5Stack que recibe los datos y los muestra por pantalla
  • Los datos que mando son: Velocidad, Dirección y Ángulo, añadiendo el caracter V, D o A delante del valor.
  • Solo mando el valor si cambia más de 5 unidades sobre el valor anteriormente enviado. Ahorrando el envío de datos y mejorando la experiencia con el Joystick
  • Si el valor del Joystick es menor de 30 lo dejo en 0, porque sino los motores apenas se mueven y hace ruido.
  • Uso en cada receptor un contador para saber cuantos mensajes llegan
  • El M5Stick del rover lee el dato recibido, analiza si es Velocidad, Dirección y Ángulo y aplica el valor a los motores del rover.

Vídeo:

Control BugC HAT

Vamos a hacer andar el BugC.

Material:

BugC es una base de robot programable compatible con el M5StickC. Esto tiene cuatro motores de CC, controlador de motor, dos LED RGB, soporte de batería y un interruptor. La base Bugc debe usarse junto con el controlador M5StickC. La base viene con un microcontrolador STM32F030F4 que controla todos los motores y LED y esto es controlado a través del protocolo I2C (0x38) por el M5StickC que se encuentra en la parte superior de la base.

Ejemplo básico de uso:

Código: https://github.com/jecrespo/M5StickC-UIFlow/blob/master/Proyecto%20BugC/Basic_BugC.m5f

Vídeo:

Una vez hecho el ejemplo básico, para aprender cómo se mueve hacemos tres movimientos que cambian al pulsar el botón A.

Código: https://github.com/jecrespo/M5StickC-UIFlow/blob/master/Proyecto%20BugC/M5StickC_BugC_Demo.m5f

Vídeo:

Por último vamos a hacerlo andar, moviendo de un lado a otro.

Código: https://github.com/jecrespo/M5StickC-UIFlow/blob/master/Proyecto%20BugC/M5StickC_BugC_Anda.m5f

Vídeo:

Talleres y Charlas

Además del catálogo de cursos también es posible impartir talleres prácticos de entre 3 y 6 horas relacionados con las tecnologías impartidas en los cursos, así como charlas divulgativas en todo tipos de eventos tecnológicos y maker. Para proponer un taller o charla ponerse en contacto a través de aprendiendoarduino@gmail.com 

Si quieres que imparta una charla, ponencia o taller,  si quieres plantearme una colaboración o si tienes cualquier otra idea. No dudes en contactar conmigo en aprendiendoarduino@gmail.com 

Talleres Impartidos y contenido:

Otros posibles talleres o charlas a impartir:

  • Primeros pasos ESP8266
  • Primeros pasos ESP32
  • Introducción a M5stack y M5stick
  • Primeros pasos Raspberry Pi
  • Robótica Educativa
  • Robots Open Source 
  • Domótica en un tarde
  • PLCs basados en Arduino para entorno industrial
  • PLCs basados en Raspberry Pi para entorno industrial
  • Monta tu Scada basado en Arduino (HMI Nextion e Industrial Shields)
  • Qué es The Things Network (TTN)
  • Montaje de un gateway TTN
  • Arduino en la Educación
  • Arduino en la Industria
  • Comunicaciones inalámbricas IoT
  • Iniciación a IoT con Herramientas IoT
  • Node-Red en IoT
  • Monitorización de Energía con Herramientas Libres
  • Digitaliza tu negocio con herramientas libres
  • Y más.. (consulta en aprendiendoarduino@gmail.com)

Si deseas algún otro taller o charla relacionada con el mundo Open Source aplicado al entorno Industrial o cualquier tema maker mándame tu propuesta a aprendiendoarduino@gmail.com.

Segunda Reunión Makers Logroño. Preparando el Arduino Day

El jueves 16 febrero nos volvimos a reunir los makers en el UR-Maker, el makerspace de la Universidad de La Rioja con el objetivo de hacer propuestas para el próximo Arduino Day que se celebrará el 1 de Abril.

Estas fueron las propuestas provisionales:

  • Alpha: Charla “Makerspaces. Experiencia Montando un Makerspace” en UR-Maker
  • José Ignacio: Taller de robots sigue-líneas (Lugar por definir)
  • Julio: Charla “Experiencia desde cero con Arduino” en COITIR
  • Vicente: Charla “Experiencia montando una impresora 3D“en COITIR
  • Juan: Taller para niños de Impresión 3D y makey-makey (Lugar por definir)
  • Enrique: Charla de aprox. 1 hora “IoT. Conectando Dispositivos con Arduino” en Think TIC
  • Enrique: Taller de aprox. 3 horas “Taller IoT. Conectando Dispositivos con Arduino” en Think TIC
  • Web de la charla y taller IoT Arduino de Enrique: http://www.aprendiendoarduino.com/arduino-day-2017/
  • Juan: Experiencia piloto 🙂 de las Primeras Jornadas del Arduino y el Chuletón en la sociedad gastronómica la trastienda. Será una comida junto con otras acciones por definir.

A media que se vayan cerrando los eventos iremos informando a través de las redes sociales y de la lista de correo. El medio de comunicación que seguiremos usando es la lista de correo de noticias de www.aprendiendoarduino.com

Lista de correo, apuntarse en http://list.aprendiendoarduino.com/mailman/listinfo/aprendiendoarduino.com.noticias o mandar un correo a aprendiendoarduino@gmail.com

Email contacto de Enrique Crespo: aprendiendoarduino@gmail.com

Twitter Enrique Crespo: @jecrespom

Juan también ha publicado en el blog un resumen de la reunión: https://makerslarioja.wordpress.com/2017/02/18/resumen-2-encuentro-maker-en-la-universidad-de-la-rioja/

Fotos:

Agenda Arduino/Genuino Day 2016 Logroño

Web oficial del Arduino Day: https://day.arduino.cc

Cuando: Sábado 2 de abril de 2016

Donde: Think Tic (Avda. Zaragoza 21, Logroño)

Inscripciones: aquí

Si trabajas o eres una empresa que distribuyes o desarrollas con productos Arduino/Genuino y quieres mostrar lo que haces en el taller del Arduino/Genuino Day, ponte en contacto con aprendiendoarduino@gmail.com para participar.

Evento: De 9.30 a 13.30 – TALLER INICIACIÓN “Conoce Arduino y da tus primeros pasos sin necesidad de Programar” en el Aula 7 del Think Tic.

Como: Ven con tu portátil, tu Arduino/Genuino y el cable USB para conectarlos. Da tus primeros pasos con Arduino sin necesidad de saber programar.
También puedes traer algunos LEDs, resistencias, sensores, jumpers, protoboard, etc… para usarlos con Arduino y modulos wifi o ethernet para conectar tu Arduino a Internet.

Por Qué: Para celebrar el Arduino/Genuino Day en Logroño con un taller para iniciarse en el mundo del Hardware Libre con Arduino/Genuino

Detalle: Taller de 4 horas con el objetivo conocer Arduino/Genuino y hacer funcionar los primeros programas en Arduino.

Contenido del tallerTodo el contenido del taller está disponible públicamente con licencia CC en https://aprendiendoarduino.wordpress.com/arduino-day/, así como la documentación, tutoriales y código.

Qué Veremos en el Taller:

  • Qué es Arduino/Genuino y el HW libre
  • Diferentes Arduinos para Diferentes Necesidades
  • Shields Arduino
  • Software Arduino
  • Instalación Software Arduino (IDE)
  • Primeros Programas con Arduino
  • Librerías Arduino
  • Comunidad Arduino
  • Proyectos con Arduino
  • IoT y Arduino
  • Muestra de productos y desarrollos de Arduino

NOTA: Imprescindible que cada participante traiga su propio portátil.

Si no dispones de un Arduino, disponemos de unas pocas unidades para que puedas seguir el taller.

Cartel del evento

GENUINODAY_flyer_personalizado_v2