KEY_ROW_1 = 0  #  --1 2 3    Board pin 2
KEY_ROW_2 = 3  #  --4 5 6    Board pin 7 (far right)
KEY_ROW_3 = 2  #  --7 8 9    Board pin 6
KEY_ROW_4 = 1  #  --# 0 *    Board pin 4
#                  | | |
KEY_COL_1 = 9  # --+ | |    Board pin 3
KEY_COL_2 = 8  # ----+ |    Board pin 1 (far left)
KEY_COL_3 = 10  # ------+    Board pin 5

import time
import SX1509 as SX

io = SX.SX1509(0x3F)
io.reset()
time.sleep(0.1)

# Needed by the keyscan engine and LED driver
io.set_clock(internal_oscillator=True)

# Rows (outputs)
io.set_dirs_a(0b11110000)  # Lower 4 pins are outputs
io.set_open_drains_a(0b00001111)  # Lower 4 pins are open-drain

# Columns (inputs)
io.set_dirs_b(0b11110111)  # All inputs except for LED
io.set_pull_ups_b(0b11110111)  # All inputs pulled up

io.write_register(SX.RegDebounceConfig, 0b00000011)  # 4ms ...
io.write_register(SX.RegDebounceEnableB, 0b11110111)  # All inputs debounced
io.write_register(SX.RegKeyConfig1, 0b00000100)  # 16ms ...
Exemple #2
0
# Digital OUT
TPR_pin = 6
Heater_pin = 7
Stirrer_pin = 8
Lift_pin = 9
Lift2_pin = 10
Crusher_pin = 11
Cleaning_Pump_pin = 12
Circulator_pin = 13
Cooling_Fan_pin = 13
Pump_pin = 13

#---SET SX1509----------------------------------------------------------
addr = 0x3e
sx = SX1509.SX1509(addr)
ctl = Control.Control(sx)

#=======================================================================


#---GET Temperature-----------------------------------------------------
def get_temp():
    '''
	heater temperature = top_temp = internal_temp
	stirrer temperature = bottom_temp = external_temp
	'''
    global avg_bottom_temp, avg_top_temp
    global arr_count
    global bottom_temp_arr, top_temp_arr
Exemple #3
0
PIN_LED_B_RIGHT = 4

PIN_VUSB = 1
PIN_LBO = 2
PIN_AMP_SD = 3

PIN_RESET_BUTTON = 10

DEVICE_ADDRESS = 0x3E  # device address of SX1509

#Set up I2C
comm_port = busio.I2C(board.SCL, board.SDA)
device = I2CDevice(comm_port, DEVICE_ADDRESS)

#Initialize the expander
IOExpander = SX1509.SX1509(comm_port)
IOExpander.clock(oscDivider=4)
IOExpander.debounceTime(32)

#Set up pins
IOExpander.pinMode(PIN_LED_R_LEFT, IO_Types.PIN_TYPE_ANALOG_OUTPUT)
IOExpander.pinMode(PIN_LED_G_LEFT, IO_Types.PIN_TYPE_ANALOG_OUTPUT)
IOExpander.pinMode(PIN_LED_B_LEFT, IO_Types.PIN_TYPE_ANALOG_OUTPUT)
IOExpander.pinMode(PIN_LED_R_RIGHT, IO_Types.PIN_TYPE_ANALOG_OUTPUT)
IOExpander.pinMode(PIN_LED_G_RIGHT, IO_Types.PIN_TYPE_ANALOG_OUTPUT)
IOExpander.pinMode(PIN_LED_B_RIGHT, IO_Types.PIN_TYPE_ANALOG_OUTPUT)

IOExpander.pinMode(PIN_VUSB, IO_Types.PIN_TYPE_INPUT, True)
IOExpander.pinMode(PIN_LBO, IO_Types.PIN_TYPE_INPUT, True)
IOExpander.pinMode(PIN_AMP_SD, IO_Types.PIN_TYPE_OUTPUT)
IOExpander.pinMode(PIN_RESET_BUTTON, IO_Types.PIN_TYPE_INPUT_PULLDOWN)