from random import choice
import neopixel
from microbit import pin0, pin1, sleep, display
# Установите длину ленты
tape_length_1 = 60
tape_length_2 = 60
violet = (128, 0, 128)
blue = (0, 0, 255)
turquoise = (48, 213, 200)
np1 = neopixel.NeoPixel(pin0, tape_length_1)
np2 = neopixel.NeoPixel(pin1, tape_length_2)
def pixel_overflow(color, color1, color2, border1, border2, time_sleep=200):
for pixel_id in range(0, tape_length_1):
if pixel_id <border1:
np1[pixel_id] = (color)
np2[pixel_id] = (color)
elif border1<=pixel_id<=border2:
np1[pixel_id] = (color1)
np2[pixel_id] = (color1)
else:
np1[pixel_id] = (color2)
np2[pixel_id] = (color2)
np1.show()
np2.show()
sleep(time_sleep)
for pixel_id in range(tape_length_1-1, 0, -1):
np1[pixel_id] = (0,0,0)
np2[pixel_id] = (0,0,0)
np1.show()
np2.show()
sleep(time_sleep//2)
def pixel_overflow_to_meeting(color, color1, color2, border1, border2, time_sleep=200):
for pixel_id in range(0, tape_length_1):
pixel_id2 = tape_length_1-pixel_id-1
if pixel_id <border1:
np1[pixel_id] = (color)
np2[pixel_id2] = (color2)
elif border1<=pixel_id<=border2:
np1[pixel_id] = (color1)
np2[pixel_id2] = (color1)
else:
np1[pixel_id] = (color2)
np2[pixel_id2] = (color)
np1.show()
np2.show()
sleep(time_sleep)
for pixel_id in range(tape_length_1-1, -1, -1):
pixel_id2 = tape_length_1-pixel_id-1
np1[pixel_id] = (0,0,0)
np2[pixel_id2] = (0,0,0)
np1.show()
np2.show()
sleep(time_sleep//2)
def bundles(color, color1, color2, border1, border2, size_bundles, time_sleep=200):
bundles_list=[]
for i in range(0, tape_length_1-size_bundles, size_bundles):
bundles_list.append(i)
for check in range(0, tape_length_1//size_bundles-1):
pixel_border = choice(bundles_list)
bundles_list.remove(pixel_border)
for pixel_id in range(pixel_border,pixel_border+size_bundles):
if pixel_id <border1:
np1[pixel_id] = (color)
np2[pixel_id] = (color2)
elif border1<=pixel_id<=border2:
np1[pixel_id] = (color1)
np2[pixel_id] = (color1)
else:
np1[pixel_id] = (color2)
np2[pixel_id] = (color)
np1.show()
np2.show()
sleep(time_sleep)
for pixel_id in range(tape_length_1-1, 0, -1):
np1[pixel_id] = (0,0,0)
np2[pixel_id] = (0,0,0)
np1.show()
np2.show()
sleep(0)
if __name__ == '__main__':
while True:
pixel_overflow(violet, blue, turquoise, 20,40,100)
bundles(violet, blue, turquoise, 20, 40, 3, 100)
fpixel_overflow_to_meeting(violet, blue, turquoise, 20,40,100)