Skip to content

API - GPIO Functions

In this section the Python API reference for GPIO functions is described. This library is supported on both major versions of Python: 2.x and 3.x.


IMPORTANT

This library and the other ones too are not thread-safe. You cannot call the GrovePi from multiple threads or processes as that will put the GrovePi into a broken state.

In case you need to reset the GrovePi from your Raspberry Pi, check this section.


grovepi.digitalRead(pin)

Reads whether a port's input is set high or low on the GrovePi.

Parameters

  • pin {Integer} a number to identify the port (D2-D8) from which to do the reading

Returns: 0 or 1 depending on the input value


grovepi.digitalWrite(pin, value)

Sets the output value to either 0 or 1 to a digital port on the GrovePi.

Parameters

  • pin {Integer} a number to identify the port (D2-D8) to which to do the writing
  • value {Integer} either 0 for 0 volts or 1 for maximum output voltage (usually 5 volts)

Returns: 1 all the time


grovepi.analogRead(pin)

Detect an input voltage as a value from a given port on the GrovePi.

Parameters

  • pin {Integer} a number to identify the port (A0-A2) from which to do the reading

Returns: a 10-bit {Integer} number that maps to the input voltage on the port


grovepi.analogWrite(pin, value)

Set an output voltage on a PWM-enabled port by mapping the value to the desired voltage on the GrovePi.

Parameters

  • pin {Integer} a number to identify the port (ports 3, 5, 6, 9) to which to do the writing
  • value {Integer} an 8-bit number that maps from 0V to the referenced voltage of the GrovePi (5V)

Returns: 1 all the time


grovepi.pinMode(pin, mode)

Sets a port to be either an OUTPUT or an INPUT port on the GrovePi.

Parameters

  • pin {Integer} a number to identify the port (D2-D8) to which to do the change
  • mode {String} "OUTPUT" for writing values or "INPUT" for reading

Returns: 1 all the time