GPIO erweitern = RPI HUB Modul?

  • Hallo,


    ein lästiges Thema. Meine GPIO´s reichen für mein Vorhaben nicht mehr aus. Ich benötige für eine Lichtsteuerung mindestens 28 GPIO-Anschlüsse als Ausgang. Man findet auf der Suche zu mehr I/O´s den Weg zu I2C oder Expandern wie PiFace und PiRack. Das PiRack ist jedoch durch einen Aufbau ungünstig, da mein Projekt an der Wand hängt und ich eine flache Bauweise bevorzuge.


    Bei Reichelt bin ich auf das Raspberry HUB Modul gestoßen. Weiß jemand ob dort alle 48 Anschlüsse ansteuerbar sind? Ich benötige ja nur wenige mehr als die Hälfte davon. Mich interessiert vor allem die Steuerung, gibt es Beispiele wie der Aufruf über die Shell oder in einem Python Script erfolgt?


    Freue mich auf eure Antworten. Gerne auch mit Alternativen. Wichtig sind mir neben den mindestens 28 Ausgängen auch eine Stromquelle anzuschließen. Ich möchte über den Raspi eine WordClock laufen lassen, da mein Raspi eh immer an ist und meine bisherige Lösung (Audrino) mich mehrfach im Stich gelassen hat.


    Danke.

  • Danke für eure Antworten. Ich habe mir nun von https://www.modmypi.com/protect-your-pi gekauft. Das Paket kam Heute an, den Bausatz habe ich gelötet. Im Moment stehe ich jedoch vor dem Rätsel, wo ich genau was anschließen muss.


    Wenn ich es richtig verstanden habe, setzte ich beide Expander so als Ausgang:


    i2cset -y 1 0x20 0x00 0x00
    i2cset -y 1 0x21 0x00 0x00


    Aber wie schließe ich nun eine LED an z.B. PIN 1 vom IC2 (so wie auf dem Bild gekennzeichnet) an und mit welchem Befehl steuere ich dies?


    // Edit:
    Das ganze hat sich gerade erledigt, ich habe gemerkt das 0x20 der RECHTE und 0x21 der LINKE ist, das heist ich habe das ganze gerade beim testen vertauscht. Lösung um Port 0 am LINKEN Expander zu steuern:


    LED an:
    i2cset -y 1 0x21 0x14 0x01


    LED aus:
    i2cset -y 1 0x21 0x14 0x00


    Der Anschluss erfolgt an den beiden links angebrachten Pin´s., quasi +/- Pol.



    [Blocked Image: http://mypishop.com/image/obj215geo160pg11p7.jpg]

  • z.b. Pin 1 von IC2 auf einen ca. 220 ohm Widerstand, die andere Seite vom Wiederstand auf die Anode der LED und dia Kathode der LED auf GND, das ist die Steckleiste in der Mitte.


    Ansteuerung mit
    i2cset -y 1 0x21 0x15 0x01 zum einschalten
    i2cset -y 1 0x21 0x15 0x00 zum ausschalten


    wobei die erste 0x21 ic2 bedeutet, ic1 waere 0x20
    0x15 ist Port B (Pin 1 bis 8) , 0x14 ist Port A (Pin 21 bis 28)


    MfG Turbotoni

  • Hallo,

    wie spreche ich denn die GPIO-Ports unter Python an?

    Ich habe ein extention board mit drei GPIO Leisten.

    Wie werden dann die einzelnen Leisten angesprochen?

    Gruss Bernd

  • Welches Board ist das?

    -> So was <- in der Art?

    das sieht nur nach 3 Stiftleisten aus ohne elektrische Vervielfachung.

    Mehr Ports bekommt man mit I2C Portexpander

    https://www.ebay.de/i/272549828547?chn=ps&var=571645063084

    bis zu 8 Platinen a 8-Bit = 64 Ports


    mit der Unterscheidung von PCF8574 und PCF8574a eben 8x 8bit x2 = 128 Ports und dann kann man noch MCP Chips auf I2C und SPI wählen.

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • ja genau das ist die extention card.

    Kann ich da auch die GPIOs doppelt belegen?

    das ist nur um 3 Stecker zu generieren, man kann jeden Port nur 1x belegen, ausgenommen I2C.

    Das Teil ist dazu falls eine Karte den ganzen Stecker belegt aber nur GPIO17 nutzt um an weiteren Steckern GPIO25 zu nutzen (Ports nur als Beispiel).

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)