Klasse ADC – Analog-Digital-Wandlung

Die Klasse ADC kapselt einen einzelnen Kanal eines Analog-Digital-Wandlers, der eine Spannung an einem Pin (oder einem der On-Chip-Analogkanäle) abtastet und ihren diskretisierten Wert zurückgibt.

Anwendungsbeispiel:

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

Konstruktoren

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

Erstellt ein ADC-Objekt für die durch id identifizierte Analogquelle. Die zulässigen Formen sind:

  • eine ganzzahlige Kanalnummer (018 auf STM32, andernorts port-spezifisch);

  • ein Pin-Objekt oder eine Board-Pin-Zeichenkette wie "P6" – der Pin muss analogfähig sein;

  • eine der Konstanten für interne Kanäle (CORE_TEMP, CORE_VREF, CORE_VBAT, VREF oder CORE_VDD), um die internen Sensoren des MCU auszulesen. Nur STM32.

Methoden

read_u16() int

Tastet den Analogkanal einmal ab und gibt das Ergebnis als vorzeichenlose 16-Bit-Ganzzahl (065535) zurück. ADCs mit geringerer Auflösung werden links in den 16-Bit-Bereich ausgerichtet, sodass die port-spezifische Rohauflösung verborgen bleibt.

read_uv() int

Tastet den Analogkanal ab und gibt das Ergebnis in Mikrovolt zurück. Der Messwert wird gegen die interne Referenz kalibriert, sofern die Hardware dies unterstützt. Nur mimxrt-Port.

Konstanten

Die folgenden Konstanten sind nur auf dem STM32-Port verfügbar; übergeben Sie sie als id-Argument, um einen ADC zu erstellen, der einen der On-Chip-Analogsensoren ausliest. Das Ergebnis von read_u16() ist der rohe 16-Bit-Messwert des Kanals; für kalibrierte Werte verwenden Sie die Hilfsfunktionen von pyb.ADCAll.

VREF: int

Externer Spannungsreferenzkanal.

CORE_VREF: int

Interner 1,21-V-Spannungsreferenzkanal (nominal) (VREFINT).

CORE_TEMP: int

Interner Die-Temperatursensorkanal.

CORE_VBAT: int

Backup-Batteriespannungskanal (VBAT).

CORE_VDD: int

MCU-Versorgungsschienenkanal (VDDA).