#µCasts Raspberry Pi Library - Python
Python code for interacting with various pieces of hardware on the Raspberry Pi.
- Generic LED
- Generic Relay
- Generic Switch
- Generic Button
- Sparkfun 7 Segment Serial Display
- TMP102 Sensor
- ID-3LA, ID-12LA, and ID-20LA RFID Readers
##LED
The ucasts
module supports LEDs wired up as either active high or active low. The default is active low which assumes you have the cathode (negative side of the LED) connected to your I/O pin. When an LED
object is deleted it will turn off the associated LED.
###Usage
LED(pin[,active_high[,default_on]])
Argument | Description | Default | Optional |
---|---|---|---|
pin | The physical pin number. Not the BCM pin desigation. | No | |
active_high | True if the LED anode (positive side) is connected to the output pin. False if the cathode is connected to the output pin. | False | Yes |
default_on | True turns the LED on upon initialization | False | Yes |
###Functions
Turn the LED on
Turn the LED off
Toggle the state of the LED
###Example
from ucasts import LED
led = LED(12)
led = LED(12, active_high=True)
led = LED(12, active_high=True, default_on=True)
led.on()
led.off()
led.toggle()
##Relay
A Relay
in the module works much the same as an LED
. The class was broken out simply for code readability. When a Relay
object is deleted it will turn off the associated relay.
###Usage
Relay(pin[,default_on])
Argument | Description | Default | Optional |
---|---|---|---|
pin | The physical pin number. Not the BCM pin desigation. | No | |
default_on | True turns the relay on upon initialization | False | Yes |
###Functions
Turn the relay on
Turn the relay off
Toggle the state of the relay
###Example
from ucasts import Relay
relay = Relay(12)
relay = Relay(12, default_on=True)
relay.on()
relay.off()
relay.toggle()
##Switch Can be hooked up to indicate the on state when the input pin senses 3.3v (active_high) or to register the on state when the input pin is low (active_low).
###Usage
Switch(pin[,active_high])
Argument | Description | Default | Optional |
---|---|---|---|
pin | The physical pin number. Not the BCM pin desigation. | No | |
active_high | If True is_on() will return True when pin senses a logic 1. If False is_on() will return True when pin senses a logic 0. | True | Yes |
###Functions
Returns True if switch is on. False otherwise
###Example
from ucasts import Switch
sw = Switch(16)
sw = Switch(16, active_high=False)
if sw.is_on():
...
##Button
Works just like Switch
since a button is just a momentary switch.
###Usage
Button(pin[,active_high])
See Switch
for description of arguments.
###Functions
Returns True if button is pressed. False otherwise
###Example
from ucasts import Button
btn = Button(18)
btn = Button(18, active_high=False)
if btn.is_pressed():
...
##Sparkfun 7 Segment Serial Display The 7 Segment Display from Sparkfun can run in SPI, I2C, or serial mode. This class assumes SPI mode. When the display object is deleted it will clear the display.
###Usage
SparkfunSevenSegmentDisplay()
###Functions
data can be of type str
, list
, or int
. The optional paramater clear, if set to True, will cause the display to clear first before displaying data
Sends a clear command to the display
Display the current time (24 hour mode) on the display
Will display temperature (passed as a numeric type) with the given unit passed as 'c', 'f', 'F', or 'f'.
###Example
from ucasts import SparkfunSevenSegmentDisplay
disp = SparkfunSevenSegmentDisplay()
disp.write("cool") # will display "cool" on the display
disp.write(50) # will add "2" on the display since 50 is the ASCII value for '2'
disp.write([0x01, 0x02], clear=True) # will display "12" on the display after clearing it
disp.display_temp(32.0, "F")
disp.display_time()
##TMP102 Sensor Interface for the TMP102 Sensor from Sparkfun.
###Usage
TMP102([bus[,address]])
Argument | Description | Default | Optional |
---|---|---|---|
bus | The I2C bus number passed to SMBus init. | 1 | Yes |
address | Address of sensor | 0x48 | Yes |
###Functions
Return the current temperature in °F
Return the current temperature in °C
###Example
from ucasts import TMP102
temp_sensor = TMP102() # Uses bus 1 and address 0x48
temp_sensor = TMP102(address=0x49)
tempF = temp_sensor.get_temp_in_f()
tempC = temp_sensor.get_temp_in_c()
##RFID Reader Interface for the ID-3LA, ID-12LA and ID-20LA RFID readers.
###Usage
ID3LA()
ID12LA()
ID20LA()
###Functions
Returns the unique id of the last scanned tag. **Note:**Until an evented version of this call is created you need to call get_last_scan() often enough to prevent queuing of scanned tags. If multiple tags are scanned between calls to this function, calls to the function will return the tags in first-in-first-out order.
This function will block program execution until a tag is scanned at which time it returns the unique id of the scanned tag.
###Example
from ucasts import ID12LA
reader = ID12LA()
tag = reader.get_last_scan()
if tag != None:
# Do something with tag