# This example shows how to use the interrupt methods on the IO Pi. # The interrupts will be enabled and set so that a voltage applied to pins 1 and 16 will trigger INT A and B respectively. # using the readInterruptCature or readPort methods will reset the interrupts. # Initialise the IOPi device using the default addresses and set the output of bank 1 on IC1 to the input of bank 1 on IC2 bus1 = IOPI(0x20) bus2 = IOPI(0x21) # Set all pins on bus 2 to be inputs with internal pull-ups disabled. bus2.setPortPullups(0, 0x00) bus2.setPortPullups(1, 0x00) bus2.setPortDirection(0, 0xFF) bus2.setPortDirection(1, 0xFF) # Set the interrupt polarity to be active high and mirroring disabled, so pins 1 to 8 trigger INT A and pins 9 to 16 trigger INT B bus2.setInterruptPolarity(1) bus2.mirrorInterrupts(0) # Set the interrupts default value to trigger when 5V is applied to pins 1 and 16 bus2.setInterruptDefaults(0, 0x01) bus2.setInterruptDefaults(0, 0x80) # Set the interrupt type to be 1 for ports A and B so an interrupt is fired when the pin matches the default value bus2.setInterruptType(0, 1) bus2.setInterruptType(1, 1) # Enable interrupts for pins 1 and 16
# ================================================ # ABElectronics IO Pi 32-Channel Port Expander - Tutorial 1 # Version 1.1 Created 10/05/2014 # # Requires python smbus to be installed with: sudo apt-get install python-smbus # run with: sudo python tutorial1.py # ================================================ # This example uses the writePin and writePort methods to switch pin 1 on and off on the IO Pi. #!/usr/bin/python from ABElectronics_IOPi import IOPI import time bus = IOPI(0x21) bus.setPortDirection(0, 0x00) bus.writePort(0, 0x00) while True: bus.writePin(1, 1) time.sleep(1) bus.writePin(1, 0) time.sleep(1)
# ================================================ # ABElectronics IO Pi 32-Channel Port Expander - Output Write Demo # Version 1.1 Created 30/04/2014 # # Requires python smbus to be installed with: sudo apt-get install python-smbus # run with: sudo python iopiwrite.py # ================================================ # This example uses the writePin and writeBank methods to switch the pins on and off on the IO Pi. # Initialise the IOPi device using the default addresses, you will need to change the addresses if you have changed the jumpers on the IO Pi bus1 = IOPI(0x20) # We will write to the pins 9 to 16 from bus 1 so set port 1 to be outputs turn off the pins bus1.setPortDirection(1, 0x00) bus1.writePort(1, 0x00) while True: # count to 255 and display the value on pins 9 to 16 in binary format for x in range(0, 255): time.sleep(0.05) bus1.writePort(1, x) # turn off all of the pins on bank 1 bus1.writePort(1, 0x00) # now turn on all of the leds in turn by writing to one pin at a time bus1.writePin(9, 1) time.sleep(0.1)