Ejemplo n.º 1
0
    def spoondrift_effect(self):
        self.clear_flag = False

        light = 1.5
        for index in range(24):
            for count in range(8):
                led_matrix_o.set_single_led(((index + 4) + count) % 12, 10, 20,
                                            120)

            led_matrix_o.set_single_led((index + 0) % 12, int(10 * light),
                                        int(20 * light), 120)
            led_matrix_o.set_single_led((index + 1) % 12, int(10 * light),
                                        int(20 * light), 120)
            led_matrix_o.set_single_led((index + 2) % 12,
                                        int(10 * (3.67 * (light - 1) + 1)),
                                        int(20 * (1.67 * (light - 1) + 1)),
                                        120)
            led_matrix_o.set_single_led((index + 3) % 12,
                                        int(10 * (3.67 * (light - 1) + 1)),
                                        int(20 * (1.67 * (light - 1) + 1)),
                                        120)

            light = math.sin((index / 24) * math.pi) * 3 + 1.5
            time.sleep(0.2)
            if self.clear_flag:
                led_matrix_o.clear()
                break
Ejemplo n.º 2
0
    def rainbow_effect(self):
        self.clear_flag = False

        red = 0
        green = 0
        blue = 0
        for i in range(1001):
            red = int((math.sin(0.36 * i / 180.0 * math.pi) + 1) * 100)
            green = int((math.sin(0.72 * i / 180.0 * math.pi) + 1) * 100)
            blue = int((math.sin(1.08 * i / 180.0 * math.pi) + 1) * 100)
            led_matrix_o.set_all_led(red, green, blue)
            time.sleep(0.002)
            if self.clear_flag:
                led_matrix_o.clear()
                break
Ejemplo n.º 3
0
    def meteor_effect(self):
        self.clear_flag = False

        for index in range(12):
            for count in range(8):
                led_matrix_o.set_single_led(((index + 4) + count) % 12, 1, 0,
                                            6)

            led_matrix_o.set_single_led((index + 0) % 12, 10, 10, 10)
            led_matrix_o.set_single_led((index + 1) % 12, 20, 20, 20)
            led_matrix_o.set_single_led((index + 2) % 12, 30, 30, 30)
            led_matrix_o.set_single_led((index + 3) % 12, 120, 120, 120)
            time.sleep(0.05)
            if self.clear_flag:
                led_matrix_o.clear()
                break
Ejemplo n.º 4
0
    def firefly_effect(self):
        global firefly_table
        self.clear_flag = False

        count = 0
        # here off all led is necessary
        led_matrix_o.set_all_led(0, 0, 0)
        while True:
            for i in range(len(firefly_table)):
                led_matrix_o.set_single_led(firefly_table[i][0], 0,
                                            firefly_table[i][1], 0)

                if firefly_table[i][3] == True:
                    firefly_table[i][1] += 1
                    if firefly_table[i][1] >= firefly_table[i][2]:
                        firefly_table[i][3] = False
                else:
                    firefly_table[i][1] -= 1

                    if firefly_table[i][1] == 0:
                        firefly_table[i][4] += 1
                        if firefly_table[i][4] == 3:
                            led_matrix_o.set_single_led(
                                firefly_table[i][0], 0, 0, 0)
                            # create new one
                            firefly_id = random.randint(-4, 16)
                            step = random.randint(10, 25)
                            firefly_table[i][0] = firefly_id
                            firefly_table[i][1] = 1
                            firefly_table[i][2] = step
                            firefly_table[i][3] = True
                            firefly_table[i][4] = 0
                        else:
                            firefly_table[i][3] = True
                time.sleep(0.003)

            time.sleep(0.02)

            count += 1
            if count > 250:
                break

            if self.clear_flag:
                led_matrix_o.clear()
                break
Ejemplo n.º 5
0
 def clear(self):
     self.clear_flag = True
     led_matrix_o.clear()
Ejemplo n.º 6
0
 def off_all(self):
     led_matrix_o.clear()