classe ADC – conversion analogique-numérique

La classe ADC encapsule un unique canal de convertisseur analogique-numérique qui échantillonne une tension sur une broche (ou l’un des canaux analogiques de la puce) et renvoie sa valeur discrétisée.

Exemple d’utilisation

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

Constructeurs

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

Construit un objet ADC pour la source analogique identifiée par id. Les formes acceptées sont :

  • un numéro de canal entier (018 sur STM32, spécifique au port ailleurs) ;

  • un objet Pin, ou une chaîne de broche de carte telle que "P6" – la broche doit être compatible analogique ;

  • l’une des constantes de canal interne (CORE_TEMP, CORE_VREF, CORE_VBAT, VREF ou CORE_VDD) pour lire les capteurs internes du MCU. STM32 uniquement.

Méthodes

read_u16() int

Échantillonne le canal analogique une fois et renvoie le résultat sous forme d’entier non signé de 16 bits (065535). Les ADC de plus faible résolution sont alignés à gauche dans la plage de 16 bits, ce qui masque la résolution brute spécifique au port.

read_uv() int

Échantillonne le canal analogique et renvoie le résultat en microvolts. La lecture est calibrée par rapport à la référence interne lorsque le matériel le permet. Port mimxrt uniquement.

Constantes

Les constantes ci-dessous ne sont disponibles que sur le port STM32 ; passez-les comme argument id pour construire un ADC qui lit l’un des capteurs analogiques de la puce. Le résultat de read_u16() est la lecture brute de 16 bits du canal ; pour des valeurs calibrées, utilisez les utilitaires de pyb.ADCAll.

VREF: int

Canal de référence de tension externe.

CORE_VREF: int

Canal de référence de tension interne de 1,21 V (nominal) (VREFINT).

CORE_TEMP: int

Canal du capteur de température de puce interne.

CORE_VBAT: int

Canal de tension de la batterie de secours (VBAT).

CORE_VDD: int

Canal du rail d’alimentation du MCU (VDDA).