]> vault307.fbx.one Git - random.git/blob - letITglow.py
different projects to learn new things
[random.git] / letITglow.py
1 from machine import Pin
2 from neopixel import NeoPixel
3 import time, random
4
5 # Set up LED pins
6 seg1 = Pin(0, Pin.OUT)
7 seg2 = Pin(1, Pin.OUT)
8 seg3 = Pin(2, Pin.OUT)
9 seg4 = Pin(3, Pin.OUT)
10 seg5 = Pin(4, Pin.OUT)
11 seg6 = Pin(6, Pin.OUT)
12
13 # Create a list of our LEDs
14 segments = [seg1, seg2, seg3, seg4, seg5, seg6]
15
16 # Set up buttons
17 greenbtn = Pin(14, Pin.IN, Pin.PULL_DOWN)
18 redbtn = Pin(15, Pin.IN, Pin.PULL_DOWN)
19
20 # Define the strip pin number (2) and number of LEDs (12)
21 ring = NeoPixel(Pin(16), 12)
22
23 # Initialize ring
24 ring.fill((0,0,0))
25 ring.write()
26 time.sleep(1)
27
28 while True:
29
30 # For loop to turn each LED on then off in order of the list
31 for led in segments:
32
33 led.value(1)
34 time.sleep(0.08)
35 led.value(0)
36
37 # For loop in reverse, running backwards through the list
38 for led in reversed (segments):
39
40 led.value(1)
41 time.sleep(0.08)
42 led.value(0)
43
44 # Create random RGB values
45 r = random.randint(0,100)
46 g = random.randint(0,100)
47 b = random.randint(0,100)
48
49 for i in range(12):
50
51 # Light each LED a random colour
52 ring[i] = (r,g,b)
53 ring.write()
54
55 # Show the LED for this long
56 time.sleep(0.05)
57
58 #Clear the ring at the end of each loop
59 ring.fill((0,0,0))
60 ring.write()
61