Output Devices
Digital LED
Connect the cathode (short leg, flat side) of the LED to a ground pin; connect the anode (longer leg) to a limiting resistor; connect the other side of the limiting resistor to a GPIO pin (the limiting resistor can be placed either side of the LED).
TODO Wiring Diagram?
Example LED control, taken from LEDTest:
try (LED led = new LED(pin)) {
led.on();
SleepUtil.sleepSeconds(.5);
led.off();
SleepUtil.sleepSeconds(.5);
led.toggle();
SleepUtil.sleepSeconds(.5);
led.toggle();
SleepUtil.sleepSeconds(.5);
led.blink(0.5f, 0.5f, 10, false);
}
- class com.diozero.devices.LED (gpio) source ¶
-
Extends DigitalOutputDevice and provides utility methods for controlling a Light Emitting Diode (LED).
- gpio (int) - GPIO pin to which the LED is connected.
- blink ()
-
Blink indefinitely with 1 second on and 1 second off.
blink (onTime, offTime, n, background)
: Blink
-
onTime (float) - On time in seconds.
-
offtime (float) - Off time in seconds.
-
n (int) - Number of iterations. Set to -1 to blink indefinitely.
-
background (boolean) - If true start a background thread to control the blink and return immediately. If false, only return once the blink iterations have finished.
Buzzer
- class com.diozero.devices.Buzzer (gpio, activeHigh) source ¶
-
Extends DigitalOutputDevice and represents a digital buzzer component.
-
gpio (int) - The GPIO pin which the buzzer is attached to.
-
activeHigh (boolean) - Set to
true
if the circuit is wired such that the buzzer will beep when the output is high.
beep (onTime=1, offTime=1, n=-1, background=true)
: Turn the device turn on and off repeatedly.
-
onTime (float) - Number of seconds on. Defaults to 1 second.
-
offTime (float) - Number of seconds off. Defaults to 1 second.
-
n (int) - Number of times to blink; any value < 0 (the default) means forever.
-
background (boolean) - If
True
(the default), start a background thread to continue blinking and return immediately. IfFalse
, only return when the blink is finished (warning: the default value of n will result in this method never returning).
-
PWM LED
Code taken from PwmLedTest:
float delay = 0.5f;
try (PwmLed led = new PwmLed(pin)) {
led.on();
SleepUtil.sleepSeconds(delay);
led.off();
SleepUtil.sleepSeconds(delay);
led.toggle();
SleepUtil.sleepSeconds(delay);
led.toggle();
SleepUtil.sleepSeconds(delay);
led.setValue(.25f);
SleepUtil.sleepSeconds(delay);
led.toggle();
SleepUtil.sleepSeconds(delay);
led.setValue(.5f);
SleepUtil.sleepSeconds(delay);
led.blink(0.5f, 0.5f, 5, false);
led.pulse(1, 50, 5, false);
} catch (RuntimeIOException e) {
Logger.error(e, "Error: {}", e);
}
- class com.diozero.devices.PwmLed (gpio, initialValue=0) source ¶
-
Extends DigitalOutputDevice and represents a PWM controlled LED.
-
gpio (int) - The GPIO pin which the LED is attached to.
-
initialValue=0 (float) - Initial PWM output value (range 0..1).
blink ()
: Blink the LED on and off indefinitely.
blink (onTime, offTime, iterations, background)
: Blink the LED.
-
onTime (float) - On time in seconds.
-
offTime (float) - Off time in seconds.
-
iterations (int) - Number of iterations. Set to <0 to blink indefinitely.
-
background (boolean) - If true start a background thread to control the blink and return immediately. If false, only return once the blink iterations have finished.
pulse (fadeTime=1, steps=50, iterations=-1, background=true)
: Pulse the LED on and off repeatedly.
-
fadeTime (float) - Time from fully on to fully off. Default 1.
-
steps (int) - Number of steps between fully on to fully off. Default 50.
-
iterations (int) - Number of times to fade in and out. Default infinite.
-
background (boolean) - If true start a background thread to control the blink and return immediately. If false, only return once the blink iterations have finished.
isLit ()
: Return true if the PWM value is >0, false if 0.
-
RGB LED
- class com.diozero.devices.RgbLed (redPin, greenPin, bluePin) source ¶
-
Represents a digital RGB LED controlled by three separate red / green / blue digital LED devices.
-
redPin (int) - GPIO connected to the red LED connector.
-
greenPin (int) - GPIO connected to the green LED connector.
-
bluePin (int) - GPIO connected to the blue LED connector.
boolean[] getValues ()
: Get the digital state of the red / green / blue LED components.
setValues (boolean[])
: Set the digital state of the red / green / blue LED components.
on ()
: Turn on red / green / blue LED components.
off ()
: Turn off red / green / blue LED components.
toggle ()
: Toggle the state of the red / green / blue LED components.
-
RGB PWM LED
- class com.diozero.devices.RgbPwmLed (redPin, greenPin, bluePin) source ¶
-
Represents a PWM RGB LED controlled by three separate red / green / blue PWM LED devices.
-
redPin (int) - GPIO connected to the red LED connector.
-
greenPin (int) - GPIO connected to the green LED connector.
-
bluePin (int) - GPIO connected to the blue LED connector.
float[] getValues ()
: Get the PWM values for each of the red / green / blue LED components.
setValues (float[])
: Get the PWM values for each of the red / green / blue LED components.
on ()
: Turn on red / green / blue LED components.
off ()
: Turn off red / green / blue LED components.
toggle ()
: Toggle the state of the red / green / blue LED components.
-