class ADC – conversione analogico-digitale

La classe ADC incapsula un singolo canale di convertitore analogico-digitale che campiona una tensione su un pin (o uno dei canali analogici integrati nel chip) e ne restituisce il valore discretizzato.

Esempio di utilizzo:

from machine import ADC, Pin

adc = ADC(Pin("P6"))      # ADC channel on header pin P6 (PA5)
val = adc.read_u16()      # raw reading scaled to 0..65535

Costruttori

class machine.ADC(id: int | str | Pin) ADC

Costruisce un oggetto ADC per la sorgente analogica identificata da id. Le forme accettate sono:

  • un numero intero di canale (018 su STM32, specifico della porta altrove);

  • un oggetto Pin, o una stringa di pin della scheda come "P6" – il pin deve supportare l’uso analogico;

  • una delle costanti di canale interno (CORE_TEMP, CORE_VREF, CORE_VBAT, VREF o CORE_VDD) per leggere i sensori interni del microcontrollore. Solo STM32.

Metodi

read_u16() int

Campiona il canale analogico una volta e restituisce il risultato come intero senza segno a 16 bit (065535). Gli ADC a risoluzione inferiore vengono allineati a sinistra nell’intervallo a 16 bit, in modo da nascondere la risoluzione grezza specifica della porta.

read_uv() int

Campiona il canale analogico e restituisce il risultato in microvolt. La lettura viene calibrata rispetto al riferimento interno dove l’hardware lo supporta. Solo porta mimxrt.

Costanti

Le costanti seguenti sono disponibili solo sulla porta STM32; passale come argomento id per costruire un ADC che legge uno dei sensori analogici integrati nel chip. Il risultato di read_u16() è la lettura grezza a 16 bit del canale; per i valori calibrati usa gli helper su pyb.ADCAll.

VREF: int

Canale di riferimento di tensione esterno.

CORE_VREF: int

Canale di riferimento di tensione interno a 1.21 V (nominale) (VREFINT).

CORE_TEMP: int

Canale del sensore interno di temperatura del die.

CORE_VBAT: int

Canale di tensione della batteria di backup (VBAT).

CORE_VDD: int

Canale della linea di alimentazione del microcontrollore (VDDA).