NAME
RPi::WiringPi::Pin - Access and manipulate Raspberry Pi GPIO pins
SYNOPSIS
use RPi::WiringPi;
use RPi::Constant qw(:all);
my $pi = RPi::WiringPi->new;
my $pin = $pi->pin(5);
$pin->mode(OUTPUT);
$pin->write(HIGH);
my $num = $pin->num;
my $mode = $pin->mode;
my $state = $pin->read;
print "pin number $num is in mode $mode with state $state\n";
DESCRIPTION
Through a RPi::WiringPi object, creates objects that directly attach to Raspberry Pi GPIO pins.
Using the pin object's methods, the GPIO pins can be controlled and monitored.
METHODS
new($pin_num)
Takes the number representing the Pi's GPIO pin you want to use, and returns an object for that pin.
Parameters:
$pin_num
Mandatory.
Mandatory: The pin number to attach to.
mode($mode)
Puts the GPIO pin into either INPUT or OUTPUT mode. If $mode
is not sent in, we'll return the pin's current mode.
Parameters:
$mode
Optional: If not sent in, we'll simply return the current mode of the pin. Otherwise, send in: 0
for INPUT, 1
for OUTPUT, 2
for PWM_OUT and 3
for GPIO_CLOCK (clock) mode.
read()
Returns 1
if the pin is HIGH (on) and 0
if the pin is LOW (off).
write($state)
For pins in OUTPUT mode, will turn on (HIGH) the pin, or off (LOW).
Parameters:
$state
Send in 1
to turn the pin on, and 0
to turn it off.
pull($direction)
Used to set the internal pull-up or pull-down resistor for a pin.
Parameter:
$direction
Mandatory: 2
for UP, 1
for DOWN and 0
to turn off the resistor.
pwm($value)
Sets the level of the Pulse Width Modulation (PWM) of the pin. Dies if the pin's mode()
is not set to PWM (2
).
Parameter:
$value
Mandatory: values range from 0-1023. 0
for 0% (off) and 1023
for 100% (fully on).
num()
Returns the pin number associated with the pin object.
SEE ALSO
AUTHOR
Steve Bertrand, <steveb@cpan.org>
COPYRIGHT AND LICENSE
Copyright (C) 2016 by Steve Bertrand
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.18.2 or, at your option, any later version of Perl 5 you may have available.