Forum: Mikrocontroller und Digitale Elektronik ESP8266 - GPIO Pins erweitern


von Sebastian B. (sebas02)


Lesenswert?

Hallo,

habe folgendes Problem: Ich möchte ein 16 Kanal Relais an mein ESP 
anschließen. Leider verfügt mein ESP8266 leider nur an 11 GPIO Pins. 
Kann ich diese auf 16 erweitern, bzw gibt es da eine andere Möglichkeit?
Danke

von Timmo H. (masterfx)


Lesenswert?

I2C gpio IC, sowas wie tca6416. Oder Esp32, der hat mehr gpios

: Bearbeitet durch User
von Thomas (Gast)


Lesenswert?

oder über 2 stk. 74373 o.ä. Dann hättest Du schonmal 16 Ausgänge, und 
Dein ESP ist geschützt von den Relaise.

von Sebastian B. (sebas02)


Lesenswert?

Timmo H. schrieb:
> I2C gpio IC, sowas wie tca6416. Oder Esp32, der hat mehr gpios

Thomas schrieb:
> oder über 2 stk. 74373 o.ä. Dann hättest Du schonmal 16 Ausgänge,
> und
> Dein ESP ist geschützt von den Relaise.

Alles klar, danke euch. Werde mir wahrschenlich einen ESP32 zulegen, da 
ich den tca6416 nicht so ganz kapiere was das anschließen angeht. Wie 
sieht es denn mit dem PCF8575 aus, taugt der was?

von Einer K. (Gast)


Lesenswert?

Sebastian B. schrieb:
> Wie sieht es denn mit dem PCF8575 aus, taugt der was?
Was ist das für eine seltsame Frage......


Nee, ich finde den nicht gut!
Die Aufschrift, schwer zu lesen.
Und überhaupt!

Ich mag den MCP23017 viel lieber.

von Wolfgang (Gast)


Lesenswert?

Ich mag den PCA9554.
Wenn man den Typ verwendet, kann man schon mal bis zu 64 Ausgänge 
steuern und wenn das nicht reicht, nimmt man nochmal 8 Stk von den 
PCA9554A dazu.

Oder, um sich Relaistreiber zu sparen, wäre der NPIC6C596A (2.3V bis 
5.5V) oder der TPIC6B595 (5V) eine Möglichkeit.

von Michael U. (amiga)


Lesenswert?

Hallo,

Arduino Fanboy D. schrieb:
> Ich mag den MCP23017 viel lieber.

mir ist der MCP23S17 noch lieber, 10MHz SPI-Clock ist etwas schneller 
und die Adressierung für max. 8 Stück kaskadiert geht auch mit SPI ohne 
zusätzliche
IOs.

Gruß aus Berlin
Michael

: Bearbeitet durch User
von Sebastian R. (sebastian_r569)


Lesenswert?

I2C?

Wo sind bloß die Zeiten hin, in denen das 4094 Schieberegister noch 
Standard war? :(

Bin ich wirklich schon so alt?

von Wolfgang (Gast)


Lesenswert?

Michael U. schrieb:
> mir ist der MCP23S17 noch lieber, 10MHz SPI-Clock ist etwas schneller

Schneller als die anzusteuernden Relais wäre der selbst mit 1MHz 
SPI-Takt.

von Michael U. (amiga)


Lesenswert?

Hallo,

Wolfgang schrieb:
> Schneller als die anzusteuernden Relais wäre der selbst mit 1MHz
> SPI-Takt.

das ist prinzipiell schon richtig, wenn man nur diese Seite sieht.

generell hat aber SPI weniger Overhead als I2C. Auf dem AVR sind 
generell kaum Hardware-Buffer bei I2C und SPI, letztlich muß also der 
AVR da ran zum nachfüllen, egal, ob direkt oder im Interrupt.

Jetzt kommt der Rest des Programms ins Spiel: wenn ich da aus logischen 
Gründen auf die Beendigung der Aufgabe oder den Erhalt von Input-Daten 
warten muß, ist mir SPI eben lieber. I2C erfordert auch mehr Eingriffe, 
wenn ich z.B. sicherstellen will, daß mir ein hängender Slave nicht 
alles lahmlegt.
Bei SPI kann ich zwar unsinnige Daten von Außen bekommen oder die Relais 
schalten nicht, dann habe ich ein generelles Problem mit der Hardware. 
Auch bei I2C.

Ist sicher auch persöhnliche Vorliebe von mir, für eigene Erweiterungen 
habe ich schon immer SPI oder UART dem I2C vorgezogen.

Gruß aus Berlin
Michael

von Sebastian B. (sebas02)


Lesenswert?

So, das ganze habe ich nun hinbekommen. Will ja meine GPIO's über Blynk 
oder über bspw. einen anderen MQTT Server steuern. Wie steuer ich jetzt 
die erweiterten Pins mittels MQTT oder Blynk an? Hat da jemand eine 
Idee?
lg

von MQTT (Gast)


Lesenswert?

Sebastian B. schrieb:
> So, das ganze habe ich nun hinbekommen. Will ja meine GPIO's über Blynk
> oder über bspw. einen anderen MQTT Server steuern. Wie steuer ich jetzt
> die erweiterten Pins mittels MQTT oder Blynk an? Hat da jemand eine
> Idee?


Du erstellst ein auf dem MQTT Broker ein Topic. Der ESP8266 subscribed 
das Topic und wertet es aus und schaltet entsprechend.
Vom PC (oder Handy oder ...)aus publisht Du dann entsprechend Werte, die 
die Ports schalten. Ist trivial.
Einzig einen Broker brauchst Du. Ob das ein PC, ein Raspberry oder gar 
der ESP selber ist, ist Dir überlassen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.