Projekt 1: Blinkende LED mit benutzerdefinierten Mustern (für Anfänger geeignet)
Hardware-Einrichtung
Für dieses Projekt benötigen Sie einen Raspberry Pi Pico, ein Steckbrett, eine LED, einen 220-Ohm-Widerstand und Überbrückungskabel. Verbinden Sie die Anode der LED über den Widerstand mit dem GPIO-Pin 25 und die Kathode mit dem Massepin des Pico. Diese Konfiguration stellt sicher, dass die LED durch den Widerstand vor Überstrom geschützt ist und zur Steuerung ordnungsgemäß mit dem GPIO-Pin des Pico verbunden ist.

Code-Implementierung
Mit MicroPython erstellen wir ein Programm, das die LED in verschiedenen Mustern blinken lässt. Importieren Sie zunächst die erforderlichen Module:
from machine import Pin, Timer
Dann initialisieren Sie den LED-Pin:
led = Pin(25, Pin.OUT)
tim = Timer()
def tick(timer):
led.toggle()
tim.init(freq=2, mode=Timer.PERIODIC, callback=tick)
Testen und Anpassen
Projekt 2: Temperaturüberwachungssystem (Mittelstufe)
Hardwareanforderungen

Code-Entwicklung
import machine
import onewire
import ds18x20
import time
ds_pin = machine.Pin(18)
ds_sensor = ds18x20.DS18X20(onewire.OneWire(ds_pin))
roms = ds_sensor.scan()
print('Found DS devices: ', roms)
while True:
ds_sensor.convert_temp()
time.sleep_ms(750)
for rom in roms:
print(ds_sensor.read_temp(rom))
time.sleep(2)
Datenerfassung und Anzeige
from machine import I2C, Pin
import ssd1306
i2c = I2C(0, sda=Pin(0), scl=Pin(1), freq=400000)
oled = ssd1306.SSD1306_I2C(128, 32, i2c)
while True:
ds_sensor.convert_temp()
time.sleep_ms(750)
for rom in roms:
temp = ds_sensor.read_temp(rom)
print(temp)
oled.fill(0)
oled.text(f"Temp: {temp} C", 0, 0)
oled.show()
time.sleep(2)
file = open('temperatures.txt', 'w')
while True:
ds_sensor.convert_temp()
time.sleep_ms(750)
for rom in roms:
temp = ds_sensor.read_temp(rom)
print(temp)
file.write(f"{time.time()},{temp}\n")
file.flush()
time.sleep(2)
Projekt 3: IoT-Daten-Uploader (Fortgeschrittene)
Hardware-Einrichtung

Code und IoT-Integration
import network
ssid = 'your_SSID'
password = 'your_PASSWORD'
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(ssid, password)
while not wlan.isconnected():
pass
print('Connected to WiFi')
import bme280_i2c
i2c = machine.I2C(0, sda=machine.Pin(8), scl=machine.Pin(9))
bme = bme280_i2c.BME280_I2C(i2c)
import urequests
def upload_data(temperature, humidity, pressure):
url = 'https://industrial.api.ubidots.com/api/v1.6/devices/your_device_label'
headers = {'X-Auth-Token': 'your_token', 'Content-Type': 'application/json'}
data = '{"temperature": %s, "humidity": %s, "pressure": %s}' % (temperature, humidity, pressure)
response = urequests.post(url, headers=headers, data=data)
if response.status_code == 200:
print('Data uploaded successfully')
else:
print('Error uploading data')
response.close()
while True:
temperature, pressure, humidity = bme.values
temperature = float(temperature.strip(' C'))
humidity = float(humidity.strip(' %'))
pressure = float(pressure.strip(' hPa'))
upload_data(temperature, humidity, pressure)
time.sleep(60)
Testen und Skalierbarkeit
Pico-Projekte für PIO, USB, Sensorik und Regelung
Sinnvolle Projekte vermitteln jeweils ein Hardwareprinzip und ermöglichen eine messbare Funktionsprüfung. Zuerst die genaue Platine der Pico-Familie wählen, da Prozessor, Funk, Speicher, Pinbelegung und Softwareunterstützung variieren; externe Schnittstellen anschließend nach den dokumentierten 3,3-V-Logikgrenzen auslegen.
- Mit Erfassung beginnen: kalibrierten Sensor mit Zeitstempeln und festem Abtastintervall protokollieren.
- PIO erkunden: zeitkritische eigene Schnittstelle erzeugen oder erfassen und an Prüfpins verifizieren.
- USB-Gerät bauen: kleine Bedien- oder serielle Funktion mit definiertem Wiederverbinden umsetzen.
- Regelkreis ergänzen: Drehzahl, Licht oder Temperatur an einer sicheren, begrenzten Strecke regeln.
- Prototyp entwickeln: Entkopplung, Pegelanpassung, Steckerschutz, Prüfpunkte und reproduzierbaren Build vorsehen.




