In [ ]:
import time
from dotstar import Adafruit_DotStar
In [ ]:
# Dotstar LEDs zijn ontwikkeld voor gebruik in een LED strip en de software bibliotheek is ook zo opgebouwd
# dus maken we er hier een strip van met slechts 1 LED pixel
numpixels = 1
datapin = 23 # GPIO pin 23 wordt verbonden met het data kanaal van de LED
clockpin = 24 # GPIO pin 24 wordt verbonden met het klok kanaal van de LED
strip = Adafruit_DotStar(numpixels, datapin, clockpin)
strip.begin() # dit moet aangeroepen worden vóór de LEDs gebruikt kunnen worden
In [ ]:
# en we kunnen starten!
# eerst stellen we de helderheid in van de LED(s) (maximaal 255, dus 127 is 50%)
strip.setBrightness(127)
In [ ]:
pixel_index = 0 # Index van onze eerste (en enige) pixel
kleur_rood = 0xFF0000 # Rood
kleur_groen = 0x0000FF # Groen
kleur_blauw = 0x00FF00 # Blauw
In [ ]:
# kleur configureren
strip.setPixelColor(pixel_index, kleur_blauw)
# ingestelde configuratie activeren
strip.show()
In [ ]:
kleur = kleur_rood # kleur variabele aanmaken en in geheugen stoppen met de waarde 0xFF0000 (rood)
while True: # Eeuwig blijven herhalen
strip.setPixelColor(pixel_index, kleur)
strip.show() # kleur tonen
time.sleep(0.5) # halve seconde wachten
kleur >>= 8 # kleurencyclus Rood -> Groen -> Blauw -> Zwart
if(kleur == 0): kleur = 0xFF0000 # Bij zwart, opnieuw naar Rood overgaan
# klik de 'stop' knop bovenaan (of kies in het menu Kernel > Interrupt) om te stoppen
In [ ]:
import colorsys
sat = 1
value = 0.5
length = 500
for teller in range(0, length + 1):
hue = teller/float(length)
color = list(colorsys.hsv_to_rgb(hue, sat, value))
intcolor = int(color[0]*256)*256**2 + int(color[1]*256)*256 + int(color[2]*256)
strip.setPixelColor(pixel_index, intcolor)
strip.show()
#time.sleep(1.0/length)
In [ ]:
import math
def makeColorGradient(frequency1, frequency2, frequency3, phase1, phase2, phase3, center=128, width=127, length=500):
for i in range(length):
rood = math.sin(frequency1*i + phase1) * width + center
groen = math.sin(frequency2*i + phase2) * width + center
blauw = math.sin(frequency3*i + phase3) * width + center
intcolor = int(rood) * 255**2 + int(groen) * 255 + int(blauw)
strip.setPixelColor(pixel_index, intcolor)
strip.show()
time.sleep(10.0/length)
print(makeColorGradient(.01,.01,.01,2,0,4))
In [ ]:
strip.setBrightness(0)
strip.show()