WEMOS D1 Mini - mir gehen die Pins aus

Gast #4933992
Lesenswert?
• ▲
▼
Hallo,

ich setze ein kleines Projekt um, bei dem ich am Anfang der Meinung war, 
dass der WEMOS D1 Mini genau der richtige uC ist und dicke reicht:

- I2C für ADS1115 (hier nutze ich 3 Kanäle)
- Software Serial für Bluetooth HC06
- 2 ext. Interrupt
- 1 PWM out

Also 7 Pins - der WEMOS D1 Mini hat D0-D8 (also 9) und noch einen 
Analogen (den ich nicht brauche).

Nach dem Aufbau habe ich aber bemerkt, dass ich ständig Probleme mit dem 
Flashen oder dem späteren Ausführen habe.

Dann bin ich auf folgendes Dokument gestossen:
https://github.com/esp8266/Arduino/blob/master/doc/boards.md#minimal-hardware-setup-for-bootloading-and-usage

Danach ist mir klar geworden, dass ich Pins genutzt habe, die ich hätte 
nicht nutzen dürfen: D3, D4, D8.
Dann kommt erschwerend hinzu, dass D0 keinen Interrupt unterstützt.

Jetzt stehe ich da und hoffe, irgendeinen Weg zu finden, wie ich das 
ganze doch noch hinkriege, ohne auf den größeren NodeMCU umsteigen zu 
müssen (was ein beträchtlicher Aufwand wäre...)

Meine Überlegung geht in folgende Richtung:

Die verbotenen PINS dürfen nicht als Eingänge fungieren, sondern als 
Ausgänge.

- I2C D1 und D2
- Bluetooth D7 und D8 (D8 Blutooth RX mit einem Pulldown Widerstand)
- externe Interrupts D5 und D6

Jetzt bleibt noch die PWM übrig. Hier würde ich gerne einen verbotenen 
PIN nutzen (vielleicht D4). Der müsste halt einen externen 
Pullup-Widerstand bekommen. Denkt ihr, das könnte klappen?
Gast #4934447
Lesenswert?
• ▲
▼
Andreas B. schrieb:
> Hi,
> also D3, D4, D8 kann man durchaus nutzen (Du meinst wohl GPIO 0, 2 und
> 15).
> Du mußt diese Pins nur beim booten auf den Level halten.
> Am besten also GPIO0 und GPIO2  über 10k an + und GPIO 15 über 10k and
> GND
>
> Gruß
> Andreas

Ja genau das ist auch mein Ansatz. Ich habe nicht mehr Platz im Gehäuse 
für 2. uC oder Portexpander oder NodeMCU...

Bisher hatte ich versehentlich D3 (GPIO 0), D4 (GPIO 2) für die externen 
Interrupts vorgesehen - und prompt liefs mal und mal nicht, weil die 
Interrupts mal kamen beim Reboot und mal nicht...

Das kann ich nicht beeinflussen, deshalb lege ich diese Interrupts nun 
z.B. auf D5 und D6...
Serielle Softwareschnittstelle mit D8 scheint auch zu funktionieren.
Dann brauche ich nur noch die PWM mit D4 umsetzen.

Dazu verwende ich dann eine Pullupwiderstand und ein RC Glied. Dann 
müsste es ja funktionieren...
Beitrag #4934452 wurde von einem Moderator gelöscht.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.