Autformat the rest

This commit is contained in:
Craig Richardson 2018-05-14 19:11:51 +01:00
parent 1350a433a7
commit aecc9347c9
15 changed files with 164 additions and 115 deletions

View file

@ -7,30 +7,67 @@
# License: MIT License (https://opensource.org/licenses/MIT)
import time
import board
import neopixel
# Configuration:
# Message to display (capital letters and numbers only)
message = 'SOS'
dot_length = 0.15 # Duration of one Morse dot
dash_length = (dot_length * 3.0) # Duration of one Morse dash
symbol_gap = dot_length # Duration of gap between dot or dash
dot_length = 0.15 # Duration of one Morse dot
dash_length = (dot_length * 3.0) # Duration of one Morse dash
symbol_gap = dot_length # Duration of gap between dot or dash
character_gap = (dot_length * 3.0) # Duration of gap between characters
flash_color = (255, 0, 0) # Color of the morse display.
brightness = 0.5 # Display brightness (0.0 - 1.0)
morse = [('A', '.-'), ('B', '-...'), ('C', '-.-.'), ('D', '-..'), ('E', '.'), ('F', '..-.'), ('G', '--.'), ('H', '....'), ('I', '..'), ('J', '.---'), ('K', '-.-'), ('L', '.-..'), ('M', '--'), ('N', '-.'), ('O', '---'), ('P', '.--.'), ('Q', '--.-'), ('R', '.-.'), ('S',
'...'), ('T', '-'), ('U', '..-'), ('V', '...-'), ('W', '.--'), ('X', '-..-'), ('Y', '-.--'), ('Z', '--..'), ('0', '-----'), ('1', '.----'), ('2', '..---'), ('3', '...--'), ('4', '....-'), ('5', '.....'), ('6', '-....'), ('7', '--...'), ('8', '---..'), ('9', '----.')]
flash_color = (255, 0, 0) # Color of the morse display.
brightness = 0.5 # Display brightness (0.0 - 1.0)
morse = [
('A', '.-'),
('B', '-...'),
('C', '-.-.'),
('D', '-..'),
('E', '.'),
('F', '..-.'),
('G', '--.'),
('H', '....'),
('I', '..'),
('J', '.---'),
('K', '-.-'),
('L', '.-..'),
('M', '--'),
('N', '-.'),
('O', '---'),
('P', '.--.'),
('Q', '--.-'),
('R', '.-.'),
('S', '...'),
('T', '-'),
('U', '..-'),
('V', '...-'),
('W', '.--'),
('X', '-..-'),
('Y', '-.--'),
('Z', '--..'),
('0', '-----'),
('1', '.----'),
('2', '..---'),
('3', '...--'),
('4', '....-'),
('5', '.....'),
('6', '-....'),
('7', '--...'),
('8', '---..'),
('9', '----.'),
]
# Define a class that represents the morse flasher.
class MorseFlasher:
def __init__(self, color=(255, 255, 255)):
# set the color adjusted for brightness
self._color = (
int(color[0]*brightness), int(color[1]*brightness), int(color[2]*brightness))
int(color[0] * brightness), int(color[1] * brightness), int(color[2] * brightness))
def light(self, on=True):
if on:

View file

@ -1,9 +1,10 @@
import board
import time
import pulseio
from digitalio import DigitalInOut, Direction, Pull
from analogio import AnalogIn
import adafruit_motor.servo
import board
import pulseio
from analogio import AnalogIn
from digitalio import DigitalInOut, Direction, Pull
pwm = pulseio.PWMOut(board.D5, frequency=50)
servo = adafruit_motor.servo.Servo(pwm)

View file

@ -1,36 +1,36 @@
import board
import neopixel
import time
try:
import urandom as random # for v1.0 API support
except ImportError:
import random
numpix = 17 # Number of NeoPixels
pixpin = board.D1 # Pin where NeoPixels are connected
numpix = 17 # Number of NeoPixels
pixpin = board.D1 # Pin where NeoPixels are connected
strip = neopixel.NeoPixel(pixpin, numpix)
minAlpha = 0.1 # Minimum brightness
maxAlpha = 0.4 # Maximum brightness
minAlpha = 0.1 # Minimum brightness
maxAlpha = 0.4 # Maximum brightness
alpha = (minAlpha + maxAlpha) / 2 # Start in middle
alphaDelta = 0.008 # Amount to change brightness each time through loop
alphaUp = True # If True, brightness increasing, else decreasing
alphaUp = True # If True, brightness increasing, else decreasing
strip.fill([255, 0, 0]) # Fill red, or change to R,G,B of your liking
while True: # Loop forever...
if random.randint(1, 5) == 5: # 1-in-5 random chance
alphaUp = not alphaUp # of reversing direction
if alphaUp: # Increasing brightness?
alpha += alphaDelta # Add some amount
if alpha >= maxAlpha: # At or above max?
if random.randint(1, 5) == 5: # 1-in-5 random chance
alphaUp = not alphaUp # of reversing direction
if alphaUp: # Increasing brightness?
alpha += alphaDelta # Add some amount
if alpha >= maxAlpha: # At or above max?
alpha = maxAlpha # Limit to max
alphaUp = False # and switch direction
else: # Else decreasing brightness
alpha -= alphaDelta # Subtract some amount
if alpha <= minAlpha: # At or below min?
alphaUp = False # and switch direction
else: # Else decreasing brightness
alpha -= alphaDelta # Subtract some amount
if alpha <= minAlpha: # At or below min?
alpha = minAlpha # Limit to min
alphaUp = True # and switch direction
alphaUp = True # and switch direction
strip.brightness = alpha # Set brightness to 0.0 to 1.0
strip.write() # and issue data to LED strip
strip.brightness = alpha # Set brightness to 0.0 to 1.0
strip.write() # and issue data to LED strip

View file

@ -1,32 +1,34 @@
import time
import analogio
import board
import digitalio
import analogio
import neopixel
import time
try:
import urandom as random # for v1.0 API support
except:
import random
num_leds = 24 # 24 LED NeoPixel ring
neopixel_pin = board.D0 # Pin where NeoPixels are connected
vibration_pin = board.D1 # Pin where vibration switch is connected
analog_pin = board.A0 # Not connected to anything
num_leds = 24 # 24 LED NeoPixel ring
neopixel_pin = board.D0 # Pin where NeoPixels are connected
vibration_pin = board.D1 # Pin where vibration switch is connected
analog_pin = board.A0 # Not connected to anything
strip = neopixel.NeoPixel(neopixel_pin, num_leds)
default_frame_len = 0.06 # Time (in seconds) of typical animation frame
max_frame_len = 0.25 # Gradually slows toward this
default_frame_len = 0.06 # Time (in seconds) of typical animation frame
max_frame_len = 0.25 # Gradually slows toward this
min_frame_len = 0.005 # But sometimes as little as this
cooldown_at = 2.0 # After this many seconds, start slowing down
dim_at = 2.5 # After this many seconds, dim LEDs
brightness_high = 0.5 # Active brightness
cooldown_at = 2.0 # After this many seconds, start slowing down
dim_at = 2.5 # After this many seconds, dim LEDs
brightness_high = 0.5 # Active brightness
brightness_low = 0.125 # Idle brightness
color = [0, 120, 30] # Initial LED color
offset = 0 # Animation position
color = [0, 120, 30] # Initial LED color
offset = 0 # Animation position
frame_len = default_frame_len # Frame-to-frame time, seconds
last_vibration = 0.0 # Time of last vibration
last_frame = 0.0 # Time of last animation frame
last_vibration = 0.0 # Time of last vibration
last_frame = 0.0 # Time of last animation frame
# Random number generator is seeded from an unused 'floating'
# analog input - this helps ensure the random color choices
@ -55,10 +57,10 @@ while True: # Loop forever...
random.randint(32, 255),
random.randint(32, 255)]
frame_len = default_frame_len # Reset frame timing
last_vibration = t # Save last trigger time
last_vibration = t # Save last trigger time
# Stretch out frames if nothing has happened in a couple of seconds:
if((t - last_vibration) > cooldown_at):
if ((t - last_vibration) > cooldown_at):
frame_len += 0.001 # Add 1 ms
if frame_len > max_frame_len:
frame_len = min_frame_len

View file

@ -1,10 +1,11 @@
import time
from analogio import AnalogIn
import adafruit_character_lcd
import adafruit_fancyled.adafruit_fancyled as fancy
import board
import digitalio
import adafruit_character_lcd
import neopixel
from analogio import AnalogIn
lcd_rs = digitalio.DigitalInOut(board.D5)
lcd_en = digitalio.DigitalInOut(board.D6)

View file

@ -1,10 +1,11 @@
import time
import math
from analogio import AnalogIn
import time
import adafruit_character_lcd
import board
import digitalio
import adafruit_character_lcd
import neopixel
from analogio import AnalogIn
lcd_rs = digitalio.DigitalInOut(board.D5)
lcd_en = digitalio.DigitalInOut(board.D6)

View file

@ -1,12 +1,13 @@
from analogio import AnalogIn
import board
import time
import board
import neopixel
from analogio import AnalogIn
pot = AnalogIn(board.A1) # what pin the pot is on
pixpin = board.D0 # what pin the LEDs are on
numpix = 16 # number of LEDs in ring!
BPP = 4 # required for RGBW ring
pixpin = board.D0 # what pin the LEDs are on
numpix = 16 # number of LEDs in ring!
BPP = 4 # required for RGBW ring
ring = neopixel.NeoPixel(pixpin, numpix, bpp=BPP, brightness=0.9)

View file

@ -1,6 +1,7 @@
import time
import board
import neopixel
import time
pixpin = board.D1
numpix = 7
@ -11,9 +12,9 @@ rgb_colors = ([179, 0, 0],
[0, 179, 0],
[0, 0, 0])
rgb_idx = 0 # index counter - primary color we are on
color = (0, 164, 179) # Starting color
mode = 0 # Current animation effect
rgb_idx = 0 # index counter - primary color we are on
color = (0, 164, 179) # Starting color
mode = 0 # Current animation effect
offset = 0
prevtime = 0
@ -24,17 +25,17 @@ def wheel(pos):
if (pos < 0) or (pos > 255):
return (0, 0, 0)
if (pos < 85):
return (int(pos * 3), int(255 - (pos*3)), 0)
return (int(pos * 3), int(255 - (pos * 3)), 0)
elif (pos < 170):
pos -= 85
return (int(255 - pos*3), 0, int(pos*3))
return (int(255 - pos * 3), 0, int(pos * 3))
else:
pos -= 170
return (0, int(pos*3), int(255 - pos*3))
return (0, int(pos * 3), int(255 - pos * 3))
def rainbow_cycle(wait):
for j in range(255*6): # 6 cycles of all colors on wheel
for j in range(255 * 6): # 6 cycles of all colors on wheel
for r in range(len(pixels)):
idx = int((r * 255 / len(pixels)) + j)
pixels[r] = wheel(idx & 255)
@ -45,14 +46,14 @@ def rainbow_cycle(wait):
def rainbow(wait):
for j in range(255):
for i in range(len(pixels)):
idx = int(i+j)
idx = int(i + j)
pixels[i] = wheel(idx & 255)
pixels.write()
time.sleep(wait)
def rainbow_cycle_slow(wait):
for j in range(255*3): # 3 cycles of all colors on wheel
for j in range(255 * 3): # 3 cycles of all colors on wheel
for r in range(len(pixels)):
idx = int((r * 255 / len(pixels)) + j)
pixels[r] = wheel(idx & 255)
@ -61,7 +62,7 @@ def rainbow_cycle_slow(wait):
def rainbow_hold(wait):
for j in range(255*1): # 3 cycles of all colors on wheel
for j in range(255 * 1): # 3 cycles of all colors on wheel
for r in range(len(pixels)):
idx = int((r * 255 / len(pixels)) + j)
pixels[r] = wheel(idx & 255)
@ -71,26 +72,26 @@ def rainbow_hold(wait):
while True:
if (mode == 0): # rainbow hold
if (mode == 0): # rainbow hold
rainbow_hold(0.02)
time.sleep(.5)
elif (mode == 1): # rainbow cycle slow
elif (mode == 1): # rainbow cycle slow
rainbow_cycle_slow(0.02)
time.sleep(0.05)
elif (mode == 2): # rainbow cycle fast
elif (mode == 2): # rainbow cycle fast
rainbow_cycle(0.005)
time.sleep(0.050)
t = time.monotonic()
if ((t - prevtime) > 8): # Every 8 seconds...
mode += 1 # Next mode
if(mode > 2): # End of modes?
mode = 0 # Start modes over
if ((t - prevtime) > 8): # Every 8 seconds...
mode += 1 # Next mode
if (mode > 2): # End of modes?
mode = 0 # Start modes over
if (rgb_idx > 2): # reset R-->G-->B rotation
if (rgb_idx > 2): # reset R-->G-->B rotation
rgb_idx = 0
color = rgb_colors[rgb_idx] # next color assignment

View file

@ -1,7 +1,8 @@
from digitalio import DigitalInOut, Direction
import time
import board
import neopixel
import time
from digitalio import DigitalInOut, Direction
pixpin = board.D1
numpix = 5
@ -24,13 +25,13 @@ def wheel(pos):
if (pos < 0) or (pos > 255):
return (0, 0, 0)
if (pos < 85):
return (int(pos * 3), int(255 - (pos*3)), 0)
return (int(pos * 3), int(255 - (pos * 3)), 0)
elif (pos < 170):
pos -= 85
return (int(255 - pos*3), 0, int(pos*3))
return (int(255 - pos * 3), 0, int(pos * 3))
else:
pos -= 170
return (0, int(pos*3), int(255 - pos*3))
return (0, int(pos * 3), int(255 - pos * 3))
def rainbow_cycle(wait):
@ -44,12 +45,11 @@ def rainbow_cycle(wait):
def rainbow(wait):
for j in range(255):
for i in range(len(strip)):
idx = int(i+j)
idx = int(i + j)
strip[i] = wheel(idx & 255)
while True:
colorWipe((255, 0, 0), .1) # red and delay
colorWipe((0, 255, 0), .1) # green and delay
colorWipe((0, 0, 255), .1) # blue and delay

View file

@ -1,21 +1,23 @@
import time
import board
import neopixel
import time
try:
import urandom as random
except ImportError:
import random
numpix = 64 # Number of NeoPixels
numpix = 64 # Number of NeoPixels
pixpin = board.D1 # Pin where NeoPixels are connected
strip = neopixel.NeoPixel(pixpin, numpix, brightness=0.15)
color = [5, 250, 200] # RGB color - cyan
sine = [ # These are the pixels in order of animation - 70 pixels in total:
4, 3, 2, 1, 0, 15, 14, 13, 12, 20, 21, 22, 23, 24, 25, 26, 27, 28,
4, 3, 2, 1, 0, 15, 14, 13, 12, 20, 21, 22, 23, 24, 25, 26, 27, 28,
36, 35, 34, 33, 32, 47, 46, 45, 44, 52, 53, 54, 55, 56, 57, 58, 59, 60,
61, 62, 63, 48, 49, 50, 51, 52, 44, 43, 42, 41, 40, 39, 38, 37, 36, 28,
29, 30, 31, 16, 17, 18, 19, 20, 12, 11, 10, 9, 8, 7, 6, 5]
29, 30, 31, 16, 17, 18, 19, 20, 12, 11, 10, 9, 8, 7, 6, 5]
while True: # Loop forever...
for i in range(len(sine)):
@ -23,5 +25,5 @@ while True: # Loop forever...
strip[sine[i]] = [0, 0, 0]
# Draw 'head,' 10 pixels ahead:
strip[sine[(i + 10) % len(sine)]] = color
strip.write() # Refresh LED states
strip.write() # Refresh LED states
time.sleep(0.04) # 40 millisecond delay

View file

@ -1,28 +1,28 @@
import board
import neopixel
import time
try:
import urandom as random
except ImportError:
import random
numpix = 64 # Number of NeoPixels
numpix = 64 # Number of NeoPixels
pixpin = board.D1 # Pin where NeoPixels are connected
strip = neopixel.NeoPixel(pixpin, numpix, brightness=0.0)
colors = [
[232, 100, 255], # Purple
[200, 200, 20], # Yellow
[200, 200, 20], # Yellow
[30, 200, 200], # Blue
]
while True: # Loop forever...
c = random.randint(0, len(colors) - 1) # Choose random color index
j = random.randint(0, numpix - 1) # Choose random pixel
strip[j] = colors[c] # Set pixel to color
j = random.randint(0, numpix - 1) # Choose random pixel
strip[j] = colors[c] # Set pixel to color
for i in range(1, 5):
strip.brightness = i / 5.0 # Ramp up brightness
strip.brightness = i / 5.0 # Ramp up brightness
strip.write()
for i in range(5, 0, -1):
strip.brightness = i / 5.0 # Ramp down brightness
strip.brightness = i / 5.0 # Ramp down brightness
strip.write()
strip[j] = [0, 0, 0] # Set pixel to 'off'
strip[j] = [0, 0, 0] # Set pixel to 'off'

View file

@ -1,18 +1,20 @@
import time
import board
import neopixel
import time
try:
import urandom as random # for v1.0 API support
except ImportError:
import random
numpix = 64 # Number of NeoPixels
numpix = 64 # Number of NeoPixels
pixpin = board.D1 # Pin where NeoPixels are connected
strip = neopixel.NeoPixel(pixpin, numpix, brightness=0.15)
color = [75, 250, 100] # RGB color - teal
sine = [ # These are the pixels in order of animation - 36 pixels in total:
4, 3, 2, 1, 0, 15, 14, 13, 12, 20, 21, 22, 23, 24, 25, 26, 27, 28,
4, 3, 2, 1, 0, 15, 14, 13, 12, 20, 21, 22, 23, 24, 25, 26, 27, 28,
36, 35, 34, 33, 32, 47, 46, 45, 44, 52, 53, 54, 55, 56, 57, 58, 59, 60]
while True: # Loop forever...
@ -21,5 +23,5 @@ while True: # Loop forever...
strip[sine[i]] = color
# Erase 'tail,' 8 pixels back:
strip[sine[(i + len(sine) - 8) % len(sine)]] = [0, 0, 0]
strip.write() # Refresh LED states
strip.write() # Refresh LED states
time.sleep(0.016) # 16 millisecond delay

View file

@ -1,36 +1,37 @@
import time
import board
import neopixel
import time
try:
import urandom as random
except ImportError:
import random
numpix = 7 # Number of NeoPixels
numpix = 7 # Number of NeoPixels
pixpin = board.D1 # Pin where NeoPixels are connected
strip = neopixel.NeoPixel(pixpin, numpix, brightness=1, auto_write=True)
colors = [
[232, 100, 255], # Purple
[200, 200, 20], # Yellow
[200, 200, 20], # Yellow
[30, 200, 200], # Blue
]
def flash_random(wait, howmany):
for k in range(howmany):
c = random.randint(0, len(colors) - 1) # Choose random color index
j = random.randint(0, numpix - 1) # Choose random pixel
strip[j] = colors[c] # Set pixel to color
j = random.randint(0, numpix - 1) # Choose random pixel
strip[j] = colors[c] # Set pixel to color
for i in range(1, 5):
strip.brightness = i / 5.0 # Ramp up brightness
strip.brightness = i / 5.0 # Ramp up brightness
time.sleep(wait)
for i in range(5, 0, -1):
strip.brightness = i / 5.0 # Ramp down brightness
strip[j] = [0, 0, 0] # Set pixel to 'off'
strip.brightness = i / 5.0 # Ramp down brightness
strip[j] = [0, 0, 0] # Set pixel to 'off'
time.sleep(wait)

View file

@ -1,7 +1,7 @@
from digitalio import DigitalInOut, Direction
import board
import busio
import time
from digitalio import DigitalInOut, Direction
try:
import struct
except ImportError:
@ -26,7 +26,7 @@ while True:
buffer.pop(0)
if len(buffer) > 200:
buffer = [] # avoid an overrun if all bad data
buffer = [] # avoid an overrun if all bad data
if len(buffer) < 32:
continue
@ -66,4 +66,4 @@ while True:
print("---------------------------------------")
buffer = buffer[32:]
#print("Buffer ", buffer)
# print("Buffer ", buffer)

View file

@ -77,7 +77,7 @@ while True:
except adafruit_irremote.IRNECRepeatException: # unusual short code!
print("NEC repeat!")
command = last_command
except adafruit_irremote.IRDecodeException as e: # failed to decode
except adafruit_irremote.IRDecodeException as e: # failed to decode
print("Failed to decode:", e)
except MemoryError as e:
print("Memory error: ", e)