Coding
This project uses the neopixel library from the CircuitPython. For more information on NeoPixel animations, check out the LED animation guide and the NeoPixel Uber Guide.
Installing or Upgrading CircuitPython
You should ensure you have CircuitPython 5.0 or greater on your board. Plug your board in with a known good data + power cable (not the cheesy USB cable that comes with USB power packs, they are power only). You should see a new flash drive pop up.
If the drive is CIRCUITPY, then open the boot_out.txt file to ensure the version number is 5.0 or greater.
Adafruit CircuitPython 5.3.0 on 2020-04-29; Adafruit Feather nRF52840 Express with nRF52840
To use with CircuitPython, you need to first install a few libraries, into the lib folder on your CIRCUITPY drive. Then you need to update code.py with the example script.
Thankfully, we can do this in one go. In the example below, click the Download Project Bundle button below to download the necessary libraries and the code.py file in a zip file. Extract the contents of the zip file, open the directory BusyBox_Sign/ and then click on the directory that matches the version of CircuitPython you're using and copy the contents of that directory to your CIRCUITPY drive.
Your CIRCUITPY
# SPDX-FileCopyrightText: 2020 Noe Ruiz for Adafruit Industries # # SPDX-License-Identifier: MIT import time import board import neopixel from adafruit_led_animation.animation.comet import Comet from adafruit_led_animation.animation.pulse import Pulse from adafruit_led_animation.animation.blink import Blink from adafruit_led_animation.animation.rainbow import Rainbow from adafruit_led_animation.animation.colorcycle import ColorCycle from adafruit_led_animation.sequence import AnimationSequence from adafruit_led_animation import helper from adafruit_led_animation.color import PURPLE, AQUA, RED, JADE, ORANGE, YELLOW, BLUE #Setup NeoPixels pixel_pin = board.D6 pixel_num = 16 pixels = neopixel.NeoPixel(pixel_pin, pixel_num, brightness=.9, auto_write=False) #Setup NeoPixel Grid pixel_wing_vertical = helper.PixelMap.vertical_lines( pixels, 8, 2, helper.horizontal_strip_gridmap(8, alternating=True) ) pixel_wing_horizontal = helper.PixelMap.horizontal_lines( pixels, 8, 2, helper.horizontal_strip_gridmap(8, alternating=True) ) #Setup LED Animations rainbow = Rainbow(pixels, speed=.001, period=2) pulse = Pulse(pixels, speed=0.1, color=RED, period=3) blink = Blink(pixels, speed=0.5, color=RED) colorcycle = ColorCycle(pixels, speed=0.4, colors=[RED, ORANGE, YELLOW, JADE, BLUE, AQUA, PURPLE]) comet_v = Comet(pixel_wing_vertical, speed=0.05, color=PURPLE, tail_length=6, bounce=True) #Setup the LED Sequences animations = AnimationSequence( rainbow, pulse, comet_v, blink, colorcycle, advance_interval=5.95, ) #Run ze animations! while True: animations.animate()
Text editor powered by tinymce.