Hallo Forum, ich experimentiere seit gestern Abend mit einem kleinen ESP8266-Board (ESP-01) herum. Da dieses Board ja nur über zwei GPIOs verfügt, hätte ich eine Frage: Die beiden GPIOs kann man als I²C-Schnittstelle nutzen. Dies habe ich auch vor, um ein Display über I²C anzusteuern. Das passende Display habe ich auch dafür, da ich das Ganze schon einmal mit einem Arduino getestet habe. Wie aber kann ich die doch "sehr wenigen" GPIOs erweitern, um neben dem I²C (welcher beide GPIOs "belagert") auch einfache I/Os (und evtl. sogar PWM-Ausgang) habe? Gibt es einen Art "Multiplexer", den man dann auch per I²C an die beiden Pins anschließt? Wie würdet ihr das Ganze lösen? Vielen Dank!
Joh schrieb: > ich experimentiere seit gestern Abend mit einem kleinen ESP8266-Board > (ESP-01) herum. Ich nehme die auch ganz gerne und mache 3,3V Pro Mini als I2C Portexpaneder dran. Wenn du nur einfache digitale IOs brauchst ist vielleicht der MCP23017 die bessere Wahl.
Das Nodemcu Board gibt es für kleines Geld mit ganz vielen I/Os: https://www.aliexpress.com/item/1pcs-NodeMCU-V3-Lua-WIFI-module-integration-of-ESP8266-extra-memory-32M-Flash-USB-serial-CH340G/32827875696.html oder https://www.aliexpress.com/item/New-version-Wireless-module-CH340-NodeMcu-V3-Lua-WIFI-Internet-of-Things-development-board-based-ESP8266/32827871875.html
Pete K. schrieb: > mit ganz vielen I/Os: Vielleicht dein "viele". Mein "viele" sieht anders aus. 1. Einige brauchen beim Boot bestimmte Pegel, sind damit für manche Anwendungen verdorben 2. Einige zappeln beim Boot rum, sind damit für manche Anwendungen verdorben 3. Einige gehen fürs Flash drauf. Davon könnte man 2 frei schaufeln. 4. Zwei klemmen fest am CH340G Nee... Im Endeffekt ist es nur eine kleine Handvoll.
Eine hervorragende Idee. Blöde Frage: Wie schnell kann der ESP den I²C eigentlich beschicken? Der Arduino kommt ja soweit mir bekannt nur bis 400 kHz.
>Das Nodemcu Board gibt es für kleines Geld mit ganz vielen I/Os:
NaJa, 11 IOs und davon auch noch welche doppelt belegt.
Aber schon viel besser als 2 IOs.
Andere esp Boards wie das "Witty Cloud" und das "WEMOS" haben auch
Vorteile.
Oder im nächsten Schritt auf den esp32 wechseln.
Der hat die doppelte Anzahl an IOs.
:
Bearbeitet durch User
Das ESP-01 Modul hat 4 GPIO Ports, nicht zwei. Und die kann man auch alle 4 tatsächlich benutzen - wenn man für den normalen Betrieb keine serielle Schnittstelle braucht. Wenn Dir die üblichen I²C Port Expander nicht gefallen bietet sich ein zweiter Mikrocontroller an. Da hast du hunderte zur freien Auswahl, irgendeiner wird zusammen mit deiner selbst zu schreibenden Firmware dann wohl auch das können, was du brauchst. Die Kommunikation zwischen ESP-Modul und Mikrocontroller kann ja weiterhin I²C, oder UART sein. Wenn du ein ESP-07 oder ESP-12 Modul verwendest, könntest du auch SPI verwenden, da wäre die schnellste Variante.
Arduino F. schrieb: > Nee... > Im Endeffekt ist es nur eine kleine Handvoll. Aber mehr als fünf sind es schon...
Max M. schrieb: > Einfach nicht das ESP-01 Board benutzen... Ja eben, wofür hat man denn den ESP-12 <_< >_>
André R. schrieb: > Wie schnell kann der ESP den I²C > eigentlich beschicken? Das Arduino Framework mit, laut Doku, ca. 450kHz. Hier hat einer was darüber geschrieben: https://tech.scargill.net/faster-esp-i2c/ Sowas gibt es aber auch: https://github.com/pasko-zh/brzo_i2c > 800 KHz @ 80 MHz CPU frequency > 1 MHz @ 160 MHz CPU frequency EDIT: Beim esp32 sieht es so aus: >ESP32 has two I2C bus interfaces which can serve as I2C master or slave >depending on the user’s configuration. >The I2C interfaces support: >•Standard mode (100 kbit/s) >•Fast mode (400 kbit/s) >•Up to 5 MHz, but constrained by SDA pull up strength >•7-bit/10-bit addressing mode >•Dual addressing mode >Users can program command registers to control I2C interfaces to have more >flexibility.
:
Bearbeitet durch User
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.