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)