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)