Rgbxmastree
Code examples for the RGB Xmas Tree
Install / Use
/learn @ThePiHut/RgbxmastreeREADME
rgbxmastree
Code examples for the RGB Xmas Tree
Getting started
Start by downloading the xmas tree file. Open a terminal and type:
wget https://bit.ly/2Lr9CT3 -O tree.py
Test the tree by running python3 tree.py (or running it from an IDE like Mu,
Thonny or IDLE). All the lights should come on (white).
When you write your own Python code, make sure you keep this file in the same folder.
If you're using Raspbian Desktop, you don't need to install anything. If you're using Raspbian Lite, you'll need to install gpiozero with:
sudo apt install python3-gpiozero
Open a Python shell or IDE, import RGBXmasTree and initialise your tree:
from tree import RGBXmasTree
tree = RGBXmasTree()
Change the colour
You can set the colour of all the LEDs together using RGB values (all 0-1):
from tree import RGBXmasTree
tree = RGBXmasTree()
tree.color = (1, 0, 0)
Alternatively you can use the colorzero library:
from tree import RGBXmasTree
from colorzero import Color
tree = RGBXmasTree()
tree.color = Color('red')
You can write a loop to repeatedly cycle through red, green and blue:
from tree import RGBXmasTree
from time import sleep
tree = RGBXmasTree()
colors = [(1, 0, 0), (0, 1, 0), (0, 0, 1)]
for color in colors:
tree.color = color
sleep(1)
Individual control
You can also control each LED individually, for example turn each one red, one at a time:
from tree import RGBXmasTree
from time import sleep
tree = RGBXmasTree()
for pixel in tree:
pixel.color = (1, 0, 0)
sleep(1)
To control a specific pixel, you can access it by its index number (0-24):
tree[0].color = (0, 1, 0)
Change the brightness
You can change the brightness from 0 to 1 - the default is 0.5. You can set this when initialising your tree:
from tree import RGBXmasTree
tree = RGBXmasTree(brightness=0.1)
Alternatively, you can change it after initialisation:
from tree import RGBXmasTree
tree = RGBXmasTree()
tree.brightness = 0.1
You'll find that 1 is extremely bright and even 0.1 is plenty bright enough if the tree is on your desk :)
Examples
RGB cycle
Cycle through red, green and blue, changing all pixels together
One-by-one
Cycle through red, green and blue, changing pixel-by-pixel
Hue cycle
Cycle through hues forever
Random sparkles
Randomly sparkle all the pixels
Related Skills
node-connect
349.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.5kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
