Hallo liebe Gemeinde,
ich bin neu hier im Forum und möchte erstmal allen Hallo sagen. Ich bin noch am Anfang mit meiner Pythongeschichte, habe schon viel darüber gelesen und einige Sachen ausprobiert
Erstmal allgemein zu meinem fehlerbehafteten Code. Es soll am Ende ein Aquariumcontroller werden. Ich weiß das es dafür haufen Beispiele und Beiträge gibt, nur habe ich für mein Problem leider bisher keine Lösung gefunden.
Zur Uhrzeit x sollen die LEDstripes langsam (innerhalb von 60min) von 0 auf 100% gedimmt werden. Falls es zwischendurch oder nach der Dimmung auf 100% einen Stromausfall gibt, soll an der angehaltenen Stelle fortgefahren werden.
Zur Uhrzeit y sollen die LEDstripes wieder von 100% auf 0% (innerhalb von 60min) gedimmt werden.
Mehr soll der Code erstmal nicht machen,'da ich langsam an das Projekt gehe und es Stück für Stück abarbeiten möchte
Im Code beachtet bitte das time.sleep(0.5) nicht. da müsste time.sleep(36) stehen für die 60min Dimmung. Ich habe es allerdings für die Testzwecke verkürzt :thumbs1:
Hier erstmal mein kompletter Code für die PWM:
# Zeitbaustein importieren
import time
# GPIO Pins aktivieren
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
# Pin 12 festlegen für PWM(6. Pin in der rechten Reihe)
GPIO.setup(18,GPIO.OUT)
# Variable mit Pin belegen und Frequenz auf 100Hz
pwm = GPIO.PWM(18,100)
# Zählervariable festlegen für autom. Dimmung
count = 0
# Zeit zum Vergleichen für PWM setzen
pwmzeit=time.strftime("%H:%M")
zeit1 = "07:00"
zeit2 = "08:00"
zeit3 = "19:00"
zeit4 = "20:00"
# aktuelle Uhrzeit und aktuelles Datum + Wochentag ausgeben
print(time.strftime("%A %d.%m.%Y %H:%M:%S"))
# Beginn Programm automatische PWM
while True:
if pwmzeit >= zeit1 and pwmzeit <= zeit2:
if count < 100:
count = count + 1
print "Dimmstufe:", count ,"%"
elif pwmzeit >= zeit2 and pwmzeit <= zeit3:
Count = 100
print "Dimmstufe:" , count , "%"
elif pwmzeit >= zeit3 and pwmzeit <= zeit4:
if count >= 1:
count = count - 1
print "Dimmstufe:" , count , "%"
elif pwmzeit >= zeit4 or pwmzeit <= zeit1:
count = 0
print "Dimmstufe:" , count , "%"
else:
print "Etwas ist schief gelaufen"
time.sleep(0.5)
Alles anzeigen
Vielen Dank schon mal im Vorraus und seit bitte nicht zu hart zu mir