INTRODUCCIÓN
En esta oportunidad, hablaremos precisamente de la tarjeta electrónica ESP32, utilizada muchas veces para proyectos, prototipos y ejemplos en el ámbito del Internet de las Cosas.
Conoceremos un poco más sobre su estructura, casos de uso y además, instalaremos esta tarjeta en el IDE de Arduino.
CONCEPTOS INICIALES
ESP32 es la denominación de una familia de chips SoC (System on a chip / Sistema en un Chip) de bajo costo y consumo de energía, con tecnología WiFi y Bluetooth. El ESP32 fue creado y desarrollado por Espressif Systems y es el sucesor de la la familia ESP8266.
El ESP32 Dev Kit V4.0 es parte de esta familia amplia; esta tarjeta es un microcontrolador de bajo costo y consumo de energía, cuenta con tecnología Wi-Fi y Bluetooth de modo dual integrada que permite controlar todo tipo de sensores, módulos y actuadores.
Es un módulo que tiene WIFI+BT+BLE para aplicaciones con sensores de baja potencia hasta tareas exigentes, como codificación de voz, transmisión de música y decodificación MP3. Contiene además una corriente de reposo 5uA, velocidad de hasta 150 Mbps y potencia de salida 20dBm.
Si desea conocer sobre otras tarjetas electrónicas pertenecientes a la familia del ESP32 DevKit, puede ingresar al siguiente enlace para conocer un poco más sobre ellas: https://www.espressif.com/en/products/devkits
ESTRUCTURA DEL ESP32 DEVKIT
Presentamos ahora la estructura de los pines que se tiene en la tarjeta electrónica ESP32 DEVKIT V4.0. Esta cuenta con 30 pines los cuales tienen distintas funciones, distintos uso y demás. Se explicará a continuación esta información.
Esta placa electrónica contiene los siguientes pines:
- 19 canales de convertidor analógico a digital (ADC)
- 3 interfaces SPI
- 3 interfaces UART
- 2 interfaces I2C
- 16 canales de salida PWM
- 2 convertidores de digital a analógico (DAC)
- 2 interfaces I2S
- 10 GPIO de detección capacitiva
Además, se presenta también el diagrama de bloques de esta tarjeta electrónica.
PROGRAMAR EL ESP32 DEVKIT
Para poder programar esta tarjeta electrónica, podemos usar 2 métodos.
- ESP-IDF (Espressif IoT Development Framework)
ESP-IDF, el entorno de desarrollo de software desarrollado por Espressif, puede ayudar a los usuarios a desarrollar rápidamente aplicaciones de Internet de las cosas (IoT) para satisfacer las necesidades de los usuarios de Wi-Fi, Bluetooth y bajo consumo de energía.
Es el usado por muchos desarrolladores; y para poder programar usando esta aplicación se deben tener en cuenta ciertos requerimientos, los cuales se describen en el siguiente enlace: https://docs.espressif.com/projects/esp-idf/en/release-v4.1/get-started/index.html
- IDE Arduino
Arduino IDE es un entorno de desarrollo y en él se realiza la programación de cada una de las placas de Arduino. Es el IDE más usado por los programadores de tarjetas Arduino y demás, para desarrollo de programas de Internet de las Cosas, como de Automatización, etc.
Para descargar y aprender mucho más acerca de este IDE, puede ingresar al siguiente enlace: https://www.arduino.cc/en/software
Por temas de comodidad y facilidad al programar esta tarjeta, se usará el IDE de Arduino para los proyectos en los que se use el ESP32 DevKit.
ESP32 DEVKIT EN IDE ARDUINO
Para instalar la tarjeta ESP32 DevKit en el IDE de Arduino, debemos seguir los siguientes pasos:
- Nos dirigimos a la cuenta oficial de Espressif en GitHub, usando el siguiente enlace: https://github.com/espressif/arduino-esp32
2. Dependiendo del sistema operativo en el cual se encuentre, podrá elegir la guía para instalación. Si le damos click al enlace “Installing”, nos redirigirá a un website de Espressif, en el cual según su sistema operativo, debe proceder a seguir la guía; en nuestro caso, usaremos la guía de Windows.
3. Una vez seleccionado Windows, deberemos elegir cual de las 2 opciones de instalación podemos seguir; la manera que toma un poco más de tiempo es la que se nos muestra cuando presionamos la opción “Windows” en la imagen mostrada anteriormente, y aquí debemos seguir TODOS los pasos que se nos indica.
Pasado ya el tiempo y la instalación, abrimos nuestro IDE de Arduino, nos dirigimos a la sección Herramientas/Placas/ESP32 Arduino/ESP32 DevModule; esta será la placa que se debe seleccionar para poder programar nuestra tarjeta en el IDE de Arduino.
5. Si deseamos hacer una instalación con un menor gasto de tiempo, nos dirigimos al apartado “INSTALLING USING BOARD MANAGER”
En ese apartado, encontramos unos enlaces, de los cuales escogeremos el denominado “Stable release link” y lo copiamos en un editor de texto.
Ingresamos a nuestro IDE de Arduino, y nos dirigimos al inciso “Preferencias”
En la parte baja, ingresamos nuestro enlace para obtener la tarjeta ESP32, y damos al botón OK.
Ahora, nos dirigimos al inciso “Herramientas/Gestor de Tarjetas”.
Paso siguiente, buscamos “ESP32”, y nos aparecerá la tarjeta. Damos al botón “INSTALAR” en la versión más reciente, y tendremos instalado nuestras tarjetas, y como en el proceso anterior, usaremos la denominada “ESP32 DevModule”.
Al momento de conectar nuestra tarjeta ESP32 a nuestra PC, entramos a la aplicación “Administrador de Dispositivos“, en donde nos mostrará si hubo algún error conectando la tarjeta con nuestra computadora. En caso se tenga un Driver instalado previamente, se mostrará como se indica en la siguiente imagen:
En caso no se tenga el Driver instalado, ingresamos al puerto que se detectó en nuestra computadora, nos dirigimos a “Controlador”, y damos click a “Actualizar controlador”
Entonces, se nos abrirá una ventana, en donde debemos ingresar a “Buscar controladores automáticamente”
Nuestro sistema operativo iniciará a buscar un controlador indicado para el uso de nuestra tarjeta electrónica. Una vez encontrada, se instalará y nos aparecerá el siguiente mensaje:
Si deseamos saber si podemos subir código a nuestra tarjeta, nos dirigimos al ejemplo Blink, localizado en Archivos/Ejemplos/Basics/Blink
Ahora, seleccionamos la tarjeta que usaremos, que será la ESP32 DevModule. Lo seleccionamos en Herramientas/Placa/ESP32/ESP32 DevModule
Realizado esto, hacemos una pequeña modificación al código; se definirá el pin 2 de la tarjeta, ya que aquí se encuentra en pin para encender un LED. El pequeño cambio se muestra a continuación:
/*El cambio lo realizamos en la primera línea del código, donde definiremos el LED en el pin 2*/
#define LED 2
/*Definimos la función Setup()*/
void setup() {
/*Definimos al LED como salida*/
pinMode(LED, OUTPUT);
}
/*Definimos la función Loop()*/
void loop() {
/*Encendemos el LED por 1 segundo, luego lo apagamos. Así funcionará el bucle*/
digitalWrite(LED, HIGH);
delay(1000);
digitalWrite(LED, LOW);
delay(1000);
}
Subimos el código, y si no hay problemas, nos aparecerá el siguiente mensaje, y el LED de la ESP32 DevKitV1 empezará a encender y apagarse cada 1 segundo.
CONCLUSIONES
Al momento de terminar este tutorial, se logró comprender información acerca del ESP32, los pines que integran la tarjeta electrónica y la instalación de esta en el IDE de Arduino para su futuro uso al momento de programarla. Se llega a la conclusión de que esta tarjeta es muy útil para desarrollo de prototipos de cualquier tipo de proyecto hablando de automatización e Internet de las Cosas. A comentario de quien redacta este articulo, es primordial comprender el uso de la tecnología WiFi, para luego seguir conociendo mucho más acerca de las nuevas tecnologías que rigen en estos últimos años, el mundo del Internet de las Cosas.
Entra a este enlace, para conocer más sobre como conectar el ESP32 a Internet:
CONEXIÓN DE ESP32 DEVKIT V1 A INTERNET
Te invitamos a tomar el curso de Introducción al ESP32: Introducción al ESP32 | TodoMaker’s School