Component: LED Charlieplex (LEDs)
Author | Matrix Ltd. |
Version | 1.5 |
Category | LEDs |
Contents
LED Charlieplex component
Create an evenly spaced array of LED indicators using a reduced amount of I/O pins. Only one LED can be switched on at once, high speed multiplexing allows multiple LEDs to appear to be lit at once. Each will be connected in line with the standard charlieplex scheme. Set target object to point at any standard LED component to change the style.
Detailed description
No detailed description exists yet for this component
Examples
The Charlieplex scheme simply places two LEDs between each combination of two microcontroller control pins. One LED in forward bias the the other LED in reverse bias.
With two control pins you can control up to two LEDs or a single bicolour LED.
With three control pins you can control up to six LEDs or up to three bicolour LEDs.
With four control pins you can control up to twelve LEDs or up to six bicolour LEDs.
If all the LEDs you want to drive have the same characteristics then you can wire up like this to use the same current limiting resistors to drive multiple LEDs.
If the LEDs you want to drive have different characteristics then you can wire up like this to use different current limiting resistors for each individual LED.
The value of resistor used can be changed based on the brightness of the LED and power consumption.
This LED Calculator tool is a good resource for calculating the correct LED series protection resistor.
Here is an example of a 4-pin setup.
Downloadable macro reference
![]() |
LEDOn |
Turn on the selected LED | |
![]() |
Index |
Index of the LED to turn on starting from 1. | |
![]() |
Return |
![]() |
GetHandle |
Retrieves the object handle of the indexed clone. Returns zero for out of range indexes. | |
![]() |
Index |
[[File:]] - | Return |
![]() |
AllOff |
Turns off all elements | |
![]() |
Return |
![]() |
AllOff |
Turns off all elements | |
![]() |
Return |
![]() |
WriteRegister |
Writes a value to a register. | |
![]() |
Address |
![]() |
Value |
![]() |
Return |
![]() |
Initialise |
Configures the I2C peripheral and sets up the HT16K33 IC ready to drive the LEDs. | |
![]() |
Return |
![]() |
WriteLEDs |
Allows control of all 8-LEDs on the front of the Formula Flowcode. | |
![]() |
LED_Byte |
![]() |
Return |
![]() |
Initialise |
Starts up the formula flowcode PWM for motor control and performs the wait for button press | |
![]() |
Return |
![]() |
Initialise |
The Init macro must be called once to initialise the Graphical LCD display before any other Graphical LCD component macros are called. | |
![]() |
Return |
![]() |
Initialise |
The Init macro must be called once to initialise the Graphical LCD display before any other Graphical LCD component macros are called. | |
![]() |
Return |
![]() |
Initialise |
The Init macro must be called once to initialise the Graphical LCD display before any other Graphical LCD component macros are called. | |
![]() |
Return |
![]() |
Initialise |
The Init macro must be called once to initialise the Graphical LCD display before any other Graphical LCD component macros are called. | |
![]() |
Return |
![]() |
ARB4 |
Loads the binary-data to an existing arbitrary waveform memory location ARB4. | |
![]() |
Waveform |
![]() |
Return |
![]() |
CLKSRRet |
Returns the clock source <INT> or <EXT>. | |
[[File:]] - | Return |
![]() |
MODPMDEV |
Sets PM waveform deviation to <nrf> degrees. (Lower limit: -360° - Upper limit: 360°). | |
[[File:]] - | Degrees |
Sets PM waveform deviation in degrees (-360 - 360). | |
![]() |
Return |
![]() |
MSTLOCK |
Sends signal to SLAVE generator to get synchronised | |
![]() |
Return |
![]() |
HILVL |
Sets the amplitude-high-level to <nrf> Volts. (Lower limit: -0.490 V - Upper limit: 5.000 V). | |
[[File:]] - | HighLevel |
Sets the amplitude-high-level in Volts(V) (-0.490 V - 5.000 V). | |
![]() |
Return |
![]() |
ARB3 |
Loads the binary-data to an existing arbitrary waveform memory location ARB3. | |
![]() |
Waveform |
![]() |
Return |
![]() |
CALADJ |
Adjust the selected calibration value by <nrf> (Lower limit: -100 - Upper limit: 100). | |
[[File:]] - | Calibrate |
Adjust the selected calibration value (-100 - 100). | |
![]() |
Return |
![]() |
STBRet |
Returns the value of the Status Byte Register in <nr1> numeric format. | |
![]() |
Return |
![]() |
ARB2 |
Loads the binary-data to an existing arbitrary waveform memory location ARB2. | |
![]() |
Waveform |
![]() |
Return |
![]() |
EERRet |
Query and clear execution error number register. | |
![]() |
Return |
![]() |
MODFMSRC |
Sets FM waveform source to; 0 INT, 1 = EXT. | |
[[File:]] - | Source |
Sets FM waveform source (0 = INT, 1 = EXT). | |
![]() |
Return |
![]() |
MODAMFREQ |
Sets AM waveform frequency to <nrf> Hz. (Lower limit: 1uHz - Upper limit: 20kHz). | |
[[File:]] - | Frequency |
Sets AM waveform frequency in Hertz(Hz) (1uHz - 20kHz). | |
![]() |
Return |
![]() |
ESE |
Sets the Standard Event Status Enable Register to the value of <nrf>. | |
![]() |
Value |
Value of register 0-255 | |
![]() |
Return |
![]() |
ARB1 |
Loads the binary-data to an existing arbitrary waveform memory location ARB1. | |
![]() |
Waveform |
16 Bit binary number for arbitrary waveform. | |
![]() |
Return |
![]() |
ARB4DEFRet |
Returns user specified waveform name, waveform pint interpolation state and waveform length of ARB4. | |
![]() |
Return |
![]() |
CLS |
Clears status byte register of the interface. | |
![]() |
Return |
![]() |
MSTRELOCK |
Resynchronises the two generators in MASTER-SLAVE mode. | |
![]() |
Return |
![]() |
NOISLVL |
Sets the output noise level to <nr1> %. (Lower limit: 0% - Upper limit: 50%) | |
![]() |
Percent |
Sets the output noise level in percent. (0 - 50) | |
![]() |
Return |
![]() |
LOCKMODE |
Sets the synchronising mode to; 0 = MASTER, 1 = SLAVE, 2 = INDEP. | |
![]() |
Mode |
Sets the synchronising mode (0 = MASTER, 1 = SLAVE, 2 = INDEP). | |
![]() |
Return |
![]() |
ADDRESSRet |
Returns the instruments address | |
[[File:]] - | Return |
![]() |
MODPMSRC |
Sets PM waveform source to; 0 INT, 1 = EXT. | |
[[File:]] - | Source |
Sets PM waveform source (0 = INT, 1 = EXT). | |
![]() |
Return |
![]() |
MODPWMSRC |
Sets PWM waveform source to; 0 = INT, 1 = EXT. | |
[[File:]] - | Source |
Sets PWM waveform source (0 = INT, 1 = EXT). | |
![]() |
Return |
![]() |
MOD |
Sets modulation to; 0 = OFF, 1 = AM, 2 = FM, 3 = PM, 4 = FSK, 5 = PWM. | |
![]() |
Modulation |
Sets modulation (0 = OFF, 1 = AM, 2 = FM, 3 = PM, 4 = FSK, 5 = PWM). | |
![]() |
Return |
![]() |
ISTRet |
Returns IST local message as defined by IEEE Std. 488.2. The syntax of the response is 0<rmt>, if the local message is false, or 1<rmt>, if the local message is true. | |
[[File:]] - | Return |
![]() |
LRNRet |
Returns the complete setup of the instrument as a binary data block | |
[[File:]] - | Return |
![]() |
OPCRet |
Query Operation Complete status. The response is always 1<rmt> and will be available immediately the command is executed because all commands are sequential. | |
[[File:]] - | Return |
![]() |
PULSRANGE |
Sets PWM waveform source to <1>, <2> or <3>; 1 = 1, 2 = 2, 3 = 3. | |
![]() |
Range |
Sets the pulse rise and fall range. (1, 2 or 3) | |
![]() |
Return |
![]() |
TSTRet |
The generator has no self test capability and the response is always 0 <rmt>. | |
[[File:]] - | Return |
![]() |
BSTTRGPOL |
Sets the burst trigger slope to; 0 = POS, 1 = NEG. | |
[[File:]] - | Slope |
Set the burst trigger slope (0 = POS, 1 = NEG). | |
![]() |
Return |
![]() |
ARB3Ret |
Returns the binary-data from an existing abbitrary wavefrom memory location. | |
![]() |
Return |
![]() |
BSTPHASE |
Sets the burst phase to <nrf> degrees. (Lower limit: -360 - Upper limit: 360) | |
[[File:]] - | Degrees |
Sets the burst phase in degrees (-360 - 360) | |
![]() |
Return |
![]() |
SWPTRGPER |
Sets the sweep trigger period to <nrf> seconds | |
[[File:]] - | Seconds |
Set the sweep trigger period in seconds. | |
![]() |
Return |
![]() |
PULSDLY |
Sets the waveform delay to <nrf> sec | |
[[File:]] - | Sec |
![]() |
Return |
![]() |
Initialise |
Opens the COM port ready for communications. | |
![]() |
Return |