Raspberry Pi Pico als einstellbarer Taktgenerator
Ein Taktgenerator ist in digitalen Schaltungen ein wichtiges Element, dass dafür sorgt, dass alle Teile der Schaltung synchron arbeiten. In der Regel arbeitet man dann mit einem festgelegten bzw. fest eingestellten Takt. Wenn man mit elektronischen Schaltungen experimentiert, dann braucht man in der Regel nicht immer den selben Takt sondern unterschiedliche. Deshalb sollte der verwendete Taktgenerator einstellbar sein.
Zu diesem Zweck verfügt der Aufbau über ein Potentiometer, mit dem man die Taktfrequenz in Hertz (Hz) stufenlos einstellen kann.
Der Nachteil dieser Lösung ist, dass die geringste Frequenz für das PWM-Signal bei ungefähr 10 Hz liegen muss. Darunter kann man die Hardware nicht einstellen. Dazu müsste man eine Timer-Lösung wählen.
Aufbau und Bauteile

Hinweis: Wenn man keine LED-Leiste hat, dann kann man auch einfach die Onboard-LED (nicht beim PIco W) verwenden.
Programmcode
Der Programmcode erzeugt ein PWM-Signal auf Basis des eingestellten Potentiometers. Der dabei ausgelesene ADC liefert einen Wert zwischen 0 und 65.535. Eine Funktion im Programmcode rechnet diesen Wert in einen Wert von 10 bis 50 Hertz (Hz) um.
# Bibliotheken laden
from machine import Pin, ADC, PWM
from time import sleep
# Frequenzen
F_MIN = 10 # Hz
F_MAX = 50 # Hz
# Initialisierung des ADC0 (GPIO26)
adc0 = ADC(Pin(26))
sleep(.1) # Wartezeit
# Initialisierung PWM-Ausgang
pwm_out = PWM(Pin(15, Pin.OUT))
pwm_out.duty_u16(32268) # 50% Tastverhältnis
# Korrektur des Wertebereichs
def scale_value(value, in_min=0, in_max=65535, out_min=F_MIN, out_max=F_MAX):
return int( out_min + (value - in_min) * (out_max - out_min) / (in_max - in_min) )
# Wiederholung (Endlos-Schleife)
while True:
# ADC0 lesen
value = adc0.read_u16()
# Wert in Frequenz umrechnen
freq = scale_value(value)
# Frequenz (Hz) einstellen
pwm_out.freq(freq)
# Ausgabe
print(freq, 'Hz', end=" \r")
sleep(0.5)
Experimente
Wenn man möchte, dann kann man noch ein Display anschließen, auf dem die Frequenz in Hertz (Hz) angezeigt wird.
Weitere verwandte Themen:
- Raspberry Pi Pico: Elektronische Schaltungen programmieren
- Raspberry Pi Pico als Lauflicht mit LED-Leiste
- Raspberry Pi Pico als Taktgenerator
- Raspberry Pi Pico als astabile Kippstufe
Frag Elektronik-Kompendium.de
Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython
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
Online-Workshop: 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.
Besuchen Sie unser fast monatlich stattfindendes Online-Meeting PicoTalk und lernen Sie uns kennen. Die Teilnahme ist kostenfrei.






