- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 5 von 5

Thema: MCP23017 mit Python steuern

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    29.12.2014
    Beiträge
    13

    Frage MCP23017 mit Python steuern

    Anzeige

    Praxistest und DIY Projekte
    Hallo lieber Forenmitglieder und Raspberry Pi Freunde,

    ich möchte meinen Raspberry Pi mit dem MCP23017 Chip um ein paar I/O´s erweitern und bekomme keine vernünftige Interruptabfrage hin. Hat sich zufällig schonmal jemand mit der Portabfrage beim MCP beschäftigt mit Python?

    Wie kann ich eigentlich nur EINEN definierten Ausgang schalten ohne die anderen zu beeinflussen durch das setzen der Bits?

    Vlt. könnte mir das jemand erklären

    Grüße
    opc
    Angehängte Dateien Angehängte Dateien
    Geändert von opc (29.12.2014 um 23:56 Uhr)

  2. #2
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    34
    Beiträge
    3.501
    Blog-Einträge
    9
    Hey,

    das musst du in zwei Schritten machen. Als erstes musst du den aktuellen Zustand der IOs auslesen und dann in dieses Bitmuster den neuen Zustand des IOs, den du schalten willst, einbauen. Dann musst du das Muster wieder übertragen.
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    29.12.2014
    Beiträge
    13
    Zitat Zitat von Kampi Beitrag anzeigen
    Hey,

    das musst du in zwei Schritten machen. Als erstes musst du den aktuellen Zustand der IOs auslesen und dann in dieses Bitmuster den neuen Zustand des IOs, den du schalten willst, einbauen. Dann musst du das Muster wieder übertragen.
    Hallo Kampi,

    genau das ist mein Vorhaben, mir fehlt es nur leider an der Umsetzung in den Python-Code. Programmierungen mit Python von den internen GPIO´s des Pi war bislang weniger das Problem aber mit dem MCP bekomm ich das einfach nicht hin.

    Bis zum Auslesen der IO´s lief es bisjetzt immer... es scheiterte immer an dem Verarbeiten und zurückschreiben des Bitmusters

    Hier mein Code bis zum Auslesen, den Rest hab ich gelöscht, da keine Funktion.

    Code:
    import smbus
    import time
    
    
    bus = smbus.SMBus(1)
    mcp = 0x20 #MCP23017
    iodira = 0x00 #Input/Output Bank A festlegen
    olata = 0x14 #Werte IO/A schreiben
    gpioa = 0x12 #Wert Bank A lesen
    
    
    bus.write_byte_data(mcp,iodira,0x01) #GPA0 = Eingang, alle anderen Ausgang
    bus.write_byte_data(mcp,olata,0x00) #alle Ausgänge auf 0 schalten
    
    read = bus.read_byte_data(mcp,gpioa) #liest die Bits der Bank A

  4. #4
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    34
    Beiträge
    3.501
    Blog-Einträge
    9
    Sorry nicht mitbekommen das es hier bereits eine Antwort von dir gab...
    Also falls du das Problem noch nicht gelöst hast...
    Hast du dir mal den Status der IOs ausgeben lassen und geprüft ob das stimmt? Und lassen sich die IOs dem Bitmuster entsprechend schalten?
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  5. #5
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    73
    Beiträge
    11.077
    Hallo!

    Möglicherweise lassen sich gewünschte Bits per Verknöpfung mit OR setzen and AND löschen, aber ich über Python k.A. habe.
    MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!

Ähnliche Themen

  1. [ERLEDIGT] Frage zu MCP23017 + Ultraschall Sensor hc-sr04 an Raspberry pi
    Von brenan im Forum Elektronik
    Antworten: 0
    Letzter Beitrag: 30.03.2014, 21:46
  2. PCF8574 über Python steuern
    Von Duesentrieb im Forum Raspberry Pi
    Antworten: 11
    Letzter Beitrag: 16.03.2014, 12:48
  3. MCP23017 via I2C... Primitive Funktionstests, Bitte um Kritik
    Von JoeM1978 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 0
    Letzter Beitrag: 14.01.2014, 23:26
  4. [ERLEDIGT] MCP23017 - I2C ansprechen ohne Erfolg
    Von JoeM1978 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 8
    Letzter Beitrag: 07.01.2014, 08:15
  5. Roboter von PC aus steuern (mit Python)
    Von bmler07 im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 4
    Letzter Beitrag: 08.06.2007, 12:50

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress