Lecturas Analógicas ESP32 - ESP8266 Con MicroPython - Tutoriales Aleatorios de Nerds
Lecturas Analógicas ESP32 - ESP8266 Con MicroPython - Tutoriales Aleatorios de Nerds
https://randomnerdtutorials.com/esp32-esp8266-analog-readings-micropython/ 1/23
28/2/2021 Lecturas analógicas ESP32 / ESP8266 con MicroPython | Tutoriales aleatorios de nerds
Obtener lecturas analógicas con ESP32 y ESP8266 es un poco diferente, por lo que hay una sección para cada placa en
EBooks gratuitos Sobre Contacto Cursos Iniciar sesión Obtener cursos
este tutorial.
Prerrequisitos
Para seguir este tutorial, necesita el rmware MicroPython instalado en sus placas ESP32 o ESP8266. También necesita
un IDE para escribir y cargar el código en su tablero. Sugerimos usar Thonny IDE o uPyCraft IDE:
Thonny IDE:
Instalación y primeros pasos con Thonny IDE
Actualización del rmware de MicroPython con esptool.py
IDE de uPyCraft:
Instale uPyCraft IDE ( Windows , Mac OS X , Linux )
Flash / Cargar rmware MicroPython a ESP32 y ESP8266
Note: some versions of the ESP8266 only read a maximum of 1V on the ADC pin. Make sure you don’t exceed the
maximum recommended voltage for your board.
There are several pins on the ESP32 that can act as analog pins – these are called ADC pins. All the following GPIOs can
act as ADC pins: 0, 2, 4, 12,EBooks
13, 14,gratuitos Sobre
15, 25, 26, 27, 32, 33,Contacto Cursos Iniciar sesión
34, 35, 36, and 39. Obtener cursos
Learn more about the ESP32 GPIOs: ESP32 Pinout Reference: Which GPIO pins should you use?
ESP32 ADC pins have 12-bit resolution by default. These pins read voltage between 0 and 3.3V and then return a value
between 0 and 4095. The resolution can be changed on the code. For example, you may want to have just 10-bit
resolution to get a value between 0 and 1023.
La siguiente tabla muestra algunas diferencias entre la lectura analógica en el ESP8266 y el ESP32.
ESP8266 ESP32
https://randomnerdtutorials.com/esp32-esp8266-analog-readings-micropython/ 3/23
28/2/2021 Lecturas analógicas ESP32 / ESP8266 con MicroPython | Tutoriales aleatorios de nerds
Cambiar resolución No sí
Esquemático
La lectura analógica funciona de manera diferente en ESP32 y ESP8266. Hay un esquema diferente y un script diferente
para cada tablero.
Para seguir este tutorial, debe conectar un potenciómetro a su placa ESP8266 o ESP32.
Piezas necesarias
Aquí hay una lista de las piezas que necesita para construir el circuito:
Puede utilizar los enlaces anteriores o ir directamente a MakerAdvisor.com/tools para encontrar todas las piezas para
sus proyectos al mejor precio.
https://randomnerdtutorials.com/esp32-esp8266-analog-readings-micropython/ 4/23
28/2/2021 Lecturas analógicas ESP32 / ESP8266 con MicroPython | Tutoriales aleatorios de nerds
Esquema - ESP32
Siga el siguiente diagrama esquemático si está utilizando una placa ESP32:
En este ejemplo estamos usando GPIO 34 para leer valores analógicos del potenciómetro, pero puede elegir cualquier
otro GPIO que admita ADC. Lea nuestra Guía de con guración de pines ESP32 para obtener más información sobre los
GPIO ESP32.
Esquema: ESP8266
https://randomnerdtutorials.com/esp32-esp8266-analog-readings-micropython/ 5/23
28/2/2021 Lecturas analógicas ESP32 / ESP8266 con MicroPython | Tutoriales aleatorios de nerds
Texto
Hay algunas diferencias cuando se trata de lectura analógica en ESP32 y ESP8266 con respecto al código. Debes escribir
un guión ligeramente diferente según el tablero que estés usando. Asegúrese de seguir el código de su placa especí ca.
EBooks
# Complete project details gratuitos Sobre Contacto
at https://RandomNerdTutorials.com Cursos Iniciar sesión Obtener cursos
pot = ADC(Pin(34))
pot.atten(ADC.ATTN_11DB) #Full range: 3.3v
while True:
pot_value = pot.read()
print(pot_value)
sleep(0.1)
Para leer entradas analógicas, importe el ADC clase además de la Alfiler clase de la máquina módulo. También
importamos dormir método.
https://randomnerdtutorials.com/esp32-esp8266-analog-readings-micropython/ 7/23
28/2/2021 Lecturas analógicas ESP32 / ESP8266 con MicroPython | Tutoriales aleatorios de nerds
pot = ADC(Pin(34)) EBooks gratuitos Sobre Contacto Cursos Iniciar sesión Obtener cursos
pot.atten(ADC.ATTN_11DB)
Esto signi ca que queremos leer el voltaje de 0 a 3.3V. Esto corresponde al ajuste de la relación de atenuación de 11db.
Para eso, usamos el aten () método y pasar como argumento: ADC.ATTN_11DB .
En el mientras bucle, lea el valor del bote y guárdelo en el pot_value variable. Para leer el valor del bote, simplemente
use el leer() método en el maceta objeto.
pot_value = pot.read()
https://randomnerdtutorials.com/esp32-esp8266-analog-readings-micropython/ 8/23
28/2/2021 Lecturas analógicas ESP32 / ESP8266 con MicroPython | Tutoriales aleatorios de nerds
print(pot_value) EBooks gratuitos Sobre Contacto Cursos Iniciar sesión Obtener cursos
sleep(0.1)
Cuando gira el potenciómetro, obtiene valores de 0 a 4095; eso se debe a que los pines ADC tienen una resolución de 12
bits por defecto. Es posible que desee obtener valores en otros rangos. Puede cambiar la resolución usando el ancho()
método de la siguiente manera:
ADC.width(bit)
Por ejemplo:
ADC.width(ADC.WIDTH_12BIT)
https://randomnerdtutorials.com/esp32-esp8266-analog-readings-micropython/ 9/23
28/2/2021 Lecturas analógicas ESP32 / ESP8266 con MicroPython | Tutoriales aleatorios de nerds
En resumen:
EBooks gratuitos Sobre Contacto Cursos Iniciar sesión Obtener cursos
pot = ADC(0)
while True:
pot_value = pot.read()
print(pot_value)
sleep(0.1)
Para leer entradas analógicas, importe el ADC clase además de la Alfiler clase de la máquina módulo. También
EBooks gratuitos Sobre Contacto Cursos Iniciar sesión Obtener cursos
importamos dormir método.
pot = ADC(0)
Nota: ADC0 (A0) es el único pin del ESP8266 que admite lectura analógica.
En el bucle, lea el valor del bote y guárdelo en el pot_value variable. Para leer el valor del bote, use el leer() método
en el maceta objeto.
pot_value = pot.read()
print(pot_value)
https://randomnerdtutorials.com/esp32-esp8266-analog-readings-micropython/ 11/23
28/2/2021 Lecturas analógicas ESP32 / ESP8266 con MicroPython | Tutoriales aleatorios de nerds
sleep(0.1)
En resumen:
Demostración
Después de guardar el código en su placa ESP usando Thonny IDE o uPyCraft IDE , gire el potenciómetro.
https://randomnerdtutorials.com/esp32-esp8266-analog-readings-micropython/ 12/23
28/2/2021 Lecturas analógicas ESP32 / ESP8266 con MicroPython | Tutoriales aleatorios de nerds
Veri que la carcasa de su MicroPython IDE para leer los valores del potenciómetro. Si está utilizando un ESP32, debería
obtener lecturas entre 0 y 4095, o lecturas entre 0 y 1023 con un ESP8266.
https://randomnerdtutorials.com/esp32-esp8266-analog-readings-micropython/ 13/23
28/2/2021 Lecturas analógicas ESP32 / ESP8266 con MicroPython | Tutoriales aleatorios de nerds
Terminando
En este tutorial, le mostramos cómo leer valores analógicos usando MicroPython con las placas ESP32 y ESP8266. Hay
varios GPIO en el ESP32 que pueden leer valores analógicos. Por otro lado, el ESP8266 solo admite lecturas analógicas en
el A0 (ADC0) pin.
https://randomnerdtutorials.com/esp32-esp8266-analog-readings-micropython/ 14/23
28/2/2021 Lecturas analógicas ESP32 / ESP8266 con MicroPython | Tutoriales aleatorios de nerds
La lectura de valores analógicos con ESP32 y ESP8266 es ligeramente diferente, pero en resumen, debe crear un ADC
EBooks gratuitos Sobre
objeto, y luego use el leer() método para obtener losContacto
valores. Cursos Iniciar sesión Obtener cursos
Esperamos que este tutorial le haya resultado útil. Si recién está comenzando con MicroPython, es posible que también
le gusten los siguientes recursos:
https://randomnerdtutorials.com/esp32-esp8266-analog-readings-micropython/ 15/23
28/2/2021 Lecturas analógicas ESP32 / ESP8266 con MicroPython | Tutoriales aleatorios de nerds
Recommended Resources
Build a Home Automation System Home Automation using ESP8266 Arduino Step-by-Step Projects »
from Scratch » With Raspberry Pi, eBook and video course » Build IoT Build 25 Arduino projects with our
ESP8266, Arduino, and Node-RED. and home automation projects. course, even with no prior
experience!
https://randomnerdtutorials.com/esp32-esp8266-analog-readings-micropython/ 16/23
28/2/2021 Lecturas analógicas ESP32 / ESP8266 con MicroPython | Tutoriales aleatorios de nerds
ESP32 Async Web Server – Control Outputs with Power ESP32/ESP8266 with Solar Panels (includes
Arduino IDE (ESPAsyncWebServer library) battery level monitoring)
ESP8266 Client-Server Wi-Fi Communication ESP32 Bluetooth Classic with Arduino IDE – Getting
Between Two Boards (NodeMCU) Started
https://randomnerdtutorials.com/esp32-esp8266-analog-readings-micropython/ 17/23
28/2/2021 Lecturas analógicas ESP32 / ESP8266 con MicroPython | Tutoriales aleatorios de nerds
ESP8266 DS18B20 Temperature Sensor with ESP-NOW with ESP32: Receive Data from Multiple
Arduino IDE (Single, Multiple, Web Server) Boards (many-to-one)
Raimis Juodvalkis
March 15, 2020 at 3:23 am
Measurements was not consistent till we made 20K runs and average.
Code:
https://randomnerdtutorials.com/esp32-esp8266-analog-readings-micropython/ 18/23
28/2/2021 Lecturas analógicas ESP32 / ESP8266 con MicroPython | Tutoriales aleatorios de nerds
my oat = 0.0
number_of_runs = 20000
for x in range(number_of_runs):
pot_value = pot.read()
if x == 20000:
break
Reply
Sara Santos
15 de marzo de 2020 a las 4:35 pm
https://randomnerdtutorials.com/esp32-esp8266-analog-readings-micropython/ 19/23
28/2/2021 Lecturas analógicas ESP32 / ESP8266 con MicroPython | Tutoriales aleatorios de nerds
Hola.
EBooks gratuitos Sobre Contacto Cursos Iniciar sesión Obtener cursos
Gracias por compartir eso.
Puede leer más sobre la inexactitud del ESP32 ADC aquí: https://rntlab.com/question/the-adc-seems-
terrible/
Saludos,
Sara
Respuesta
Raimis Juodvalkis
24 de marzo de 2020 a las 12:44 pm
Me di cuenta de que la placa mide el voltaje correcto, solo los cables deben estar blindados y
conectados a tierra. Incluso los cables del voltímetro introducen mucho ruido. El cable de clavija de
entrada debe estar blindado y conectado a tierra.
Respuesta
Deja un comentario
https://randomnerdtutorials.com/esp32-esp8266-analog-readings-micropython/ 20/23
28/2/2021 Lecturas analógicas ESP32 / ESP8266 con MicroPython | Tutoriales aleatorios de nerds
Nombre *
Correo electrónico *
Sitio web
publicar comentario
https://randomnerdtutorials.com/esp32-esp8266-analog-readings-micropython/ 21/23
28/2/2021 Lecturas analógicas ESP32 / ESP8266 con MicroPython | Tutoriales aleatorios de nerds
https://randomnerdtutorials.com/esp32-esp8266-analog-readings-micropython/ 22/23
28/2/2021 Lecturas analógicas ESP32 / ESP8266 con MicroPython | Tutoriales aleatorios de nerds
https://randomnerdtutorials.com/esp32-esp8266-analog-readings-micropython/ 23/23