class Pin
¶
Example
# Import Pin class
from robot_hat import Pin
# Create Pin object with numeric pin numbering and default input pullup enabled
d0 = Pin(0, Pin.IN, Pin.PULL_UP)
# Create Pin object with named pin numbering
d1 = Pin('D1')
# read value
value0 = d0.value()
value1 = d1.value()
print(value0, value1)
# write value
d0.value(1) # force input to output
d1.value(0)
# set pin high/low
d0.high()
d1.off()
# set interrupt
led = Pin('LED', Pin.OUT)
switch = Pin('SW', Pin.IN, Pin.PULL_DOWN)
def onPressed(chn):
led.value(not switch.value())
switch.irq(handler=onPressed, trigger=Pin.IRQ_RISING_FALLING)
API
- class robot_hat.Pin(pin, mode=None, pull=None, *args, **kwargs)¶
Bases:
_Basic_class
Pin manipulation class
- OUT = 1¶
Pin mode output
- IN = 2¶
Pin mode input
- PULL_UP = 17¶
Pin internal pull up
- PULL_DOWN = 18¶
Pin internal pull down
- PULL_NONE = None¶
Pin internal pull none
- IRQ_FALLING = 33¶
Pin interrupt falling
- IRQ_RISING = 34¶
Pin interrupt falling
- IRQ_RISING_FALLING = 35¶
Pin interrupt both rising and falling
- __init__(pin, mode=None, pull=None, *args, **kwargs)¶
Initialize a pin
- Parameters
pin (int/str) – pin number of Raspberry Pi
mode (int) – pin mode(IN/OUT)
pull (int) – pin pull up/down(PUD_UP/PUD_DOWN/PUD_NONE)
- setup(mode, pull=None)¶
Setup the pin
- Parameters
mode (int) – pin mode(IN/OUT)
pull (int) – pin pull up/down(PUD_UP/PUD_DOWN/PUD_NONE)
- dict(_dict=None)¶
Set/get the pin dictionary
- Parameters
_dict (dict) – pin dictionary, leave it empty to get the dictionary
- Returns
pin dictionary
- Return type
dict
- __call__(value)¶
Set/get the pin value
- Parameters
value (int) – pin value, leave it empty to get the value(0/1)
- Returns
pin value(0/1)
- Return type
int
- value(value: bool = None)¶
Set/get the pin value
- Parameters
value (int) – pin value, leave it empty to get the value(0/1)
- Returns
pin value(0/1)
- Return type
int
- on()¶
Set pin on(high)
- Returns
pin value(1)
- Return type
int
- off()¶
Set pin off(low)
- Returns
pin value(0)
- Return type
int
- high()¶
Set pin high(1)
- Returns
pin value(1)
- Return type
int
- low()¶
Set pin low(0)
- Returns
pin value(0)
- Return type
int
- irq(handler, trigger, bouncetime=200, pull=None)¶
Set the pin interrupt
- Parameters
handler (function) – interrupt handler callback function
trigger (int) – interrupt trigger(RISING, FALLING, RISING_FALLING)
bouncetime (int) – interrupt bouncetime in miliseconds
- name()¶
Get the pin name
- Returns
pin name
- Return type
str