LED Ring NeoPixel: Difference between revisions

From Sketching with Hardware at LMU Wiki
Jump to navigation Jump to search
Line 30: Line 30:
= A small Program in MicroPython =
= A small Program in MicroPython =
<syntaxhighlight lang="python" line='line'>
<syntaxhighlight lang="python" line='line'>
# todo
import neopixel
# code goes here
from machine import Pin
from time import sleep
 
# number of leds
n=8
# connected Pin
p=0
 
np = neopixel.NeoPixel(Pin(p),n)
 
# colors the led at position in (r,g,b)
def color(position, r,g,b):
  np[position]=(r,g,b)
  np.write()
 
# remove all colors
def clearAll():
  for i in range(n):
    color(i,0,0,0)
 
# remove color from led at position
def clear(position):
  color(position,0,0,0)
 
 
# the color (r,g,b) should run x times like a cycle
def cycle(r,g,b,wait,x):
  # before setting new colors, clear the ring
  clearAll()
 
  # the cycle should run x times
  for j in range(x):
    for i in range(n):
      # clear the previous led
      if(i==0):
        clear(n-1)
      else:
        clear(i-1)
     
      # color the current led
      color(i,r,g,b)
     
      # wait, color is displayed this time
      sleep(wait)
 
 
cycle(0,255,255,0.5,4)
</syntaxhighlight>
</syntaxhighlight>



Revision as of 12:30, 19 August 2020

Description

Text

Image(s)


How to connect it electrically

Text

Image(s)

How to control it in MicroPython

import neopixel
from machine import Pin

# number of leds
n=8
# connected Pin
p=0

np = neopixel.NeoPixel(Pin(p),n)

# sets color of the led at position 0 to (r,g,b)
np[0] = (255,0,0)
# colors the leds
np.write()

A small Program in MicroPython

import neopixel
from machine import Pin
from time import sleep

# number of leds
n=8
# connected Pin
p=0

np = neopixel.NeoPixel(Pin(p),n)

# colors the led at position in (r,g,b)
def color(position, r,g,b):
  np[position]=(r,g,b)
  np.write()

# remove all colors
def clearAll():
  for i in range(n):
    color(i,0,0,0)

# remove color from led at position
def clear(position):
  color(position,0,0,0)


# the color (r,g,b) should run x times like a cycle 
def cycle(r,g,b,wait,x): 
  # before setting new colors, clear the ring
  clearAll()
  
  # the cycle should run x times
  for j in range(x):
    for i in range(n):
      # clear the previous led
      if(i==0):
        clear(n-1)
      else:
        clear(i-1)
      
      # color the current led
      color(i,r,g,b)
      
      # wait, color is displayed this time
      sleep(wait)


cycle(0,255,255,0.5,4)

text

image(s)

Related Tutorial Videos

change to the right video


Background

text

image(s)