45 lines
1.3 KiB
ReStructuredText
45 lines
1.3 KiB
ReStructuredText
.. _rgb-led-sample:
|
|
|
|
PWM: RGB LED
|
|
############
|
|
|
|
Overview
|
|
********
|
|
|
|
This is a sample app which drives a RGB LED using PWM.
|
|
|
|
There are three single-color component LEDs in an RGB LED. Each component LED
|
|
is driven by a PWM port where the pulse width is changed from zero to a fusion
|
|
flicker threshold (the minimum flicker rate where the LED is perceived as being
|
|
steady), causing each component LED to step from dark to max brightness. Three
|
|
**for** loops (one for each component LED) generate a gradual range of color
|
|
changes from the RGB LED, and the sample repeats forever.
|
|
|
|
Wiring
|
|
******
|
|
|
|
Hexiwear K64
|
|
============
|
|
No special board setup is necessary because there is an on-board RGB LED
|
|
connected to the K64 PWM.
|
|
|
|
Arduino 101
|
|
===========
|
|
|
|
You will need to connect the LED pins to PWM0, PWM1 and PWM2 on Arduino 101 via
|
|
the shield. Depending on what kind of RGB LED you are using, please connect the
|
|
common cathode to the ground or the common anode to Vcc. You need current
|
|
limiting resistor for each of the single color LEDs.
|
|
|
|
Building and Running
|
|
********************
|
|
|
|
This samples does not output anything to the console. It can be built and
|
|
flashed to a board as follows:
|
|
|
|
.. zephyr-app-commands::
|
|
:zephyr-app: samples/basic/rgb_led
|
|
:board: hexiwear_k64
|
|
:goals: build flash
|
|
:compact:
|