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)```