0
以下のコードをRGB LEDのストリップに配管します。コードは正常に動作します。 Adafruit Dotstarライブラリ(https://github.com/adafruit/Adafruit_DotStar)には、以下のコードに加えてstrandtest.pyの例もあります。テスト例では、strip.setBrightnes(2)を使用してLEDの輝度を下げることができます。私は以下のコードで同じ一般的な場所にそのコードを複製しましたが、LEDの輝度は変わりません。私はライブラリの不具合を疑うが、私はまだLEDの明るさを減らすための解決策を見つけることを望むだろう。私は賢明な終わりである(NOOBを読む)。 LEDの明るさを下げる助けがあれば助かります。Pythonを使用してLEDストリップ(Adafruit Dotstar RGBストリップ)の輝度を下げる
#!/usr/bin/python
import PIL
from PIL import Image
from dotstar import Adafruit_DotStar
filename = "/home/pi/Adafruit_DotStar_Pi/marilynlowerres.jpg"
datapin = 10
clockpin = 11
strip = Adafruit_DotStar(0, datapin, clockpin)
rOffset = 3
gOffset = 2
bOffset = 1
strip.begin()
strip.setBrightness(2)
print "Loading..."
img = Image.open(filename).convert("RGB")
pixels = img.load()
width = img.size[0]
height = img.size[1]
print "%dx%d pixels" % img.size
gamma = bytearray(256)
for i in range(256):
gamma[i] = int(pow(float(i)/255.0, 2.7) * 255.0 + 0.5)
print "Allocating..."
column = [0 for x in range(width)]
for x in range(width):
column[x] = bytearray(height * 4)
print "Converting..."
for x in range(width):
for y in range(height):
value= pixels[x, y]
y4= y * 4
column[x][y4]= 0xFF
column[x][y4 + rOffset] = gamma[value[0]]
column[x][y4 + gOffset] = gamma[value[1]]
column[x][y4 + bOffset] = gamma[value[2]]
print "Displaying..."
while True:
for x in range(width):
strip.show(column[x])