ein gesundes neues Jahr. Eins gleich vorweg, ich beschäftige mich sein ca. 1 Woche mit Python - ich bin Anfänger.
Ich habe Linux Kenntnisse und habe vor langer Zeit in Quick Basic programmiert.
Was habe ich vor? Ich bin Aquarianer und mit meinem Raspi will ich WS2801 LED's steuern. Weil es mich sehr stört ( und meinen Fischies) dass mein Licht von 0 auf 100% an und aus geht.
Ich habe einige Beispiele zum Steuern im Netz gefunden:
https://tutorials-raspberrypi.de/raspbe ... n-steuern/
Auch arbeite ich zum besseren Verständnis mit dem:
https://www.python-kurs.eu/python3_kurs.php
Und nun zu meinen Problem:
1. wieso geht nach dem Sonnenaufgang bzw. vor dem Sonnenuntergang kurz das Lich aus?
2. wie kann ich eine Zeitverzögerung zwischen dem Sonnenaufgang und Untergang von ca. 9 Stunden mit einbauen
Vielen Dank für eure Hilfe.
Hier soweit mein Script:
Code: Alles auswählen
import time
import Adafruit_WS2801
import Adafruit_GPIO.SPI as SPI
# LED Pixelanzahl
PIXEL_COUNT = 200
# Dimmgeschwindigkeit
n = 0
# Alternatively specify a hardware SPI connection on /dev/spidev0.0:
SPI_PORT = 0
SPI_DEVICE = 0
pixels = Adafruit_WS2801.WS2801Pixels(PIXEL_COUNT, spi=SPI.SpiDev(SPI_PORT, SPI_DEVICE))
def Sonnenaufgang(pixels, wait=0.01, step=1):
for j in range(int(256 // step)):
for i in range(pixels.count()):
r, g, b = pixels.get_pixel_rgb(i)
r = int(max(0, r + step))
g = int(max(0, g + step))
b = int(max(0, b + step))
pixels.set_pixel(i, Adafruit_WS2801.RGB_to_color( r, g, b ))
pixels.show()
if wait > 0:
time.sleep(wait + n)
def Sonnenuntergang(pixels, wait=0.01, step=1):
for x in range(PIXEL_COUNT):
pixels.set_pixel_rgb(x, 255, 255, 255)
for j in range(int(256 // step)):
for i in range(pixels.count()):
r, g, b = pixels.get_pixel_rgb(i)
r = int(max(0, r - step))
g = int(max(0, g - step))
b = int(max(0, b - step))
pixels.set_pixel(i, Adafruit_WS2801.RGB_to_color( r, g, b ))
pixels.show()
if wait > 0:
time.sleep(wait + n)
if __name__ == "__main__":
pixels.clear()
pixels.show()
Sonnenaufgang(pixels)
Sonnenuntergang(pixels)
pixels.clear()
pixels.show()
print("ENDE")