bclose

Los procesadores de M5Stack

Una familia de procesadores esp32 y complementos

El M5Stack con un ESP32 y mas

 

 

    • Presentar el M5Stack. Con ESP32
    • Instalar pluggins y drivers varios.
    • Escribir nuestros primeros mensajes en la pantalla

 

 

Material requerido.

 

 

MOdelo basico 

 

Un M5Stack

 

 

 Detalle de conectoresUn cable USB C

 

M5STACK y ESP32

 

Somos unos enamorados de micro ESP32 de Espressif, Menuda novedad. Llevamos tiempo publicando tutos sobre el ESP32 y más aún sobre su hermano pequeño (Que nació antes) el  ESP8266.

Son micros bien dotados, con comunicaciones incluidas y un precio ridículo que llevan el concepto Arduino un paso más allá para cualquiera que tenga interés en el DIY y el IOT. Tengo que reconocer con vergüenza que me daba un poco pereza empezar a hacer series de tutos basados en el ESP32 porque ya había multitud de ellos por internet y no estaba muy seguro de que tuviera sentido más de lo mismo.

Estábamos tan acostumbrados a usar los Arduino y ESPs con sus cablecitos y protoboards que no se nos había ocurrido que podía haber un sistema mejor, y por eso cuando descubrimos el M5Stack y su cantidad de módulos satélite entramos en shock todo el panel de Prometec.

MOdelo basicoUn módulo integrado, con diseño elegante en forma de cajita con display, con un conector estándar, que permite apilar y conectar diferentes módulos sin mas que hacer presión y todo queda firme, elegante y conectado.  Era una idea tan buena que no entendíamos como no se nos había ocurrido a nosotros (El mundo está lleno de gente más lista que yo, fue duro comprenderlo)

El M5Stack es una cajita increible, que contiene internamente un ESP32 con WIFI+Bluetooth + procesador 32 bits doble. Incluye un panel LCD color de 320×240 puntos más altavoz, lector de tarjetas SD, 3 botones, alimentador USB C, botón de encendido y batería.

Además es, por supuesto, compatible Arduino. Se puede programar en C++ en Bloques y en Python y disponen de un conjunto de librerías organizadas con mucho sentidos comunes e integrados de modo coherente y sistemático que facilita el aprendizaje.

Si normalmente los fabricantes nos van entregando librerías independientes por cada sensor o elemento que nos venden, lo que nunca agradeceremos bastante, los chicos de M5Stack integran diferentes librerías en un recubrimiento global a base de clases genéricas que van descendiendo hasta donde queramos.

Descripcion de elementos

Y aún más (Por si aún no habíais visto lo emocionado que estoy) cubren todo el espectro, que va desde bajo nivel para acceder así hardware incluido en el módulo, hasta un ya disponible acceso a cosas como el WIFI, el Bluetooth el Lora de forma nativa y cosas de más nivel como MQTT para transferir datos a la nube.

Poder hacer todo este tipo de cosas razonablemente desde una plataforma de escaso coste y con programación unificada es ya algo sorprendente pero que se pueda hacer tanto desde alto nivel con C++ y Python como con bloques (Tienen su propio programa derivado del Scratch llamado UIFlow) es algo increíble y que facilitará mucho las cosas a amigos del háztelo tú mismo y a centros de educación usarán el mismo material para primaria y para bachiller desde dos caras del mismo sistema

Y como ya sabéis que los entusiastas tendemos a ponernos pesados con las cosas que nos gustan ya podéis iros preparando para una tanda de tutoriales basados en el M5Stack porque tenemos para rato con el asunto.

Yo voy a empezar con los tutos en C++ (La cabra tira al monte) e Iván se pondrá con los de bloques y, como siempre, esperamos que os resulten de lo más interesantes

 

Versiones del M5Stack

 

Como en todo en la vida, en el M5Stack también hay clases y modelos:

 

BASICGRAYFIRE
ESP32 Basic Core IoT Development KitESP32 GREY Development Kit 9Axis SensorM5Stack FIRE IoT Development (PSRAM 2.0)
MOdelo basicoMOdelo Fire
  • 5V DC power supply
  •  USB Type-C
  • ESP32-based
  • 4 MByte flash + 520K RAM
  •  Speaker, 3 Buttons
  • LCD(320*240)
  • 2.4G Antenna
  • TF card slot (16 Gb Max)
  • Battery Socket & 150 mAh
  • Lipo Battery Ampliable
  • Pins & Holes Grove Port·
  • M-Bus Socket & Pins·
  • Platform UIFlowMicroPythonArduino
  • 5V DC power supply
  •  USB Type-C
  • ESP32-based
  • 16 MByte flash + 520K RAM·
  • MPU6886+BMM150
  •  Speaker, 3 Buttons
  • LCD(320*240)
  • 2.4G Antenna
  • TF card slot (16 Gb Max)
  • Battery Socket & 150 mAh
  • Lipo Battery Ampliable
  • Pins & Holes Grove Port·
  • M-Bus Socket & Pins·
  • Platform UIFlowMicroPythonArduino

  • 5V DC power supply
  •  USB Type-C
  • ESP32-based
  • 16 MByte flash + 520K RAM + 4M PSRAM
  • MPU6886+BMM150
  •  Speaker, 3 Buttons
  • LCD(320*240)
  • 2.4G Antenna
  • TF card slot (16 Gb Max)
  • Battery Socket 600 mAh
  • Lipo Battery Ampliable
  • Pins & Holes Grove Port·
  • M-Bus Socket & Pins·
  • Platform UIFlowMicroPythonArduino

 

La diferencia básica es que incluya o no sensores inerciales y la cantidad de memoria disponible para programas y datos. La diferencia de precio entre ellos no es grande, alrededor de 20€ y normalmente cualquiera de los primeros serán suficiente para todo lo que no sea desarrollar proyectos serios.

Instalando el M5Stack

 

Para instalar el M5Stack necesitamos hacer lo habitual para trabajar con el ESP32, que es instalar el pluggin correspondiente en Arduino y después instalar el driver USB para el chip USB del módulo (Que no es el habitual)

Para instalar el pluggin del ESP32 tendemos ya un tuto listo aquí , por favor instalad la última versión disponible del IDE:

Y para instalar el driver USB pincha aquí:   CP210x USB. Una vez descargado descomprime el archivo y entra en la carpeta, verás algo así:

Carpeta descomprimida

Ahora simplemente ejecuta el instalador correspondiente a tu versión de Windows y vete dando que si a todo hasta que acabe

Si has instalado una versión  del IDE Arduino, que sea al menos 1.8.10, ya podemos instalar las librerías básicas del M5Stack desde el propio IDE. Pincha en Administrar Bibliotecas:

Imagen del ide arduino

Y en la ventana que emerge escribe M5stack y pulsa intro:

Arduino IDE

Instálate la biblioteca marcada en rojo y ya solo nos queda enchufar nuestro flamante M5Stack al puerto USB (Recuerda que el cable es un USB C) y seleccionar el M5 en la lista de tarjetas y el puerto al que lo has conectado, como siempre:

Seleccionado el procesador en arduino

Y el puerto al que lo has conectado:

Ide arduino

 

El primer programa en  el M5Stack

 

Ya estamos listos para empezar a programar con C++ nuestro encantador cacharrito. Vamos a empezar saludando, imprimiendo en la pantalla un mensaje tipo “Saludos de Prometec” (El Hello world me aburre ya):

Lo primero es incluir la librería de M5

#include <M5Stack.h>

Y ahora la inicializamos en el setup e imprimimos directamente con M5.Lcd.print:

void setup()
{    M5.begin();
     M5.Lcd.print("Saludos de Prometec");
}

void loop()
{  // No hace nada
}

El resultado:

CAptura del mensaje impreso

Vaya ha sido fácil pero voy a necesitar unas lupas para poder leer esto con comodidad. ¿Podría cambiar el tamaño, la posición o el color del texto?  Si alguien ha dicho NO, que deje de leer y se inscriba en la facultad de derecho o haga contabilidad o algo así. Esto no es lo suyo.

Para los que tenéis fe y no hayáis dudado, veamos cómo hacer todo eso:

Contenido solo disponible para suscriptores. ¡Accede al contenido!

        

El resultado está a la vista:

Muestra de texto en pantalla

No está mal para una primera aproximación, Por supuesto que hay primitiva graficas adicionales, de relleno y borrado de la pantalla pero eso será ya tema de la siguiente sesión, que por hoy ya nos hemos ganado el sueldo.

 

IMAGEN DE MARCA

 

 

 

 

 

No Comments

Para porder realizar consultas a nuestros expertos, tienes que ser suscriptor. Suscribiendote nos ayudas a mantener este proyecto en marcha.

¡ Quiero Suscribirme !

Si ya eres premium y no puedes comentar haz login. Hacer login