Raspberry Pi Pico: Widerstand messen

Widerstände sind wegen ihres Farbcodes manchmal schwer zu identifizieren. Gängige Werte erkennt man auf den ersten Blick. Doch es gibt Farbcodes, die man nicht kennt, weil sie exotisch sind oder die Farben sind nicht richtig oder nur undeutlich zu erkennen. Zur Identifikation arbeitet man mit einer Farbcodetabelle oder misst mit einem Multimeter nach, wenn man es genau wissen will.

Eine Alternative ist, wenn man beides nicht hat, ein Raspberry Pi Pico als Ohmmeter einzusetzen. Das geht ganz gut, wenn man Widerstandswerte zwischen 1 kOhm bis 100 kOhm ungefähr ermitteln will.

Die Idee ist, der Raspberry Pi Pico misst den Wert eines unbekannten Widerstands und zeigt ihn in der Thonny-Kommandozeile an. Aber, so einfach ist das nicht. Dabei kann man viel falsch machen.

Der Raspberry Pi Pico kann nämlich keine Widerstände messen. Im weitesten Sinn kann er nur Spannungen von 0 bis +3,3 Volt messen. Genau genommen wandelt der Pico ein analoges Signal in einen digitalen Wert um, der als Dezimalzahl zwischen 0 und 65.535 liegt. Und dann gilt es diesen Wert richtig zu interpretieren und in die gewünschte Größe umzuwandeln.

Dazu bedarf es eines Spannungsteilers zwischen einem Festwiderstand (zum Beispiel 10 kOhm) und dem unbekannten Widerstand. Das Programm misst die Spannung über den unbekannten Widerstand und anschließend wird dessen Wert in Ohm berechnet.

Es gilt dabei folgende Formel:

Formel zum Berechnen des gesuchen Widerstands

Aufbau und Bauteile

Aufbau: Raspberry Pi Pico: Widerstand messen

Schaltung: Raspberry Pi Pico: Widerstand messen

Programmcode

Das Programm misst periodisch den Spannungswert an einem analogen Eingangspin, rechnet diesen in eine Spannung und anschließend in einen Widerstand um. Damit lässt sich z. B. auch ein Sensor auswerten, dessen Widerstand sich mit Temperatur oder Licht ändert.

Die Parameter:

  • R_FIX: Bekannter Festwiderstand im Spannungsteiler.
  • U_REF: Referenzspannung des ADCs.
  • ADC_MAX: Maximale Auflösung des 16-Bit-ADCs.
# Bibliotheken laden
import machine
import time

# ADC-Parameter
R_FIX = 10000        # Ohm
U_REF = 3.3          # Volt
ADC_MAX = 65535 + 1  # Auflösung bei 16 Bit

# Initialisierung des ADC0 (GPIO26)
adc_rm = machine.ADC(machine.Pin(26, machine.Pin.IN, pull=None)) # Pulldown-Widerstand abschalten

# Hauptprogramm
while True:
    time.sleep(2)
    
    # ADC als Dezimalzahl lesen
    value_rm = adc_rm.read_u16()
    
    # ADC-Wert in Spannung umrechnen
    voltage = value_rm * U_REF / ADC_MAX
    
    # AC-Wert in Widerstand umrechnen
    resistor = int(R_FIX * (value_rm / (ADC_MAX - value_rm)))
    
    # Ausgabe in der Kommandozeile
    print(f"ADC: {value_rm:5d} | Spannung: {voltage:.3f} V | Widerstand: {resistor:6d} Ohm", end="   \r")

Darf es etwas mehr sein?

Für eine schnelle Widerstandsmessung ist dieser Aufbau und Programmcode in der Regel ausreichend. Das muss aber nicht immer so sein. Es kann sein, dass es etwas präziser und die Messung stabiler sein soll. Hierzu sind bei der Beschaltung und auch in der Software ein paar Anpassungen notwendig.

  • Raspberry Pi Pico als Ohmmeter

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython

Elektronik-Set Pico Edition

Das Elektronik-Set Pico Edition ist ein Bauteile-Sortiment mit Anleitung zum Experimentieren und Programmieren mit MicroPython.

  • LED: Einschalten, ausschalten, blinken und Helligkeit steuern
  • Taster: Entprellen und Zustände anzeigen
  • LED mit Taster einschalten und ausschalten
  • Ampel- und Lauflicht-Steuerung
  • Elektronischer Würfel
  • Eigene Steuerungen programmieren

Elektronik-Set jetzt bestellen Online-Workshop buchen

Online-Workshop: Programmieren mit dem Raspberry Pi Pico

Programmieren mit dem Raspberry Pi Pico

Gemeinsam mit anderen und unter Anleitung experimentieren? Wir bieten unterschiedliche Online-Workshops zum Raspberry Pi Pico und MicroPython an. Einführung in die Programmierung, Sensoren programmieren und kalibrieren, sowie Internet of Things und Smart Home über WLAN und MQTT.

Online-Workshop buchen

Besuchen Sie unser fast monatlich stattfindendes Online-Meeting PicoTalk und lernen Sie uns kennen. Die Teilnahme ist kostenfrei.

Termine und Newsletter-Anmeldung

 

Elektronik-Sets für das Hardware-nahe Programmieren