L1: Mi primer proyecto

Primera lección sobre la plataforma BatSTEM.

Mi primer proyecto BatSTEM

Qué vas a aprender en esta lección

En esta lección trabajaremos:

  • Acceso al interfaz de programación BatSTEM Cloud IDE.
  • Conexión de la placa de desarrollo ESP32 al ordenador.
  • Significado de los bloques “configuración” y “bucle principal”.
  • Control del LED interno de la placa de desarrollo.

Requisitos previos

Antes de comenzar, necesitarás conocer tus datos de acceso a la plataforma BatSTEM Cloud IDE https://ide.batstem.io.

Explicación teórica

¡Quiero saber más!

Durante las próximas lecciones aprenderás a realizar proyectos de electrónica y programación basados en el chip ESP32. Este chip es un dispositivo de los denominados SoC (System on a chip o Sistema en un solo chip). Se denominan de esta manera porque integran, en un solo dispositivo, todos los componentes necesarios para poder disponer de un “ordenador” completo. Esto incluye:

  • Microprocesador, para poder ejecutar programas y realizar cálculos matemáticos.
  • Memoria RAM, para poder almacenar programas a ejecutar y datos que necesiten estos programas.
  • Almacenamiento, para guardar los programas a ejecutar y datos de manera no volátil. Esto quiere decir que no se borran cuando el dispositivo se desconecta de la alimentación.
  • Puertos de entrada y salida, para poder conectar dispositivos externos como interruptores, LEDs, sensores, motores y otros dispositivos electrónicos complejos.
  • Conectividad Wi-Fi y bluetooth, para conectar el dispositivo con teléfonos móviles o tablets e incluso a Internet.

Mediante el entorno de desarrollo BatSTEM IDE podremos diseñar programas, almacenarlos en el ESP32 y hacer que éste los ejecute. Tras este proceso, el ESP32 podrá seguir funcionando incluso sin estar conectado a un ordenador.

La placa de desarrollo que usaremos para nuestros proyectos tiene dos LEDs o pequeñas luces: una roja que se ilumina siempre que el dispositivo esté conectado a la alimentación, y otra azul que aprenderemos a controlar en esta lección.


Placa de desarrollo ESP32 con sus dos LEDs integrados (rojo y azul)

Parte Práctica

Necesitas los siguientes materiales:

  • Placa de desarrollo ESP32.
  • Cable de conexion USB.

Diagrama de conexión


Conexión entre ordenador y placa de desarrollo

Paso a paso
  1. Conecta el extremo pequeño del cable USB al conector USB-C de la placa de desarrollo y el otro extremo a un puerto USB libre en tu ordenador.

Código

¡Quiero saber más!

Para empezar a desarrollar tus proyectos en el entorno de desarrollo BatSTEM Cloud necesitarás una cuenta de usuario. Si ya la tienes, accede a través de la página https://ide.batstem.io. Si aun no dispones de una cuenta de usuario crea una en https://ide.batstem.io/register.

Una vez accedas al entorno, podrás ver la estructura de un nuevo proyecto o sketch como la que se muestra en la siguiente imagen.


Nuevo proyecto o sketch vacío

En el entorno de desarrollo puedes ver varias secciones:

  • En el centro está el espacio de trabajo (1). En él iremos colocando los diferentes bloques que compondrán nuestro sketch.
  • En la parte izquierda, en vertical, está la caja de herramientas (2). En ella disponemos de diferentes bloques que, arrastrándolos al espacio de trabajo, nos permitirán indicar qué es lo que queremos que nuestro programa haga.
  • En la parte superior está la barra de herramientas (3), con botones para crear un nuevo proyecto y ejecutarlo (cargarlo en el chip tras traducir los bloques a código que “entienda” el chip ESP32). Además se muestra información sobre el modelo de placa seleccionado, el nombre del sketch y el nombre del usuario actual.
  • En la esquina superior izquierda hay un icono (4) con forma de 3 líneas horizontales que nos permitirá acceder a un menú desde el que podremos guardar nuestro proyecto, cargar un proyecto anterior que tengamos almacenado o borrar proyectos que ya no sean de nuestro interés.
  • Hay otras secciones, como el monitor COM, que describiremos en lecciones posteriores.

Para poder completar con éxito esta primera lección debemos entender el funcionamiento de los bloques configuración y bucle principal.

  • Todos los bloques que coloquemos dentro del bloque de configuración se ejecutarán una vez justo después de que el dispositivo se inicie. Esto puede ser justo después de pulsar el botón Ejecutar de la barra de herramientas o tras conectar el cable USB de alimentación y datos de la placa de desarrollo. Lo que pongamos en este bloque, por tanto, servirá para definir el comportamiento general del dispositivo durante la ejecución de nuestro proyecto.
  • Todo aquello que coloquemos en bucle principal se ejecutará una y otra vez sin límite. Se empezará ejecutando el primer bloque y se ejecutarán en orden hasta llegar al último para, inmediatamente, volver al primer bloque. Este proceso se repetirá de manera infinita.

Encender y apagar el LED interno

Una vez entendido el funcionamiento de los bloques configuración y bucle principal vamos a poner en marcha nuestro primer proyecto. Para que el LED interno parpadee, tendremos que encenderlo, esperar, apagarlo, esperar, encenderlo, esperar… En este proyecto vamos a esperar, entre las acciones de encendido y apagado, un segundo.

Construye y ejecuta el siguiente sketch:

Paso a paso
  1. Haz clic en el icono Dispositivos de la caja de herramientas. Selecciona el bloque verde correspondiente a un dispositivo LED y arrástralo dentro del bloque de configuración. Asegúrate de que está seleccionado “conectado al pin GPIO2”. GPIO2 es el nombre del pin al que está conectado el LED interno en la placa de desarrollo.

  2. Ahora vamos a añadir el bloque que hará que el LED se encienda. Vuelve a hacer clic en Dispositivos. Como ahora tenemos definido un LED en nuestro espacio de trabajo, tendremos disponible un nuevo bloque verde llamado “poner LED”. Lo elegimos y lo arrastramos al bloque bucle principal. Debemos asegurarnos de que el nombre que aparece en el bloque coincide con el que está especificado en el de configuración que hemos añadido en el paso anterior. El valor al que debemos poner el LED es 100. Esto indica que el LED debe estar encendido al 100%.

  3. Tras encender el LED debemos esperar un segundo. Para añadir un bloque de espera debemos pulsar en el icono Tiempo y arrastrar un bloque “esperar” debajo del que hemos puesto en el paso anterior. Tras colocarlo, deberemos escribir 1 en el recuadro verde y desplegar la lista de unidades para elegir “segundos”.

  4. Para completar el programa solo nos quedara añadir el bloque que apaga el LED y un nuevo bloque de espera al final del bucle principal para que haya también un segundo de pausa entre la operación de apagado y la de encendido que se ejecutará tan pronto como se inicie de nuevo el bucle principal. Para apagar el LED deberemos agregar un bloque idéntico al de encendido pero con valor 0 en vez de 100.

  5. Una vez que nuestro programa está terminado ya podemos probarlo. Para ello pulsamos en el botón Ejecutar de la barra de herramientas y esperamos a que el proceso se complete. En primer lugar, el proyecto se compilará y, si la compilación se completa con éxito, se transferirá al ESP32 y se ejecutará. Si todo ha ido bien, verás como el LED azul de la placa de desarrollo se enciende y se apaga en intervalos de un segundo.

Ejercicios adicionales o retos

  1. Cambia tu sketch para que el LED parpadee más rápido o más despacio.

Resumen de lo aprendido

  • Nuestra placa de desarrollo es un pequeño “ordenador” todo en uno que puede funcionar de manera independiente a un PC.
  • Hemos conectado la placa de desarrollo a nuestro ordenador.
  • Hemos aprendido a acceder al entorno de desarrollo BatSTEM Cloud.
  • Ahora sabemos para qué sirven los bloques configuración y bucle principal y cómo y cuándo se ejecutan los bloques contenidos en su interior.
  • Hemos creado nuestro primer sketch arrastrando bloques desde la caja de herramientas.
  • Hemos compilado y ejecutado nuestro sketch en la placa de desarrollo.

Próximos pasos

  • Aprende a conectar un LED externo en la Lección 2.

Soluciones a ejercicios adicionales

Mostrar

Cambiar el sketch para que el LED parpedee más rápido.

Para conseguir que el patrón de parpadeo sea más rápido, debemos reducir el tiempo de espera en las dos pausas con las que cuenta el programa. Al reducir las pausas, la secuencia se ejecutará más rápido y el parpadeo será también más rápido.

Solución para parpadeo cada medio segundo (500 milisegundos)