The sample code below is a tiny bit different depending if you have a Crickit for Circuit Playground Express or Crickit FeatherWing.
Both have some functions to make some colorful animations. Feel free to change the lighting to suit your project.
To pick your own color values, see http://www.color-hex.com/ to find your favorite red, green, and blue to place in your code!
Crickit with Circuit Playground Express
The NeoPixel terminal block is controlled by the Circuit Playground Express pad A1. The pad A1 definition is obtained by import board
. Then the NeoPixel routine is from import neopixel
.
Various animations are provided by def
ined functions wheel
, color_chase
and rainbow_cycle
. Various solid colors are then defined, you are free to use whichever colors you wish.
You can define a new color variable as a Python tuple with three values for red, green, blue, for example WHITE = (255, 255, 255)
.
# SPDX-FileCopyrightText: 2018 Kattni Rembor for Adafruit Industries # # SPDX-License-Identifier: MIT # Drive NeoPixels on the NeoPixels Block on Crickit for # Circuit Playground Express import time from rainbowio import colorwheel import neopixel import board num_pixels = 30 # Number of pixels driven from Crickit NeoPixel terminal # The following line sets up a NeoPixel strip on Crickit CPX pin A1 pixels = neopixel.NeoPixel(board.A1, num_pixels, brightness=0.3, auto_write=False) def color_chase(color, wait): for i in range(num_pixels): pixels[i] = color time.sleep(wait) pixels.show() time.sleep(0.5) def rainbow_cycle(wait): for j in range(255): for i in range(num_pixels): rc_index = (i * 256 // num_pixels) + j pixels[i] = colorwheel(rc_index & 255) pixels.show() time.sleep(wait) RED = (255, 0, 0) YELLOW = (255, 150, 0) GREEN = (0, 255, 0) CYAN = (0, 255, 255) BLUE = (0, 0, 255) PURPLE = (180, 0, 255) while True: print("fill") pixels.fill(RED) pixels.show() # Increase or decrease to change the speed of the solid color change. time.sleep(1) pixels.fill(GREEN) pixels.show() time.sleep(1) pixels.fill(BLUE) pixels.show() time.sleep(1) print("chase") color_chase(RED, 0.1) # Increase the number to slow down the color chase color_chase(YELLOW, 0.1) color_chase(GREEN, 0.1) color_chase(CYAN, 0.1) color_chase(BLUE, 0.1) color_chase(PURPLE, 0.1) print("rainbow") rainbow_cycle(0) # Increase the number to slow down the rainbow
Crickit FeatherWing
The NeoPixel block signal wire is connected to the Crickit Seesaw control chip pin #20. The following code sets up an external 30 NeoPixel strip.
# SPDX-FileCopyrightText: 2018 Kattni Rembor for Adafruit Industries # # SPDX-License-Identifier: MIT # Drive NeoPixels on the NeoPixels Block on Crickit FeatherWing import time from rainbowio import colorwheel from adafruit_crickit import crickit from adafruit_seesaw.neopixel import NeoPixel num_pixels = 30 # Number of pixels driven from Crickit NeoPixel terminal # The following line sets up a NeoPixel strip on Seesaw pin 20 for Feather pixels = NeoPixel(crickit.seesaw, 20, num_pixels) def color_chase(color, wait): for i in range(num_pixels): pixels[i] = color time.sleep(wait) pixels.show() time.sleep(0.5) def rainbow_cycle(wait): for j in range(255): for i in range(num_pixels): rc_index = (i * 256 // num_pixels) + j pixels[i] = colorwheel(rc_index & 255) pixels.show() time.sleep(wait) RED = (255, 0, 0) YELLOW = (255, 150, 0) GREEN = (0, 255, 0) CYAN = (0, 255, 255) BLUE = (0, 0, 255) PURPLE = (180, 0, 255) while True: print("fill") pixels.fill(RED) pixels.show() # Increase or decrease to change the speed of the solid color change. time.sleep(1) pixels.fill(GREEN) pixels.show() time.sleep(1) pixels.fill(BLUE) pixels.show() time.sleep(1) print("chase") color_chase(RED, 0.1) # Increase the number to slow down the color chase color_chase(YELLOW, 0.1) color_chase(GREEN, 0.1) color_chase(CYAN, 0.1) color_chase(BLUE, 0.1) color_chase(PURPLE, 0.1) print("rainbow") rainbow_cycle(0) # Increase the number to slow down the rainbow
Page last edited January 22, 2025
Text editor powered by tinymce.