Merge pull request #150 from brentru/add-neopixel-example
Add new basics example for use with NeoPixel
This commit is contained in:
commit
d732c49c9a
1 changed files with 69 additions and 0 deletions
69
examples/basics/neopixel.py
Normal file
69
examples/basics/neopixel.py
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
"""
|
||||
`rgb_led.py`
|
||||
=======================================================================
|
||||
Control a NeoPixel RGB LED using Adafruit IO and Python
|
||||
|
||||
Tutorial Link: https://learn.adafruit.com/adafruit-io-basics-color
|
||||
|
||||
Adafruit invests time and resources providing this open source code.
|
||||
Please support Adafruit and open source hardware by purchasing
|
||||
products from Adafruit!
|
||||
|
||||
Author(s): Brent Rubell for Adafruit Industries
|
||||
Copyright (c) 2023 Adafruit Industries
|
||||
Licensed under the MIT license.
|
||||
All text above must be included in any redistribution.
|
||||
|
||||
Dependencies:
|
||||
- Adafruit_Blinka
|
||||
(https://github.com/adafruit/Adafruit_Blinka)
|
||||
- Adafruit_CircuitPython_NeoPixel
|
||||
(https://github.com/adafruit/Adafruit_CircuitPython_NeoPixel)
|
||||
"""
|
||||
import time
|
||||
import board
|
||||
import neopixel
|
||||
from Adafruit_IO import Client, Feed, RequestError
|
||||
|
||||
# Choose an open pin connected to the Data In of the NeoPixel strip, i.e. board.D18
|
||||
# NeoPixels must be connected to D10, D12, D18 or D21 to work.
|
||||
pixel_pin = board.D18
|
||||
|
||||
# The number of NeoPixels
|
||||
num_pixels = 1
|
||||
|
||||
# The order of the pixel colors - RGB or GRB. Some NeoPixels have red and green reversed!
|
||||
ORDER = neopixel.GRB
|
||||
|
||||
pixels = neopixel.NeoPixel(
|
||||
pixel_pin, num_pixels, brightness=0.2, auto_write=False, pixel_order=ORDER
|
||||
)
|
||||
|
||||
# Set to your Adafruit IO key.
|
||||
# Remember, your key is a secret,
|
||||
# so make sure not to publish it when you publish this code!
|
||||
ADAFRUIT_IO_KEY = 'YOUR_AIO_KEY'
|
||||
|
||||
# Set to your Adafruit IO username.
|
||||
# (go to https://accounts.adafruit.com to find your username)
|
||||
ADAFRUIT_IO_USERNAME = 'YOUR_AIO_USERNAME'
|
||||
|
||||
# Create an instance of the REST client.
|
||||
aio = Client(ADAFRUIT_IO_USERNAME, ADAFRUIT_IO_KEY)
|
||||
|
||||
try: # if we have a 'color' feed
|
||||
color = aio.feeds('color')
|
||||
except RequestError: # create an `color` feed
|
||||
feed = Feed(name='color')
|
||||
color = aio.create_feed(feed)
|
||||
|
||||
while True:
|
||||
# get the value of the Adafruit IO `color` feed
|
||||
color_val = aio.receive(color.key)
|
||||
# Print hex value
|
||||
print('Received Color HEX: ', color_val)
|
||||
pixels.fill(color_val.value)
|
||||
pixels.show()
|
||||
|
||||
# let's sleep/wait so we don't flood adafruit io's servers with requests
|
||||
time.sleep(3)
|
||||
Loading…
Reference in a new issue