Ejemplo n.º 1
0
 def on(self):
     blue_modulo = 3
     for i in range(self.n):
         NeoPixel.__setitem__(self, i, (255, 0, 0))
         if i % blue_modulo == 0:
             NeoPixel.__setitem__(self, i, (61, 0, 255))
     NeoPixel.write(self)
     self._on = True
Ejemplo n.º 2
0
    def demo(self, program="cycle"):
        self.off()

        try:
            n = self.n

            if program == "cycle":
                for i in range(4 * n):
                    for j in range(n):
                        NeoPixel.__setitem__(self, j, [0, 0, 0])
                    NeoPixel.__setitem__(self, i % n, [255, 255, 255])
                    NeoPixel.write(self)
                    time.sleep_ms(25)
            elif program == "bounce":
                for i in range(4 * n):
                    for j in range(n):
                        NeoPixel.__setitem__(self, j, [0, 0, 128])
                    if (i // n) % 2 == 0:
                        NeoPixel.__setitem__(self, i % n, [0, 0, 0])
                    else:
                        NeoPixel.__setitem__(self, n - 1 - (i % n), [0, 0, 0])
                    NeoPixel.write(self)
                    time.sleep_ms(60)
            elif program == "fade":
                for i in range(0, 4 * 256, 8):
                    for j in range(n):
                        if (i // 256) % 2 == 0:
                            val = i & 0xff
                        else:
                            val = 255 - (i & 0xff)
                        NeoPixel.__setitem__(self, j, [val, 0, 128])
                    NeoPixel.write(self)
        finally:
            self.off()