🛠 Lire l'ADC 12 bits et le capteur de température interne du RP2350

RP2350 (générique / cartes basées sur le RP2350) · debutant · Schéma : IMG-rp2350-generic-debutant-3-rp2350-adc-capteur-interne.svg — carte RP2350 générique, potentiomètre entre 3V3, GND et curseur sur GP26 (ADC0), puce RP2350 avec bloc ADC 12-bit SAR 500 kSPS et canal température interne, graphique des valeurs 0..4095

Objectifs

Le RP2350 embarque un ADC SAR 12 bits, 500 kSPS, 4 canaux sur RP2350A / 8 sur RP2350B, plus un canal température interne — mais aucun DAC (datasheet RP2350). Les exemples officiels du SDK situent les canaux ADC0..3 sur GP26..GP28. Ce tuto : lire une tension externe avec un potentiomètre, lire la température du cœur, et manipuler proprement l'échelle 12 bits (0..4095) de l'ADC du RP2350.

Matériel

Code complet

# adc_temp.py — ADC0 (GP26) + canal température interne
from machine import ADC, Pin
import time

# Canal 4 = capteur thermique interne (comme sur RP2040)
sense = ADC(4)
# ADC0 : sur le port rp2, ADC(0) cible l'entrée analogique ADC0 = GP26
pot = ADC(0)

REF = 3.3            # pleine échelle = alimentation IO, ici 3,3 V
FULL = 4095          # l'ADC du RP2350 est nativement 12 bits

def tension(adc):
    return adc.read * REF / FULL        # read = valeur brute 12 bits

def temperature:
    v = tension(sense)
    # formule datasheet famille RP2 : 0,706 V à 27 °C, pente -1,721 mV/°C
    return 27.0 - (v - 0.706) / 0.001721

while True:
    print('pot: %4d  %.3f V   coeur: %.1f C'
          % (pot.read, tension(pot), temperature))
    time.sleep_ms(500)

Vérification attendue

Fais tourner le potentiomètre : la valeur brute suit 0 → 4095 et la tension 0 → 3,3 V de façon linéaire. Pose le doigt sur le RP2350 : la température du cœur monte de quelques degrés en quelques secondes, puis redescend. La formule 27.0 - (v - 0.706) / 0.001721 est celle de la famille RP2 (tension du capteur 0,706 V à 27 °C, pente 1,721 mV/°C) — elle donne la température du cœur (diode interne), pas la température ambiante : 30–35 °C en main est normal.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels