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?
Bei PWM ist mir aufgefallen, dass verschiedene Programmierumgebungen verschiedene Pins unterstützen. In der Doku zur Arduino-Variante stehen ein paar wenige Pins drin, während in der LUA Umgebung keine Einschränkung aufgeführt ist.
:
Bearbeitet durch User
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
Wenn du ja I2C hast und nutzt, kannst du da einen Portexpander dranhängen. Oder mehrere.
Ich würd über I squared c zu nem passenden Mikrocontroller gehen und gut.
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 vom Autor gelöscht.
dost0011 schrieb: > 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... Wozu den Pullup?
dost0011 schrieb: > 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... > Welche Interrupts beim Reboot?? Wie schon erwähnt, müssen GPIO0, GPIO2 und GPIO15 beim booten definierte Pegel haben. Gruß Andreas
:
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.