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,13, Pin.OUT)
led_yellow = Pin(14, Pin.OUT)
led_green = Pin(13,15, Pin.OUT)

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

# Schwellenwerte für Feuchtigkeit
#---------------------------------------------------------------------
DRY_THRESHOLD = 3000065000    # UnterÜber diesem Wert wird es als trocken betrachtet
MOIST_THRESHOLD = 6000043000  # OberÜber diesem Wert wird es als feucht betrachtet
WATERED_THRESHOLD = 41000 # Über diesem Wert wird es als gegossen 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)
    # Aktuellen Feuchtigkeitswert und Schwellenwerte ausgeben
    print("Feuchtigkeitswert:", moisture_level)```