En esta guía rápida, aprenderás a obtener los datos de temperatura de ese sensor.
Te mostraremos dos métodos diferentes para hacerlo: usando lectura analógica y usando el módulo picozero.

Firmware de MicroPython
Para seguir este tutorial, necesitas tener el firmware de MicroPython instalado en tu placa Raspberry Pi Pico.
También necesitas un IDE para escribir y cargar el código en tu placa.
El IDE de MicroPython recomendado para la Raspberry Pi Pico es Thonny IDE.
El sensor de temperatura interna
El sensor de temperatura interno
de Raspberry Pi Picofunciona verificando el voltaje de un diodo especial conectado al
ADC4en Raspberry Pi Pico.

Según la hoja de datos, cuando la temperatura es de 27 grados Celsius, el voltaje es de alrededor de 0,706 V, y por cada grado que cambia la temperatura, el voltaje disminuye aproximadamente 1,721 mV.
Para encontrar la temperatura en Celsius usando el voltaje, puedes usar esta fórmula:
T = 27 - (ADC_voltage - 0.706)/0.001721Medir la temperatura con precisión con este sensor puede ser complicado debido a las variaciones de voltaje y pendiente entre dispositivos. Considérelo más como una herramienta de referencia que como un dispositivo de medición preciso. Es posible que deba realizar ajustes para mayor precisión.
Lectura de la temperatura mediante ADC
Para obtener la temperatura del sensor de temperatura interno, puede utilizar el siguiente código.
# Rui Santos & Sara Santos - Random Nerd Tutorials
# Complete project details at https://RandomNerdTutorials.com/raspberry-pi-pico-internal-temperature-micropython/
from machine import ADC
# Internal temperature sensor is connected to ADC channel 4
temp_sensor = ADC(4)
def read_internal_temperature():
# Read the raw ADC value
adc_value = temp_sensor.read_u16()
# Convert ADC value to voltage
voltage = adc_value * (3.3 / 65535.0)
# Temperature calculation based on sensor characteristics
temperature_celsius = 27 - (voltage - 0.706) / 0.001721
return temperature_celsius
def celsius_to_fahrenheit(temp_celsius):
temp_fahrenheit = temp_celsius * (9/5) + 32
return temp_fahrenheit
# Reading and printing the internal temperature
temperatureC = read_internal_temperature()
temperatureF = celsius_to_fahrenheit(temperatureC)
print("Internal Temperature:", temperatureC, "°C")
print("Internal Temperature:", temperatureF, "°F")Cómo funciona el código
Echemos un vistazo rápido a cómo funciona el código.
Creación de un objeto ADC
Comienza importando la clase ADC
del módulo machine
para leer señales analógicas.
from machine import ADCtemp_sensor = ADC(4)Lectura del sensor de temperatura interno
Luego, creamos una función para leer el sensor de temperatura interno llamada read_internal_temperature().
def read_internal_temperature():adc_value = temp_sensor.read_u16()voltage = adc_value * (3.3 / 65535.0)temperature_celsius = 27 - (voltage - 0.706) / 0.001721La función devuelve la temperatura en Celsius:
return temperature_celsiusConversión a Fahrenheit
También incluimos la función celsius_to_fahrenheit() para convertir la temperatura en Celsius a Fahrenheit:def celsius_to_fahrenheit(temp_celsius):
temp_fahrenheit = temp_celsius * (9/5) + 32
return temp_fahrenheitLlamamos a la función read_internal_temperature() para obtener la temperatura en Celsius y guardarla en la variable temperatureC:
temperatureC = read_internal_temperature()temperatureF = celsius_to_fahrenheit(temperatureC)Finalmente, imprimimos las lecturas en la consola:
Testeamos el código


Leyendo la temperatura usando picozero
Hay una forma más sencilla de obtener la lectura del sensor de temperatura interno usando el módulo picozero. Este módulo es una biblioteca amigable para principiantes, con “recetas” fáciles para usar los sensores más comunes. Si quieres profundizar, puedes revisar la documentación oficial de picozero.
La biblioteca picozero incluye una clase llamada pico_temp_sensor que te permite obtener la temperatura fácilmente, sin necesidad de hacer cálculos (todo se hace en segundo plano).
Instalando el paquete picozero
Antes de seguir, debes instalar el paquete picozero:
-
Ve a Tools > Manage Packages (Herramientas > Administrar paquetes).
-
Busca picozero.
-
Haz clic en la primera opción picozero @ PyPi.
-
Finalmente, haz clic en Install (Instalar).
Después de unos segundos, el paquete estará instalado y listo para usar.

Código
El siguiente código hace lo mismo que el ejemplo anterior, pero usando la biblioteca picozero
# Rui Santos & Sara Santos - Random Nerd Tutorials
# Complete project details at https://RandomNerdTutorials.com/raspberry-pi-pico-internal-temperature-micropython/
from picozero import pico_temp_sensor
# Convert from celsius to fahrenheit
def celsius_to_fahrenheit(temp_celsius):
temp_fahrenheit = temp_celsius * (9/5) + 32
return temp_fahrenheit
# Reading and printing the internal temperature
temperatureC = pico_temp_sensor.temp
temperatureF = celsius_to_fahrenheit(temperatureC)
print("Internal Temperature:", temperatureC, "°C")
print("Internal Temperature:", temperatureF, "°F")Primero, necesitamos importar la clase pico_temp_sensor desde el módulo picozero:
from picozero import pico_temp_sensortemperatureC = pico_temp_sensor.tempSi ejecutas este código en tu Raspberry Pi Pico, obtendrás el mismo resultado que en el ejemplo anterior.
Lecturas continuas de temperatura
# Rui Santos & Sara Santos - Random Nerd Tutorials
# Complete project details at https://RandomNerdTutorials.com/raspberry-pi-pico-internal-temperature-micropython/
from time import sleep
from picozero import pico_temp_sensor
# Convert from celsius to fahrenheit
def celsius_to_fahrenheit(temp_celsius):
temp_fahrenheit = temp_celsius * (9/5) + 32
return temp_fahrenheit
while True:
# Reading and printing the internal temperature
temperatureC = pico_temp_sensor.temp
temperatureF = celsius_to_fahrenheit(temperatureC)
print("Internal Temperature:", temperatureC, "°C")
print("Internal Temperature:", temperatureF, "°F")
# Wait one second between each reading
sleep(1)Para cerrar
La Raspberry Pi Pico incluye un sensor de temperatura interno que te da una idea general de la temperatura interna de la placa. Leer la temperatura es tan simple como medir el voltaje en el ADC4 y luego hacer los cálculos necesarios.Aprende esto en un curso
Si prefieres verlo en vivo y con alguien que resuelva tus dudas, estos cursos presenciales de MCI Educación cubren el tema de este tutorial:
- uPython y Electrónica Creativa con Raspberry Pi Pico — nivel inicial, 15 horas presenciales en Santiago
- Domina la Raspberry Pi: Sistemas y Conectividad — nivel intermedio, 18 horas presenciales en Santiago