Welcome¶
This documentation will guide you through the methods available in the Rainbow HAT python library.
Rainbow HAT is a Raspberry Pi add-on designed for Android Things, it includes:
- 3 capacitive touch buttons
- 3 LEDs: Red, Green and Blue
- 7 RGB LEDs (APA102)
- A four-character “star” display
- A temperature/pressure sensor
- More information - https://shop.pimoroni.com/products/rainbow-hat
- GPIO Pinout - http://pinout.xyz/pinout/rainbow_hat
- Get the code - https://github.com/pimoroni/rainbow-hat
- Get help - http://forums.pimoroni.com/c/support
At A Glance¶
-
buzzer.note(frequency, duration=1.0)¶
-
buzzer.midi_note(note_number, duration=1.0)¶
-
buzzer.clear_timeout()¶
-
buzzer.stop()¶
-
rainbow.set_brightness(brightness)¶
-
rainbow.clear()¶
-
rainbow.show()¶
-
rainbow.set_all(r, g, b, brightness=None)¶
-
rainbow.set_pixel(x, r, g, b, brightness=None)¶
-
rainbow.set_clear_on_exit(value=True)¶
-
weather.temperature()¶
-
weather.pressure()¶
-
weather.altitude(qnh=1020)¶
-
weather.update()¶
-
rainbowhat.lights¶
-
rainbowhat.touch¶
Buzzer: Play A Note¶
-
buzzer.note(frequency, duration=1.0) Play a single note.
Parameters: - frequency – Musical frequency in hertz
- duration – Optional duration in seconds, use None to sustain note
Buzzer: Play A Midi Note¶
-
buzzer.midi_note(note_number, duration=1.0) Play a single note by MIDI note number.
Converts a MIDI note number into a frequency and plays it. A5 is 69.
Parameters: - note_number – MIDI note number of note
- duration – Optional duration in seconds, use None to sustain note
Buzzer: Stop The Buzzer¶
-
buzzer.stop() Stop buzzer.
Immediately silences the buzzer.
Buzzer: Clear Note-off Timeout¶
-
buzzer.clear_timeout() Clear any note timeout set.
Will cause any pending playing note to be sustained.
Rainbow: Set Brightness¶
-
rainbow.set_brightness(brightness) Set the brightness of all pixels
Parameters: brightness – Brightness: 0.0 to 1.0
Rainbow: Clear¶
-
rainbow.clear() Clear the pixel buffer
Rainbow: Show¶
-
rainbow.show() Output the buffer
Rainbow: Set All Pixels¶
-
rainbow.set_all(r, g, b, brightness=None) Set the RGB value and optionally brightness of all pixels
If you don’t supply a brightness value, the last value set for each pixel be kept.
Parameters: - r – Amount of red: 0 to 255
- g – Amount of green: 0 to 255
- b – Amount of blue: 0 to 255
- brightness – Brightness: 0.0 to 1.0 (default around 0.2)
Rainbow: Set Single Pixel¶
-
rainbow.set_pixel(x, r, g, b, brightness=None) Set the RGB value, and optionally brightness, of a single pixel
If you don’t supply a brightness value, the last value will be kept.
Parameters: - x – The horizontal position of the pixel: 0 to 7
- r – Amount of red: 0 to 255
- g – Amount of green: 0 to 255
- b – Amount of blue: 0 to 255
- brightness – Brightness: 0.0 to 1.0 (default around 0.2)
Rainbow: Set Clear-on-exit¶
-
rainbow.set_clear_on_exit(value=True) Set whether the APA102 should be cleared upon exit
By default the APA102 will turn off the pixels on exit, but calling:
set_clear_on_exit(False)
Will ensure that it does not.
Parameters: value – True or False (default True)
Weather: Get Temperature¶
-
weather.temperature() Return the current temperature.
Note: This value may be affected by nearby sources of heat, including the Pi itself.
Weather: Get Pressure¶
-
weather.pressure() Return the current air pressure.
Weather: Get Altitutde¶
-
weather.altitude(qnh=1020) Return the current approximate altitude.
Parameters: qnh – Your local value for atmospheric pressure adjusted to sea level.
Weather: Update¶
-
weather.update() Update stored temperature and pressure values.
This function is called automatically when calling temperature() or pressure().
Lights¶
Rainbow HAT has three lights: Red, Green and Blue. They can be accessed by name like so:
rainbowhat.light.red
rainbowhat.light.green
rainbowhat.light.blue
Each light is an instance of the Light class, the following methods are available:
-
class
rainbowhat.lights.Light(gpio_pin)[source] -
off()[source] Turn the light off.
-
on()[source] Turn the light on.
-
toggle()[source] Toggle the light.
-
write(value)[source] Write a value to the light.
Parameters: value – Either True or False to turn light on or off/
-
Eg: rainbowhat.light.red.on()
Touch¶
Rainbow HAT has three touch inputs: A, B and C. They can be accessed lke so:
rainbowhat.touch.A
rainbowhat.touch.B
rainbowhat.touch.C
Each touch input is an instance of the Button class, the following methods are available
-
class
rainbowhat.touch.Button(index, gpio_pin)[source] -
press(handler=None)[source] Bind a function to handle touch press.
-
release(handler=None)[source] Bind a funciton to handle touch release.
-
You can use touch handlers either by passing in a function by name, or using the method as a decorator. Eg:
@rainbowhat.touch.A.press():
def press(button):
print("A pressed!")
Or:
def press(button):
print("Button {} pressed!".format(button))
rainbowhat.touch.A.press(press)
rainbowhat.touch.B.press(press)