Skip to main content

Der Code

Hier ist ein Beispielcode für eure Programmierung in Micropython in der IDE Thonny auf dem Raspberry Pi Pico.

# Bibliotheken laden
#---------------------------------------------------------------------
from machine import Pin, ADC
import time

# Pins für die LEDs
led_red = Pin(15, Pin.OUT)
led_yellow = Pin(14, Pin.OUT)
led_green = Pin(13, Pin.OUT)

# ADC-Pin für den Bodenfeuchtigkeitssensor
#---------------------------------------------------------------------
soil_sensor = ADC(26)

# Schwellenwerte für Feuchtigkeit
#---------------------------------------------------------------------
DRY_THRESHOLD = 30000    # Unter diesem Wert wird es als trocken betrachtet
MOIST_THRESHOLD = 60000  # Ober diesem Wert wird es als feucht betrachtet

def read_soil_moisture():
    # Bodenfeuchtigkeit auslesen
    return soil_sensor.read_u16()

while True:
    moisture_level = read_soil_moisture()

# Aktuellen Feuchtigkeitswert und Schwellenwerte ausgeben
#print("Aktueller Feuchtigkeitswert:", moisture_level)
#print("Schwellwert für Trockenheit:", DRY_THRESHOLD)
#print("Schwellwert für Feuchtigkeit:", MOIST_THRESHOLD)

# Boden ist trocken, rote LED leuchtet
#---------------------------------------------------------------------
    if moisture_level < DRY_THRESHOLD:
        led_red.value(1)
        led_yellow.value(0)
        led_green.value(0)
#print("Status: Der Boden ist trocken")

# Boden hat wenig Feuchtigkeit, gelbe LED leuchtet
#---------------------------------------------------------------------
    elif moisture_level < MOIST_THRESHOLD:
        led_red.value(0)
        led_yellow.value(1)
        led_green.value(0)
#print("Status: Der Boden ist mäßig feucht")

# Boden ist feucht genug, grüne LED leuchtet
#---------------------------------------------------------------------
    else:
        led_red.value(0)
        led_yellow.value(0)
        led_green.value(1)
#print("Status: Der Boden ist feucht")

# Trennlinie für bessere Lesbarkeit
#---------------------------------------------------------------------
#print("------------------------------")
    
# Warte eine Sekunde bevor der nächste Wert gemessen wird
#---------------------------------------------------------------------
    time.sleep(1)