-
Notifications
You must be signed in to change notification settings - Fork 292
Revise 2027 addressable LEDs documentation for Systemcore #3195
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: 2027
Are you sure you want to change the base?
Changes from 1 commit
455e723
4581a74
0b528a2
2d04c46
ed9e326
bfb4496
646d3dd
bf9b975
5411d96
fc96c5d
75fda75
dd14cc5
c6d969f
d0cc195
3dabdab
e0c5613
b027e55
cc855b8
c84f31b
7ab4845
20ee4f8
f5e4333
abd05ec
24aa6ea
dd5f467
e8ed7b1
bbd9135
85d324a
68cdb8d
3e3d762
11828c3
317b024
41aa9ea
5610467
9c7a6a4
a269713
a5741d7
7478f86
a11134d
0d0b021
2fef28b
393fb60
d7b5ca4
44660f1
118a766
b8f639c
5ee5d69
f52730b
2fcd6fa
98aa321
91b9629
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -1,21 +1,20 @@ | ||||||
| # Addressable LEDs | ||||||
|
|
||||||
| LED strips have been commonly used by teams for several years for a variety of reasons. They allow teams to debug robot functionality from the audience, provide a visual marker for their robot, and can simply add some visual appeal. WPILib has an API for controlling WS2812, WS2812B, and WS2815 LEDs with their data pin connected via :term:`PWM`. | ||||||
| LED strips have been commonly used by teams for several years for a variety of reasons. They allow teams to debug robot functionality from the audience, provide a visual marker for their robot, and can simply add some visual appeal. These are also referred to as NeoPixels as well. WPILib has an API for controlling WS2812, WS2812B, WS2815, and other LEDs that share the same protocol (WS2811, SK6812, etc.) with their data pin connected to the SIGNAL pin of a SMART I/O connector. | ||||||
Another-Person1 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||
|
|
||||||
Another-Person1 marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
| .. note:: LEDs can be controlled through this API while the robot is disabled. | ||||||
Another-Person1 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
Another-Person1 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||
|
|
||||||
| .. important:: The roboRIO can only control **one** ``AddressableLED`` object at a time through its PWM ports. Attempting to create multiple ``AddressableLED`` objects will result in a HAL allocation error. If you need to control multiple physical LED strips, you have several options: | ||||||
Another-Person1 marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
| .. seealso:: For detailed information about powering and best practices for addressable LEDs, see the [Adafruit NeoPixel Überguide](https://learn.adafruit.com/adafruit-neopixel-uberguide/powering-neopixels). | ||||||
Another-Person1 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||
|
|
||||||
| - **Daisy-chain strips in series**: Connect multiple LED strips end-to-end as a single long strip, then use :ref:`buffer views <docs/software/hardware-apis/misc/addressable-leds:Controlling Sections of an LED Strip>` to control different sections independently | ||||||
| - **Use PWM Y-cables**: If you need identical patterns on multiple strips, use PWM Y-cables to send the same signal to multiple strips simultaneously | ||||||
| .. note:: WS281x LEDs (with the exception of the WS2815, see below warning) are designed for **5V**, but Systemcore ports output **3.3V**. This may cause issues with some LED strips, and a logic level shifter is needed, such as the [Adafruit Pixel Shifter](https://www.adafruit.com/product/6066). | ||||||
|
|
||||||
| .. seealso:: For detailed information about powering and best practices for addressable LEDs, see the [Adafruit NeoPixel Überguide](https://learn.adafruit.com/adafruit-neopixel-uberguide/powering-neopixels). | ||||||
| .. note:: The 300-500 ohm data line resistor and large 1000uF capactitor across the power pins are highly recommended. Also, use a VRM to power the LEDs, with the *grounds* tied together. | ||||||
|
||||||
| .. note:: The 300-500 ohm data line resistor and large 1000uF capactitor across the power pins are highly recommended. Also, use a VRM to power the LEDs, with the *grounds* tied together. | |
| .. note:: The 300-500 ohm data line resistor and large 1000uF capactitor across the power pins are highly recommended. Also, use an external 5V regulator to power the LEDs, with the *grounds* tied together. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suspect the systemcore has a series resistor for current limiting that would make the data line resistor unnecessary (the roboRIO did)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
does it?
supposedly doubling up doesn't cause problems.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It could cause signal integrity issues if there's too much series resistance
Uh oh!
There was an error while loading. Please reload this page.