Die Versorgungsspannung kann über den internen Analog-Digital-Converter des micro:bit ausgelesen werden. Hierüber könnte beispielsweise eine Spannungsüberwachung oder eine Batterie-Warnung integriert werden. Die Funktion supplyVoltage() übernimmt dabei das Auslesen aus dem ADC-Wandler. Sie erwartet keine Übergabeparameter und liefert eine einzelne Variable als Rückgabewert. Diese enthält die gemessene Spannung.

# Import des micro:bit Moduls
from microbit import *

# Variablen die zur Umrechnung benötigt werden
# 3,3 V / 1024 (max. Spannung am ADC-Pin / ADC Auflösung)
uref = 0.00322265625
# (10 kOhm + 5,6 kOhm) / 5,6 kOhm [(R1 + R2) / R2, Spannungsteilerverhältnis]
uratio = 2.7857142

def supplyVoltage():
    adcvoltage = pin2.read_analog()  # Auslesen des ADC-Werts
    voltaged = uref * adcvoltage  # ADC-Wert in Volt umrechnen
    # Gemessene Spannung mit dem Spannungteilerverhältnis
    # multiplizieren um die tatsächliche Spannung zu errechnen
    voltagep = voltaged * uratio
    return voltagep  # gibt die Variable voltagep zurück

# Demo-Schleife
while True:
    # führt die Funktion supplyVoltage aus und speichert die Rückgabe in sup_volt
    sup_volt = supplyVoltage()
    # Gibt den Wert aus sup_volt formatiert mit Text aus
    print("Eingangsspannung = " + str(sup_volt) + " V")
    sleep(2000)