Logo Studenta

Aprendiendo ESP32-rui santos

¡Este material tiene más páginas!

Vista previa del material en texto

Aviso de seguridad 
Este es el tipo de cosas sobre las que odio tener que escribir, pero 
la evidencia es clara: La piratería de productos digitales está en 
todo Internet. 
Por esa razón, he tomado ciertas medidas para proteger mi 
propiedad intelectual contenida en este libro electrónico. 
Este libro electrónico contiene cadenas de texto aleatorias ocultas 
que solo se aplican a su Versión del libro electrónico que es 
exclusiva de su dirección de correo electrónico. Probablemente no 
verás nada diferente, ya que esas cadenas están ocultas en este 
PDF. Me disculpo por tener que hacer eso, pero significa que si 
alguien compartiera este libro electrónico, sabré exactamente quién 
lo compartió y podré tomar medidas legales. 
No puede redistribuir este libro electrónico. Este eBook es para uso 
personal y solo está disponible para comprar en: 
 https://randomnerdtutorials.com/courses 
 https://rntlab.com 
Envíe un correo electrónico al autor (Rui Santos - 
hello@ruisantos.me), si encontró esto eBook en cualquier otro 
lugar. 
Lo que realmente quiero decir es gracias por comprar este libro 
electrónico y espero que te diviertas. 
¡Con esto! 
 
 
 
 
 
 
 
Cargo de responsabilidad 
Este libro electrónico se ha escrito únicamente con fines 
informativos. Se ha hecho todo el esfuerzo para que este sea lo 
más completo y preciso posible. El propósito de este eBook es 
educar. Los autores (Rui Santos y Sara Santos) no garantizan que 
la información contenida en este libro electrónico este completa y no 
serán responsables de ningún error u omisión. 
Los autores (Rui Santos y Sara Santos) no tendrán obligación ni 
responsabilidad de cualquier persona o entidad con respecto a 
cualquier pérdida o daño causado o presuntamente causado 
directa o indirectamente por este eBook. 
A lo largo de este libro electrónico encontrará algunos enlaces y 
algunos de ellos son enlaces de afiliados. Este significa que los 
autores (Rui Santos y Sara Santos) ganan una pequeña comisión 
por cada compra con ese enlace. Por favor comprenda que los 
autores tienen experiencia con todos los productos, y los 
recomendamos porque son útiles, no por las pequeñas comisiones 
que hacemos si decides comprar algo. 
Por favor, no gastes nada dinero en estos productos a menos que 
sienta que los necesita. 
Otros enlaces útiles: 
 Únase a un grupo privado de Facebook 
https://www.facebook.com/groups/828717390530053/ 
 Términos y Condiciones 
https://randomnerdtutorials.com/terms/ 
 
 
 
 
 
Únete al grupo privado de Facebook 
Este curso viene con la oportunidad de unirse a una comunidad 
privada de personas de ideas afines. 
Si compraste este curso, ¡puedes unirte a nuestro grupo privado de 
Facebook hoy! 
Dentro del grupo puedes hacer preguntas y crear debates sobre 
todo lo relacionado a ESP32, ESP8266, Arduino, Raspberry Pi, 
BeagleBone, etc. 
¡Véalo usted mismo! 
 Paso #1: Ir a -> http://randomnerdtutorials.com/fb 
 Paso #2: Haga clic en el botón “Unirse al grupo” 
 Paso #3: Aprobaré su solicitud en menos de 24 horas. 
 
 
 
 
Sobre los autores 
Este curso fue construido, desarrollado y escrito por Rui Santos y 
Sara Santos. Ambos vivimos en Oporto, Portugal, y nos conocemos 
desde 2009. Si quieres saber más sobre nosotros, siéntase libre de 
leer nuestra página acerca de. 
 
 
 
 
 
 
 
 
Hi! I’m Rui Santos, the founder of the 
Random Nerd Tutorials blog. I have a 
master’s degree in 
Electrical and Computer Engineering 
from FEUP. I’m the author of 
“BeagleBone For Dummies“, 
and Technical reviewer of the book 
“Raspberry Pi For Kids For Dummies”. I 
recently wrote a 
book with Sara Santos for the 
NoStarchPress publisher about projects 
with the Raspberry 
Pi: “20 Easy Raspberry Pi Projects: 
Toys, Tools, Gadgets, and More!” 
Hi! I’m Sara Santos! I started working at Random 
Nerd Tutorials back in 2015 as a hobby: I 
helped Rui with some simple tasks when he had 
a lot of work to do. Back then, I knew nothing 
about electronics, programming, Arduino, etc… 
Over time I started learning everything I could 
about those subjects and I just loved it! At first, I 
helped Rui once a week on Saturdays, but then, 
I started working on the RNT blog alongside him, 
almost every day! Currently, I work full time 
at Random Nerd Tutorials as a Content Editor 
and I love what I do! 
CONTENIDO 
MÓDULO 0 
Introducción al curso…………………………………………….. 
Bienvenido a Aprender ESP32 con Arduino IDE………… 
MÓDULO 1 
Primeros pasos con ESP32…………………………………… 
Unidad 1 - Introducción a ESP32…………………….. 
Unidad 2 - Instalación de ESP32 en Arduino IDE (Windows, 
Mac OS X y Linux)…………………………. 
Unidad 3 - Cómo usar su ESP32 en este curso………. 
Unidad 4 - Haga que su ESP32 sea compatible con 
protoboards ………………………….. 
MÓDULO 2 
Explorando los GPIO del ESP32……………………………….. 
Unidad 1 - Entradas y Salidas Digitales ESP32…….. 
Unidad 2 - Sensor táctil ESP32……………. 
Unidad 3 - ESP32 Modulación de ancho de pulso 
(PWM)…………….. 
Unidad 04 - Lectura de entradas analógicas ESP32…. 
Unidad 5 - Sensor de efecto Hall ESP32…………. 
Unidad 6 - ESP32 con sensor de movimiento PIR: 
interrupciones y temporizadores………………………. 
Unidad 7 - Memoria flash ESP32: almacenar datos 
permanentes (escritura y lectura)…………………….. 
Unidad 8 - Otros ejemplos de Sketch de ESP32……… 
MÓDULO 3 
Sueño profundo (Deep Sleep) ESP32………………… 
Unidad 1 - Modo de Deep Sleep ESP32…………….. 
Unidad 2 - Deep Sleep - Despertar con temporizador…. 
Unidad 3 - Deep Sleep - Despertar con pin táctil……. 
Unidad 4 - Deep Sleep - Despertar con evento externo… 
MÓDULO 4 
ESP32 Servidor Web……………………………………….. 
Unidad 1 - Introducción al servidor web………………….. 
Unidad 2 - Servidor Web – Salidas de Control……… 
Unidad 3 - Servidor web ESP32 - Conceptos básicos de 
HTML y CSS (Parte ½)……………………………………. 
Unidad 4 - Servidor Web ESP32 – HTML en Arduino IDE 
(Parte 2/2)………………………………………………… 
Unidad 5 - Servidor Web ESP32 – Salidas de Control 
(Relé)…………………………………………………….. 
Unidad 6 - Hacer que su servidor web ESP32 esté protegido 
con contraseña…………………………… 
Unidad 7 - Acceso al servidor web ESP32 desde cualquier 
lugar………………………………………….. 
Unidad 8 - Servidor web ESP32 - Mostrar lecturas de un 
sensor…………………………………………………… 
Unidad 9 – Control de servomotor con ESP32 de forma 
remota (servidor web)………………………….. 
Unidad 10 - Servidor web Color Picker para tira de LED 
RGB………………………………………………………… 
Unidad 11 – Servidor Web Asíncrono: Lecturas de 
Temperatura y Humedad……………………………. 
MÓDULO 5 
Bluetooth del ESP32…………………………………….. 
Unidad 1 - ESP32 Bluetooth Low Energy (BLE) – 
Introducción…………………………………………… 
Unidad 2 - Bluetooth Low Energy - Notificar y escanear.. 
……………………………………………………… 
Unidad 3 - ESP32 BLE Servidor y Cliente (Parte ½)…. 
Unidad 4 - ESP32 BLE Servidor y Cliente (Parte 2/2)…. 
Unidad 5 - Bluetooth clásico …………………………. 
MODULO 6 
Tecnología LoRa con ESP32………………………………… 
Unidad 1 - ESP32 con LoRa - Introducción……………. 
Unidad 2 - ESP32 – LoRa Emisor y Receptor………… 
Unidad 3 - Lecturas adicionales sobre LoRa Gateways… 
Unidad 4 - LoRa - ¿Adónde ir después?.................... 
MODULO 7 
ESP32 con MQTT………………………………………. 
Unidad 1 - ESP32 con MQTT: Introducción 
Unidad 2: Instalación de Mosquitto MQTT Broker en una 
Raspberry Pi…………………………………………….. 
Unidad 3 - Proyecto MQTT: Cliente MQTT ESP32#1… 
Unidad 4 - Proyecto MQTT: Cliente MQTT ESP32 #2... 
Unidad 5 - Instalación de Node-RED y Node-RED Dashboard 
en un RPi…….. 
Unidad 6 - Conectar ESP32 a Node-RED usando MQTT. 
PROYECTO 1 
ESP32 Multisensor – Wi-fi: Temperatura, Humedad, 
Movimiento, Luminosidad y Relé…………………………….. 
Unidad 1 - Multisensor Wi-Fi ESP32: Temperatura, Humedad, 
Movimiento, Luminosidad y Control de relé… 
Unidad 2 - ESP32 Wi-Fi Multisensor: ¿Cómo funciona el 
código?......................................................................... 
PROYECTO 2 
Carro Robot controlado por Wi-Fi…………….. 
Unidad 1 - Carro Robot controlado por Wi-Fi (Parte 
½)………………………………………………Unidad 2 - Carro Robot controlado por Wi-Fi (Parte 
2/2………………………………………………… 
Unidad 3: Montaje del kit de chasis de carro robot 
inteligente……………………………………………….. 
Unidad 4 - Punto de acceso (AP) para Wi-Fi Car 
Robot………………………………………………….. 
PROYECTO 3 
Aplicación Android ESP32 BLE 
Unidad 1 - Aplicación Android ESP32 BLE: Salidas de control 
y lecturas de sensores de visualización 
Unidad 2 - Aplicación Android Bluetooth Low Energy (BLE) 
con MIT App Inventor 2: ¿Cómo funciona la aplicación? 
PROYECTO 4 
Supervisión del sensor de largo alcance LoRa y registro de 
datos 
Unidad 1 - Monitoreo y registro de datos del sensor de largo 
alcance LoRa………………………………………… 
Unidad 2 - Remitente ESP32 LoRa…………………… 
Unidad 3 - Receptor ESP32 LoRa…………………….. 
Unidad 4 - Remitente LoRa con energía solar………….. 
Unidad 5 - Pruebas finales, demostración y análisis de 
datos……………………………………………………… 
UNIDADES EXTRA 
ESP32 Dirección IP estática/fija……………………………….. 
ESP32 Dual Core – Crear tareas…………………………. 
ESP32 SPIFFS (Sistema de archivos flash SPI)……….. 
Cree un servidor web ESP32 utilizando archivos del sistema 
de archivos (SPIFFS)……………………………… 
GUIA PARA ESP32 GPIOS 
Referencia de pines ESP32: ¿Qué pines GPIO debería 
usar?...... 
Lista de componentes necesarios………………………. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Bienvenido a Aprender ESP32 con Arduino 
IDE 
¡Bienvenido al curso Aprender ESP32 con Arduino IDE! Este es un 
curso práctico en el que aprenderá a aprovechar al máximo el 
ESP32 utilizando el IDE de Arduino. 
 
¿Cómo seguir este curso? 
Los módulos de este curso son independientes, lo que significa que 
no hay un orden específico para que siga adelante, y puede elegir 
cualquier módulo que desee ver/leer en cualquier momento. 
Sin embargo, DEBE primero seguir el Módulo 1 para configurar 
correctamente el ESP32 con Arduino IDE. De lo contrario, los 
ejemplos de los siguientes módulos no funcionarán. 
Descargar código fuente y recursos 
Cada unidad contiene el código fuente, los esquemas y todos los 
recursos que debe seguir los proyectos. Puede descargar cada 
recurso en cada Unidad, o puede descargar el repositorio Learn 
ESP32 con Arduino IDE GitHub y descargue instantáneamente 
todos los recursos para este curso. 
https://codeload.github.com/RuiSantosdotme/ESP32-
Course/zip/refs/heads/master 
 
Módulos del curso 
Este curso contiene 6 Módulos y 4 Proyectos. Desplácese hacia 
abajo para echar un vistazo a los módulos y Proyectos de este 
curso. 
MÓDULO 1: Primeros pasos con ESP32 
 
Este primer Módulo es una introducción a la placa ESP32. 
Exploraremos sus características y le mostraremos cómo usar su 
placa en este curso. También preparará su Arduino IDE para subir 
código al ESP32. ¡Debes seguir este Módulo primero! 
Unidades en este Módulo: 
 Unidad 1: Introducción a ESP32. 
 Unidad 2: Instalación de la placa ESP32 en Arduino IDE 
(Windows, Mac OS X y Linux). 
 Unidad 3: Cómo usar su ESP32 con este curso. 
 Unidad 4: Haga que la placa de pruebas ESP32 sea 
compatible. 
MÓDULO 2: Explorando los GPIO del ESP32 
 
En este segundo Módulo exploraremos las funciones GPIO ESP32. 
Te mostraremos cómo controlar salidas digitales, crear señales 
PWM y leer entradas digitales y analógicas. Bueno, también 
echaremos un vistazo a los pines capacitivos táctiles ESP32 y al 
sensor de efecto hall incorporado. 
Unidades en este módulo: 
 Unidad 1 - Entradas y Salidas Digitales ESP32 
 Unidad 2 - Sensor táctil ESP32 
 Unidad 3 - ESP32 Modulación de ancho de pulso (PWM) 
 Unidad 04 - Lectura de entradas analógicas ESP32 
 Unidad 5 - Sensor de efecto Hall ESP32 
 Unidad 6 - ESP32 con sensor de movimiento PIR: 
interrupciones y temporizadores 
 Unidad 7 - Memoria flash ESP32: almacenar datos 
permanentes (escritura y lectura) 
 Unidad 8 - Otros ejemplos de Sketch de ESP32 
MÓDULO 3: Sueño profundo (Deep Sleep) ESP32 
 
Usar el modo de suspensión profunda (Deep Sleep) en su ESP32 
es una excelente manera de ahorrar energía cuando alimentas tu 
placa con batería. En este módulo, le mostraremos cómo poner su 
ESP32 en modo de suspensión profunda y las diferentes formas de 
despertarlo. 
Unidades en este Módulo: 
 Unidad 1 - Modo de Deep Sleep ESP32 
 Unidad 2 - Deep Sleep - Despertar con temporizador 
 Unidad 3 - Deep Sleep - Despertar con pin táctil 
 Unidad 4 - Deep Sleep - Despertar con evento externo 
 
MÓDULO 4: ESP32 como Servidor Web 
 
Este Módulo explica cómo construir varios servidores web con el 
ESP32. Después de explicar algunos conceptos teóricos, aprenderá 
cómo construir un servidor web para mostrar el sensor lecturas, 
para controlar salidas, y mucho más. También aprenderá cómo 
puede editar su interfaz web de servidor usando HTML y CSS. 
Unidades en este Módulo: 
 Unidad 1 - Introducción al servidor web 
 Unidad 2 - Servidor Web – Salidas de Control 
 Unidad 3 - Servidor web ESP32 - Conceptos básicos de 
HTML y CSS (Parte ½) 
 Unidad 4 - Servidor Web ESP32 – HTML en Arduino IDE 
(Parte 2/2) 
 Unidad 5 - Servidor Web ESP32 – Salidas de Control (Relé) 
 Unidad 6 - Hacer que su servidor web ESP32 esté protegido 
con contraseña 
 Unidad 7 - Acceso al servidor web ESP32 desde cualquier 
lugar 
 Unidad 8 - Servidor web ESP32 - Mostrar lecturas de un 
sensor 
 Unidad 9 – Control de servomotor con ESP32 de forma 
remota (servidor web) 
 Unidad 10 - Servidor web Color Picker para tira de LED RGB 
 Unidad 11 – Servidor Web Asíncrono: Lecturas de 
Temperatura y Humedad 
 
MÓDULO 5: Bluetooth del ESP32 
 
El ESP32 no solo viene con Wi-Fi, sino que también tiene Bluetooth 
y Bluetooth Low Energy incorporado. Aprenderá a usar las 
funcionalidades de Bluetooth ESP32 para escanear dispositivos 
cercanos e intercambiar información (cliente y servidor BLE). 
Unidades en este Módulo: 
 Unidad 1 - ESP32 Bluetooth Low Energy (BLE) – Introducción 
 Unidad 2 - Bluetooth Low Energy - Notificar y escanear 
 Unidad 3 - ESP32 BLE Servidor y Cliente (Parte ½) 
 Unidad 4 - ESP32 BLE Servidor y Cliente (Parte 2/2) 
 Unidad 5 - Bluetooth clásico 
 
MODULO 6: Tecnología LoRa con ESP32 
 
LoRa es una tecnología inalámbrica de largo alcance. En este 
módulo, explorará qué es LoRa y cómo puede usarlo con el ESP32 
para ampliar el rango de comunicación entre dispositivos IoT. 
Unidades en este Módulo: 
 Unidad 1 - ESP32 con LoRa - Introducción 
 Unidad 2 - ESP32 – LoRa Emisor y Receptor 
 Unidad 3 - Lecturas adicionales sobre LoRa Gateways 
 Unidad 4 - LoRa - ¿Adónde ir después? 
 
MODULO 7: ESP32 con MQTT 
 
MQTT es un protocolo de red, de publicación y suscripción, de 
máquina a máquina. Es ligero y un perfecto sistema de suscripción 
para aplicaciones de Internet de las Cosas. En este módulo 
aprenderás cómo usar MQTT para establecer una comunicación 
entre dos tableros ESP32, y cómo puede controlar el ESP32 
usando Node-RED. 
Unidades en este Módulo: 
 Unidad 1 - ESP32 con MQTT: Introducción 
 Unidad 2: Instalación de Mosquitto MQTT Broker en una 
Raspberry Pi 
 Unidad 3 - Proyecto MQTT: Cliente MQTT ESP32#1 
 Unidad 4 - Proyecto MQTT: Cliente MQTT ESP32 #2 
 Unidad 5 - Instalación de Node-RED y Node-RED Dashboard 
en un RPi 
 Unidad 6 - Conectar ESP32 a Node-RED usando MQTT 
 
PROYECTO 1: ESP32 Multisensor – Wi-fi: Temperatura, Humedad, 
Movimiento, Luminosidad y Relé 
 
En este proyecto, construirá un multisensor Wi-Fi con ESP32. Este 
dispositivo consta de un sensor de movimiento PIR, una 
fotorresistencia (LDR), un sensor DHT22 de temperatura y 
humedad, un relé y un LED RGB. También construirá un servidor 
web que le permita controlar el multisensor ESP32 usando 
diferentes modos. 
Unidades en este proyecto: 
 Unidad 1 - Multisensor Wi-Fi ESP32: Temperatura, Humedad, 
Movimiento, Luminosidad y Control de relé 
 Unidad 2 - ESP32 Wi-Fi Multisensor: ¿Cómo funciona el 
código? 
PROYECTO 2: Carro Robot controlado por Wi-Fi 
 
En este proyecto, le mostraremos paso a paso cómo crear uncontrol remoto para controlar un carro robot con Wi-Fi usando 
ESP32. 
Unidades de este proyecto: 
 Unidad 1 - Carro Robot controlado por Wi-Fi (Parte ½) 
 Unidad 2 - Carro Robot controlado por Wi-Fi (Parte 2/2) 
 Unidad 3: Montaje del kit de chasis de carro robot inteligente 
 Unidad 4 - Punto de acceso (AP) para Wi-Fi Car Robot 
 
PROYECTO 3: Aplicación Android ESP32 BLE 
 
En este proyecto vas a crear una aplicación de Android para 
interactuar con el ESP32 mediante Bluetooth de baja energía (BLE). 
Unidades en este proyecto: 
 Unidad 1 - Aplicación Android ESP32 BLE: Salidas de control 
y lecturas de sensores de visualización 
 Unidad 2 - Aplicación Android Bluetooth Low Energy (BLE) 
con MIT App Inventor 2: ¿Cómo funciona la aplicación? 
 
 
 
 
PROYECTO 4: Supervisión del sensor de largo alcance LoRa y 
registro de datos 
 
En este proyecto, construirá un sistema de monitoreo fuera de la 
red local que envía datos de lecturas de humedad y temperatura del 
suelo a un receptor interno. Para establecer una comunicación entre 
el remitente y el receptor usaremos el protocolo de comunicación 
LoRa. 
Unidades en este proyecto: 
 Unidad 1 - Monitoreo y registro de datos del sensor de largo 
alcance LoRa 
 Unidad 2 - Remitente ESP32 LoRa 
 Unidad 3 - Receptor ESP32 LoRa 
 Unidad 4 - Remitente LoRa con energía solar 
 Unidad 5 - Pruebas finales, demostración y análisis de datos 
UNIDADES EXTRA 
El curso también viene con un módulo especial con algunas 
unidades adicionales: 
 ESP32 Dirección IP estática/fija 
 ESP32 Dual Core – Crear tareas 
 ESP32 SPIFFS (Sistema de archivos flash SPI) 
 Cree un servidor web ESP32 utilizando archivos del sistema 
de archivos (SPIFFS) 
 ESP32 Programación (OTA) - Web Updater 
 Referencia de pines ESP32: ¿Qué pines GPIO debería usar? 
 
Componentes necesarios 
Para seguir correctamente este curso, necesita algunos 
componentes electrónicos. En cada Módulo proporcionamos una 
lista completa de las piezas necesarias y enlaces a Maker Advisor, 
para que pueda encontrar la pieza que busca en tu tienda favorita al 
mejor precio. Si compra sus piezas a través de los enlaces de 
Maker Advisor, ganaremos una pequeña comisión de afiliado (no 
pagarás más por ello). Al obtener sus piezas a través de nuestros 
enlaces de afiliados, usted está apoyando nuestro trabajo. Si hay un 
componente o herramienta que está buscando, le recomendamos 
que eche un vistazo a nuestras herramientas y piezas favoritas 
aquí. 
https://makeradvisor.com/tools/ 
Nota: para obtener la lista completa de piezas, consulte el Apéndice 
al final de este libro. 
 
 
 
 
 
 
 
 
 
Unidad 1: Introducción a ESP32 
 
Presentamos la placa ESP32 
Esta unidad es una introducción al ESP32, que es el sucesor del 
ESP8266. El ESP32 está dotado con un montón de nuevas 
características. Ahora combina Wi-Fi y Bluetooth. 
 
Hay muchas placas de desarrollo ESP32. Te animo a visitar el sitio 
web ESP32.net donde se enumeran cada chip ESP32 y sus placas 
de desarrollo, compara sus diferencias y características. 
 
 
Presentamos la placa ESP32 DOIT DEVKIT V1 
Para este curso, usaremos la placa ESP32 DEVKIT V1 DOIT, pero 
cualquier otra ESP32 con el chip ESP-WROOM-32 funcionará bien. 
 
 
 
Estos son solo algunos ejemplos de placas que son muy similares y 
compatibles con los proyectos que se presentarán a lo largo de este 
curso. 
 
Proporcionaremos una guía más detallada que permita comparar 
las diferencias entre las principales placas de desarrollo ESP32 y 
cómo poder identificarlas. En resumen, cualquier placa ESP32 
debería funcionar con este curso con pequeños cambios de 
conexión. 
Características 
Echemos un vistazo más de cerca a la placa. Viene con el chip 
ESP-WROOM-32. Tiene un regulador de voltaje de 3.3V que reduce 
el voltaje de entrada para alimentar el chip ESP32 y también viene 
con un chip CP2102 que te permite conectar el ESP32 a tu 
computadora para programarlo sin necesidad de un programador 
FTDI. 
 
La placa tiene dos botones integrados: el botón ENABLE y el botón 
BOOT. 
 
Si presiona el botón ENABLE, se reinicia su ESP32. Si mantienes 
presionado el botón BOOT y luego presionas ENABLE, el ESP32 se 
reinicia en modo de programación. No necesitas preocuparte por 
estos detalles en este momento, porque los exploraremos en las 
próximas secciones. 
Si no sabe dónde obtener el ESP32, puede consultar en la página 
de Maker Advisor. 
Especificaciones 
Cuando se trata de las especificaciones del chip ESP32, 
encontraremos que: 
 El ESP32 es dual core, esto quiere decir que tiene 2 
procesadores. 
 Tiene Wi-Fi y bluetooth incorporados. 
 Ejecuta programas de 32 bits. 
 La frecuencia de reloj puede llegar hasta los 240MHz y tiene 
una memoria RAM de 512 kB. 
 Este placa en particular tiene 30 pines, 15 en cada fila. (Hay 
una nueva versión de esta placa con 36 pines.) 
 También tiene una amplia variedad de periféricos disponibles, 
como: táctil capacitivo, ADC, DAC, UART, SPI, I2C y muchos 
más. Exploraremos estas funcionalidades más adelante en el 
curso. 
 
 
Pines del ESP32 
La siguiente figura describe claramente los GPIO de la placa y sus 
funcionalidades. Nosotros recomendamos imprimir esta imagen 
para una futura referencia. Puedes descargar el pinout en archivos 
.pdf o .png: 
https://github.com/RuiSantosdotme/ESP32-
Course/raw/master/img/ESP32-DOIT-DEVKIT-V1-Board-Pinout.pdf 
https://github.com/RuiSantosdotme/ESP32-
Course/raw/master/img/ESP32-DOIT-DEVKIT-V1-Board-Pinout-30-
GPIOs.png 
https://github.com/RuiSantosdotme/ESP32-
Course/raw/master/img/ESP32-DOIT-DEVKIT-V1-Board-Pinout-36-
GPIOs.png 
 
 
 
 
Nota: Para saber más sobre los GPIO del ESP32, recomendamos 
echar un vistazo a la Guía en la sección ESP32 GPIOS al final del 
eBook. Puedes consultar cuales son los pines necesarios para cada 
proyecto y cuales debe evitar usar. 
Entornos de programación 
El ESP32 se puede programar en diferentes entornos de desarrollo. 
Puedes usar el Arduino IDE, Espressif IDF (marco de desarrollo de 
IoT), Micropython, JavaScript, LUA, entre otros. Este curso se 
enfocara en programar el ESP32 con el IDE de Arduino. 
 
Vaya a la siguiente sección para aprender cómo configurar el 
ESP32 en el IDE de Arduino. 
 
 
 
 
 
 
 
 
 
Unidad 2 - Instalación de ESP32 en Arduino IDE (Windows, Mac 
OS X y Linux) 
Importante: Antes de iniciar la instalación, asegúrese de tener 
instalada la última versión del IDE de Arduino en su computadora. 
Si no, desinstálelo e instálele la versión más actual, de lo contrario 
es posible que no funcione. 
El ESP32 se está integrando actualmente en el IDE de Arduino tal 
como se hizo para el ESP8266. Este complemento para Arduino 
IDE le permite programar el ESP32 usando el Arduino IDE y su 
lenguaje de programación. Puede encontrar las últimas 
instrucciones de Windows en el repositorio oficial de GitHub. 
https://github.com/espressif/arduino-
esp32/blob/master/docs/arduino-ide/windows.md 
NOTA IMPORTANTE: 
1. Si es la primera vez que instala el ESP32 en el IDE de Arduino, 
simplemente siga el procedimiento de instalación descrito a 
continuación. 
2. Si ya instaló el complemento ESP32 con el método anterior, debe 
elimine primero la carpeta espressif. Vaya al final de esta Unidad 
para aprender a eliminar la carpeta espressif. 
1. Instalación de la placa ESP32 
Para instalar la placa ESP32 en tu Arduino IDE, sigue las 
siguientes instrucciones: 
1) Abra la ventana de preferencias desde el IDE de Arduino. Ir a 
Archivo →Preferencias 
2) Ingrese https://dl.espressif.com/dl/package_esp32_index.json 
en la sección “Gestor de URLs adicionales de tarjetas” como 
se muestra en la siguiente figura. Luego, haga clic en el 
botón “OK”. 
Nota: si ya tiene la URL de las placas ESP8266, puede 
separar las URL con un coma de la siguiente manera: 
https://dl.espressif.com/dl/package_esp32_index.json, 
http://arduino.esp8266.com/stable/package_esp8266com_index.json 
 
3) Abrir Gestor de tarjetas. Vaya a Herramientas →Placa → 
Gestor de tarjetas… 
 
4) Busque ESP32 y presione el botón de instalación para 
“ESP32 by Espressif Systems”: 
 
Prueba de la instalación 
Conecte su placa ESP32 DOIT DEVKIT V1 a su computadora. 
Luego, sigue estos pasos: 
1) Abra el IDE de Arduino 
2) Seleccione su placa en Herramientas →Placa (en nuestro 
caso es el DOIT ESP32 DEVKIT V1) 
 
3) Seleccione el puerto (si no ve el puerto COM en su IDE de 
Arduino, debe instalar los controladores ESP32 CP210x USB 
a UART Bridge VCP): 
 
4) Abra el siguiente ejemplo en Archivo →Ejemplos → WiFi 
(ESP32) → WiFi Scan 
 
 
 
 
 
 
 
 
5) Se abrirá un nuevo Sketch: 
 
6) Presione el botón Subir en el IDE de Arduino . Espere 
unos segundos mientras se compila el código y sube al 
ESP32. 
7) Si todo salió como se esperaba, debería ver un mensaje 
“Carga finalizada”. 
 
8) Abra el monitor serial de Arduino IDE a una velocidad de 
transmisión de 115200: 
9) Presione el botón ENABLE del ESP32 y debería ver las 
redes disponibles cercanas al ESP32: 
 
Este es un tutorial muy básico que ilustra cómo preparar su Arduino 
IDE para el ESP32 en su computadora. 
2. Eliminación de la carpeta espressif 
Si es la primera vez que instala el ESP32 en el IDE de Arduino, 
puede ignorar esta sección. 
Si ha seguido el procedimiento de instalación anterior y ha 
instalado manualmente el ESP32 con Git GUI, debe eliminar la 
carpeta espressif de su IDE de Arduino. 
Para encontrar su carpeta espressif y la ubicación del IDE de 
Arduino (ruta de instalación), abra su 
Arduino IDE y vaya a Archivo →Preferencias: 
 
 Copia la localización del archivo del proyecto: 
 
Vaya al directorio de ubicación de su Arduino IDE: 
C:\Users\ruisantos\Documents\Arduino y abra la carpeta de 
hardware: 
 
Luego, elimine la carpeta espressif: 
 
Tomamos esas capturas de pantalla usando Windows 10, pero se 
realiza un procedimiento muy similar para Mac OS X y Linux. 
 
 
 
Sugerencia para la resolución de problemas n. º 1: 
“Error al conectarse a ESP32: Tiempo agotado... Conectando...” 
Cuando intenta cargar un nuevo proyecto a su ESP32 y no se 
conecta a su placa, significa que su ESP32 no está en modo de 
carga/parpadeo. Tener el nombre correcto de la placa y puerto 
COM correspondiente, siga estos pasos: 
 Mantenga presionado el botón “BOOT” en su tablero ESP32. 
 Presione el botón “Subir” en el IDE de Arduino para cargar un 
nuevo Sketch: 
Después de ver el mensaje “Conectando...” en su Arduino IDE, 
suelte el dedo del botón “ENABLE”: 
 
Después de eso, debería ver el mensaje “Terminó de cargar”. 
Sugerencia para la solución de problemas n. º 2: 
Puerto COM no encontrado/no disponible 
Si conecta su placa ESP32 a su computadora, pero no puede 
encontrar el puerto ESP32 disponible en tu IDE de Arduino (está 
atenuado): 
 
Puede ser uno de estos dos problemas: 
1. Faltan los controladores USB 
2. Cable USB sin cables de datos 
1. Si no ve el puerto COM de su ESP disponible, es posible que 
no esté instalado el controlador USB. Observe el chip al lado 
del regulador de voltaje de la placa y compruebe su nombre. 
La placa ESP32 DEVKIT V1 DOIT utiliza el chip CP2102. 
 
Vaya a Google y busque su chip en particular para encontrar los 
controladores e instalarlos en tu sistema operativo. 
 
Puede descargar los controladores CP2102 en el sitio web de 
Silicon Labs. 
 
Después de que estén instalados, reinicie Arduino IDE y debería ver 
el puerto COM en el Menú de herramientas. 
2. Si tiene los controladores instalados, pero no puede ver su 
dispositivo, vuelva a verificar que está utilizando un cable USB 
con cables de datos. Los cables USB de los powerbanks a 
menudo no tienen cables de datos (son sólo de carga). Por lo 
tanto, su computadora nunca establecerá una comunicación 
serial con su ESP32. El uso de un cable USB adecuado 
debería resolver su problema. 
Unidad 3 - Cómo usar su ESP32 en este 
curso 
Para este curso, usaremos la placa ESP32 DEVKIT V1 DOIT, pero 
cualquier otra ESP32 con el chip ESP-WROOM-32 debería 
funcionar bien. 
 
Estos son solo algunos ejemplos de tableros que son compatibles 
con este curso. 
Hay muchas placas de desarrollo ESP32 disponibles, y si tiene una 
placa diferente a estos, también puede seguir el curso. 
 
 
Cómo usar su placa ESP32 con este curso 
Para facilitar el seguimiento, independientemente de la placa 
ESP32 que esté utilizando, hemos creado esta sección para 
mostrarle qué cambios debe hacer para que su ESP32 funcione. 
Solo debes tener en cuenta dos cosas: 
1) Cómo conectar un circuito a tu ESP32 
2) Seleccionar la placa correcta en el IDE de Arduino 
Visitando la página del producto 
Para hacerlo, primero debe identificar su placa ESP32. Un buen 
lugar para comenzar es abriendo la página del producto donde 
compró su ESP32. He pedido el mío por Banggood y aquí está la 
página del producto. 
 
Tenga en cuenta que algunos proveedores agregarán todo tipo de 
palabras clave al nombre de su producto, por lo que podría estar 
pensando que está ordenando una placa ESP-32S NodeMCU pero 
en realidad compré una placa ESP32 DOT IT. 
Aunque son muy similares, son diferentes. 
Nombre de la placa ESP32 
Después de leer la página de su producto ESP32, debería saber el 
nombre de placa. Pero si aún tienes dudas, puedes echar un 
vistazo al reverso de la tarjeta. 
El nombre suele estar impreso con serigrafía. En mi caso, se puede 
ver claramente que esta es la placa ESP32 DEVKIT V1 DOIT. 
 
Si tiene un NodeMCU ESP32, la siguiente figura muestra cómo se 
ve (este dice NodeMCU ESP-32S). 
 
Pines del ESP32 
Saber el nombre de tu placa es muy importante para que puedas 
buscar su pinout. 
Ahora puede ir a Google y buscar el pinout de su placa de 
desarrollo. Buscar el nombre de su tarjeta ESP32 y agregue la 
palabra clave “pinout” al final. 
 
Luego, busque una imagen que tenga el mismo pinout que su 
ESP32. Aquí está el ESP32 DEVKIT 
Asignación de pines de la placa V1 DOIT: 
 
 
También recomiendo visitar el sitio web ESP32.net ya que 
proporciona una lista extensa con nombres y cifras para todas las 
placas de desarrollo ESP32 conocidas. 
Blink – Sketch de ejemplo 
Echemos un vistazo a un proyecto de ejemplo para mostrarle de 
qué debe preocuparse, si quiere construir un circuito simple que 
parpadee un LED con el ESP32. Copia el siguiente código al IDE de 
Arduino: 
CODIGO FUENTE: https://github.com/RuiSantosdotme/ESP32-
Course/blob/master/code/Blink_LED/Blink_LED.ino 
/* 
Blink 
*/ 
// ledPin refers to ESP32 GPIO 23 
const int ledPin = 23; 
// the setup function runs once when you press reset or power the 
board 
void setup() 
{ 
// initialize digital pin ledPin as an output. 
pinMode(ledPin, OUTPUT); 
} 
// the loop function runs over and over again forever 
void loop() 
{ 
digitalWrite(ledPin, HIGH); // turn the LED on (HIGH is the 
voltaje level) 
delay(1000); // wait for a second 
digitalWrite(ledPin, LOW); // turn the LED off by making the 
voltaje LOW 
delay(1000); // wait for a second 
} 
Como puede ver, debe conectar el LED al pin 23 que se refiere a 
GPIO 23: 
const int ledPin = 23; 
Si está utilizando la placa ESP32 DEVKIT V1 DOIT, debe conectar 
su LED al primer PIN en la esquina superior derecha. 
 
Pero si está utilizando la placa NodeMCU ESP-32S, GPIO 23 se 
encuentra en el segundo pin de la esquina superior derecha, como 
se muestra en la siguiente figura. 
 
Importante: siempre verifique el pinout de su placa, antes de 
construir cualquier circuito. 
Esquemático 
Aquí hay una lista de componentes que necesita para ensamblar el 
circuito: 
 Placa ESP32 DOIT DEVKIT V1 
 LED de 5 mm 
 Resistencia de 330 ohmios 
 Cables 
 Protoboard (opcional) 
Siga el siguiente esquema para conectar el LED a la placa ESP32 
DEVKit DOIT (también verifique donde esta GND en su tarjeta). 
 
(Este esquema usa la versión del módulo ESP32 DEVKITV1 con 
30 GPIO; si está usando otro modelo, compruebe el pinout de la 
placa que está utilizando). 
 
Preparando el IDE de Arduino 
Después de conectar un LED a la placa ESP32 GPIO 23, debe ir a 
Herramientas →Placa, desplácese hacia abajo hasta la sección 
ESP32 y seleccione el nombre de su tarjeta ESP32. En mi caso es 
la placa DOIT ESP32 DEVKIT V1. 
 
 
Mientras tiene el ESP32 conectado a su computadora. Vaya a 
Herramientas → Puerto y seleccione el puerto COM disponible. 
 
 
Cargando el Sketch 
Regrese al IDE de Arduino, presione el botón de Subir y espere 
unos segundos mientras compila y sube tu proyecto. 
El LED conectado a GPIO 23 debe parpadear cada dos segundos. 
 
Resumiendo 
Estos son los pasos que debe seguir: 
 Vaya a la página del producto para ver si encuentra alguna 
información relevante que le permita identificar su placa. 
 Verifique la parte posterior de su placa para ver el nombre de 
su ESP32. 
 Use el sitio web esp32.net para encontrar más información 
sobre su tarjeta. 
 Use la búsqueda de imágenes de Google para encontrar el 
pinout de su tablero e imprímalo para usarlo como referencia. 
 Al cablear cualquier circuito, siempre verifique que esté 
conectando los componentes al GPIO correcto. 
 Para cargar el código, seleccione la placa correcta en el IDE y 
puerto COM. 
Eso es todo. Espero que esto te haya sido útil y te facilite el uso de 
este curso, independientemente de su placa de desarrollo ESP32. 
 
 
 
 
 
 
 
 
 
 
 
 
 
Unidad 4: Haga que su ESP32 sea 
compatible con protoboards 
El ESP32 no es compatible con protoboards. Sin embargo, puedes 
hacer tus protoboards sean compatibles con ESP32. En esta 
unidad, le mostraremos cómo hacerlo. 
 
Nota: este consejo fue compartido por Geo Massar, uno de nuestros 
lectores. ¡Gracias! 
ESP32 en dos protoboards 
Por lo general, las placas de prueba vienen con dos rieles de 
alimentación en cada lado. Separe un riel de alimentación de su 
protoboard, como se muestra en la siguiente figura. 
 
Repita este proceso para el otro protoboard: 
 
Luego, inserte el ESP32 en ambos. 
 
Ahora, es más fácil crear prototipos de circuitos con el ESP32 
utilizando dos protoboards. 
 
 
 
 
Unidad 1 - Entradas y Salidas Digitales 
ESP32 
 
En esta sección, le mostraremos cómo leer entradas digitales 
conectadas a un interruptor de botón y cómo controlar una salida 
digital conectada a un LED. Si ha programado anteriormente un 
Arduino o un ESP8266 con Arduino IDE, esto no será nuevo para ti. 
digitalWrite() 
Para controlar una salida digital solo necesita usar la función 
digitalWrite(), que acepta como argumentos, el GPIO que se usara y 
el estado, ya sea HIGH o LOW. 
digitalWrite(GPIO, ESTADO) 
digitalRead() 
Para leer una entrada digital, como un botón, usa la función 
digitalRead(), que acepta como argumento, el GPIO que usaras. 
digitalRead(GPIO) 
 
 
 
Ejemplo: 
Hagamos un ejemplo simple para ver cómo funcionan estas 
funciones con el ESP32 usando el IDE de Arduino. En este ejemplo, 
leerá el estado de un botón y encenderá un LED respectivamente. 
Esquema del proyecto: 
Aquí hay una lista de piezas que necesita para ensamblar el 
circuito: 
 Tablero ESP32 DOIT DEVKIT V1 
 LED de 5 mm 
 Resistencia de 330 ohmios 
 Pulsador 
 Resistencia de 10k ohmios 
 Protoboard 
 Cables 
Ensamble un circuito con un pulsador y un LED como se muestra 
en el siguiente diagrama: 
 LED <->GPIO 16 
 Pulsador <-> GPIO 4 
 
(Este esquema usa la versión del módulo ESP32 DEVKIT V1 con 
30 GPIO; si está usando otro modelo, compruebe el pinout de la 
placa que está utilizando). 
Código 
Con el circuito listo, copie el código proporcionado a continuación 
en su IDE de Arduino. 
CODIGO FUENTE: https://github.com/RuiSantosdotme/ESP32-
Course/blob/master/code/Button_LED/Button_LED.ino 
// set pin numbers 
const int buttonPin = 4; // the number of the pushbutton pin 
const int ledPin = 16; // the number of the LED pin 
// variable for storing the pushbutton status 
int buttonState = 0; 
void setup() 
{ 
Serial.begin(115200); 
// initialize the pushbutton pin as an input 
pinMode(buttonPin, INPUT); 
// initialize the LED pin as an output 
pinMode(ledPin, OUTPUT); 
} 
void loop() 
{ 
// read the state of the pushbutton value 
buttonState = digitalRead(buttonPin); 
Serial.println(buttonState); 
// check if the pushbutton is pressed. 
// if it is, the buttonState is HIGH 
if (buttonState == HIGH) 
{ 
// turn LED on 
digitalWrite(ledPin, HIGH); 
} 
else 
{ 
// turn LED off 
digitalWrite(ledPin, LOW); 
} 
} 
 
Echemos un vistazo más de cerca al código. 
En las siguientes dos líneas, crea variables para asignar pines: 
const int buttonPin = 4; // el número del pin del pulsador 
const int ledPin = 16; // el número del pin LED 
El botón está conectado a GPIO4 y el LED está conectado a 
GPIO16. Al usar el Arduino IDE con el ESP 32, 4 corresponde a 
GPIO4 y 16 corresponde a GPIO16. A continuación, crea una 
variable para mantener el estado del botón. 
int buttonState = 0; 
 
En la void setup() ,inicializa el botón como ENTRADA y el LED 
como SALIDA. Para eso, utiliza la función pinMode () que acepta el 
pin al que se refiere y el estado, ENTRADA o SALIDA. 
pinMode(buttonPin, INPUT); 
pinMode(ledPin, OUTPUT); 
 
En void loop() es donde lee el estado del botón y configura el LED 
en consecuencia. 
En la siguiente línea, lee el estado del botón y lo guarda en la 
variable buttonState. Como hemos visto anteriormente, utiliza la 
función digitalRead(). 
buttonState = digitalRead(buttonPin); 
 
La siguiente instrucción if verifica si el estado del botón es ALTO. Si 
es así, enciende el LED usando la función digitalWrite() que acepta 
como argumento el ledPin, y el estado ALTO. 
if (buttonState == HIGH) 
{ 
// turn LED on 
digitalWrite(ledPin, HIGH); 
} 
Si el estado del botón no es ALTO, apaga el LED escribiendo BAJO 
en la función digitalWrite(). 
else { 
// turn LED off 
digitalWrite(ledPin, LOW); 
} 
 
 
 
Cargando el Sketch 
 
Antes de hacer clic en el botón de carga, vaya a Herramientas → 
Placa y seleccione la tarjeta que está usando. En mi caso. Es la 
placa DOIT ESP32 DEVKIT V1. Además, no olvides seleccionar el 
puerto COM de tu ESP32. 
 
Ahora, presione el botón de Subir. 
Luego, espere el mensaje "Terminó de cargar". 
 
 
 
Probando su proyecto 
Después de cargar el código, pruebe su circuito. Tu LED debe 
encenderse cuando presionas el botón: 
 
Y apaga cuando lo sueltes: 
 
Y para terminar. 
En resumen, en esta sección ha aprendido cómo leer entradas 
digitales y cómo controlar salidas digitales con el ESP32 utilizando 
el IDE de Arduino. 
Unidad 2 - Sensor táctil ESP32 
 
En esta sección, aprenderá sobre el sensor táctil ESP32. 
Introducción al sensor táctil ESP32 
El ESP32 tiene 10 GPIO táctiles capacitivos. Estos GPIO pueden 
detectar variaciones en cualquier organismo u objeto que tenga 
carga eléctrica, como la piel humana. Puede detectar variaciones 
inducidas al tocar los GPIO con un dedo. 
Estos pines se pueden integrar fácilmente en almohadillas 
capacitivas y reemplazar botones mecánicos. 
Eche un vistazo al pinout de su placa para ubicar los 10 sensores 
táctiles diferentes: el sensor táctil los pines sensibles están 
resaltados en color rosa. 
 
Vera que el sensor táctil 0 corresponde a GPIO 4, el sensor táctil 2 
a GPIO 2, y así sucesivamente. 
Nota: El sensor táctil 1 es GPIO 0. Sin embargo, no está disponible 
como pin en este ESP32 (versión con 30 GPIOs). Pero si está 
disponible en la nueva versión de 36 pines. 
Nota: Al momento de escribir esta unidad, hay un problema con la 
asignación del pin táctil en IDE de Arduino, el GPIO 33 se 
intercambia con GPIO 32. Esto significa que si desea referirse a 
GPIO 32, debe usar T8 en el código y si desea hacer referencia a 
GPIO33 debería usar T9. Si no tiene este problema, ignore esta 
nota. 
touchRead() 
La lectura del sensor táctil es sencilla.En el IDE de Arduino, usas la 
función touchRead(), que acepta como argumento el GPIO que 
quieres leer. 
touchRead(GPIO) 
Código: lectura del sensor táctil 
Veamos cómo funciona esa función usando un ejemplo de la 
biblioteca en el Arduino IDE, vaya a Archivo → Ejemplos → ESP32 
→ Touch y abra el sketch TouchRead. 
https://github.com/RuiSantosdotme/ESP32-
Course/blob/master/code/TouchRead/TouchRead.ino 
// ESP32 Touch Test 
// Just test touch pin - Touch0 is T0 which is on GPIO 4. 
void setup() 
{ 
Serial.begin(115200); 
delay(1000); // give me time to bring up serial monitor 
Serial.println("ESP32 Touch Test"); 
} 
void loop() 
{ 
Serial.println(touchRead(4)); // get value of Touch 0 pin = GPIO 4 
delay(1000); 
} 
 
 
Este ejemplo lee el pin táctil 0 y muestra los resultados en el 
monitor serial. 
El pin T0 (touch pin 0), corresponde a GPIO 4, como hemos visto 
anteriormente en el pinout. 
En este código, en setup (), comienza inicializando el Monitor en 
serie para mostrar las lecturas del sensor. 
Serial.begin(115200); 
En el loop () es donde se lee el sensor. 
Serial.println(touchRead(4)); 
Utiliza la función touchRead(), y le pasas como argumento el pin 
que quieres leer. En este caso se usa T0, que es el sensor táctil 0, 
de GPIO 4. 
Ahora, sube el código a tu placa ESP32. Y asegúrate de tener la 
tarjeta y puerto COM correctos. 
Probando el ejemplo 
Conecte un cable de puente a GPIO 4. Toca la parte metálica de 
este cable para que detecte el toque. En la ventana del IDE de 
Arduino, vaya a Herramientas y abra el Monitor serie en 115200 
baudios. Verá los valores que se muestran cada segundo y que 
estos disminuyen. 
 
También puede usar el serial plotter para ver mejor los valores. 
Cierra el monitor serial, ve a Herramientas → SerialPlotter. 
 
 
LED sensible al tacto 
¿Cómo puede usar esta función para controlar las salidas? 
Construyamos un simple circuito con LED controlado por toque. 
Encontrar el umbral 
Toma un trozo de papel de aluminio, corta un cuadrado pequeño y 
envuélvelo alrededor del cable como en la siguiente figura. 
 
Con el mismo código ejecutándose, regrese al monitor serial. 
Ahora, toca el papel de aluminio y verás que los valores cambian 
nuevamente. 
 
En nuestro caso, cuando no estamos tocando el pin, el valor normal 
está por encima de 70. Y cuando tocamos el papel aluminio, cae a 
algún valor por debajo de 10. 
Entonces, podemos establecer un valor de umbral, y cuando la 
lectura cae por debajo de ese valor, un LED se ilumina. Un buen 
valor de umbral en este caso podría ser 20. 
Esquemático 
Agregue un LED a su circuito siguiendo este esquema. El LED debe 
estar conectado a GPIO 16. 
Aquí hay una lista de las piezas que necesita para construir el 
circuito: 
 ESP32 DOIT DEVKIT V1 
 LED de 5 mm 
 Resistencia de 330 ohmios 
 Protoboard 
 Cables 
 
(Este esquema usa la versión del módulo ESP32 DEVKIT V1 con 
30 GPIO; si está usando otro modelo, compruebe el pinout de la 
placa que está utilizando). 
 
Código 
 
Copie el siguiente código en su IDE de Arduino. 
 
https://github.com/RuiSantosdotme/ESP32-
Course/blob/master/code/Touch_Sensitive_LED/Touch_Sensitive_L
ED.ino 
 
 
 
 
 
 
// set pin numbers 
const int touchPin = 4; 
const int ledPin = 16; 
// change with your threshold value 
const int threshold = 20; 
// variable for storing the touch pin value 
int touchValue; 
void setup(){ 
Serial.begin(115200); 
delay(1000); // give me time to bring up serial monitor 
// initialize the LED pin as an output: 
pinMode (ledPin, OUTPUT); 
} 
void loop(){ 
// read the state of the pushbutton value: 
touchValue = touchRead(touchPin); 
Serial.print(touchValue); 
// check if the touchValue is below the threshold 
// if it is, set ledPin to HIGH 
if(touchValue < threshold){ 
// turn LED on 
digitalWrite(ledPin, HIGH); 
Serial.println(" - LED on"); 
} 
else{ 
// turn LED off 
digitalWrite(ledPin, LOW); 
Serial.println(" - LED off"); 
} 
delay(500); 
} 
 
Este código lee el valor táctil del pin que hemos definido y enciende 
un LED cuando el valor está por debajo del umbral (cuando coloca 
el dedo en el papel aluminio). 
 
Prueba del proyecto 
 
Sube el programa a tu ESP32. Ahora, prueba tu circuito. Toque el 
papel de aluminio y ve si el LED se enciende. 
En conclusión. 
En resumen, en esta sección has aprendido: 
 El ESP32 tiene 10 GPIO táctiles capacitivos, pero solo 9 están 
disponibles con el ESP32 DEVKIT V1 DOIT (con 30 pines). 
 Cuando toca un GPIO sensible al tacto, el valor leído por el 
sensor cae. 
 Puede establecer un valor de umbral para hacer que suceda 
algo cuando detecta un toque.

Otros materiales

Materiales relacionados