Initial commit
This commit is contained in:
53
python/test.py
Normal file
53
python/test.py
Normal file
@@ -0,0 +1,53 @@
|
||||
import smbus
|
||||
import time
|
||||
import json
|
||||
|
||||
# Adressen der beiden MCP23017 Chips
|
||||
MP = 0x20 # Ausgang rechte Hälfte
|
||||
|
||||
|
||||
# Register-Adressen für den MCP23017
|
||||
IODIRA = 0x00 # Eingang / Ausgang A
|
||||
IODIRB = 0x01 # Eingang / Ausgang B
|
||||
GPIOA = 0x12 # GPIO A
|
||||
GPIOB = 0x13 # GPIO B
|
||||
|
||||
PULLUPA = 0x0C
|
||||
PULLUPB = 0x0D
|
||||
|
||||
# Initialisiere den I2C Bus
|
||||
bus = smbus.SMBus(1)
|
||||
|
||||
# Hauptprogramm
|
||||
def main():
|
||||
time.sleep(0.5)
|
||||
|
||||
for pin in range(8):
|
||||
|
||||
|
||||
bus.write_byte_data(MP, IODIRA, ~(1 << pin))
|
||||
time.sleep(0.02)
|
||||
bus.write_byte_data(MP, PULLUPA, ~(1 << pin))
|
||||
time.sleep(0.02)
|
||||
|
||||
bus.write_byte_data(MP, GPIOA, ~(1 << pin))
|
||||
time.sleep(0.02)
|
||||
|
||||
|
||||
print("====================" + str(pin) + "==========================")
|
||||
|
||||
wert = bus.read_byte_data(MP, GPIOA)
|
||||
|
||||
for j in range(8): # Lese 4*8=32 Pins
|
||||
bitmaske = 1 << j
|
||||
|
||||
wert_bitweise = bool(wert & bitmaske)
|
||||
|
||||
if wert_bitweise == False and j != pin:
|
||||
print(str(j))
|
||||
|
||||
time.sleep(0.02) # Kurze Pause, damit die Änderung sichtbar wird
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user