Forum: Mikrocontroller und Digitale Elektronik Benutzung des PIN D4 auf dem WEMOS D1 mini pro


von Rainer B. (hobbyduino)


Lesenswert?

Hallo,

In meinem ersten Projekt versuche ich mich an einem Temperaturregler auf 
Basis eines Wemos D1 mini pro V1.0.0. Angeschlossen habe ich bereits ein 
Relais-Shield und ein Shield für eine RTC. Da ist zusätzlich noch ein SD 
Card Slot mit drauf, den ich gerne für Logs benutzen möchte. Dieses 
Shield belegt aber dummerweise das selbe PIN, wie es das DS18B20 
(Temperatursensor) Shield belegen möchte - D2. Für diesen Sensor wäre 
jetzt nur der PIN D4 frei. Hier: 
https://randomnerdtutorials.com/esp8266-pinout-reference-gpios/ habe ich 
nun, nach dem ich alles außer dem DS18B20 verlötet habe, gelesen, das im 
Input- Modus hier ein Pull-Up ist. Somit liegt der D4 auf 3,3V. Kann ich 
den PIN dennoch als Input benutzen und wenn ja, muss ich noch was dafür 
tun? Das DS18B20 Shield hat im Layout eine Verbindung zum 5V-PIN, zu GND 
und eben dem D2-PIN. Auf dem Shield ist bereits ein 4,7k Wiederstand 
drauf. Kann / muss ich, um nicht mit dem 3,3V Pull-Up ins Gehege zu 
kommen, einfach eine Verbindung zwischen dem 3,3V PIN am WEMOS und dem 
5V-PIN am Shield ziehen?

Danke schon mal im Voraus!

von Joachim B. (jar)


Lesenswert?

dann nimm doch einfach einen freien Pin oder ein größeren ESP z.B. ESP32 
WEMOS Lolin32.

Ich verstehe dein Problem gerade nicht angesichts dieser dünnen Info.
Weder kenne ich deine ungenannten Shields noch deinen Aufbau.

von Rainer B. (hobbyduino)


Lesenswert?

so in etwa sehen meine Shields aus (genau kann ich das aber gerne heute 
Abend noch nachliefern, hätte gerne keine Shop- Werbung gemacht, habe 
aber auf die Schnelle keine besseren Bildern gefunden):
https://www.makershop.de/module/rtc/d1-mini-logger-shield/
https://www.makershop.de/module/relais/d1-mini-relais-shield/
https://www.makershop.de/sensoren/temperatur/ds18b20-d1-mini-shield/

Die ersten beiden sind bereits mit dem WEMOS verlötet. Und lediglich das 
PIN D4 ist noch frei. Der Logger und die darauf befindliche RTC 1307 
belegen die meisten Pins bereits. Das Relais liegt (glaube ich) 
normalerweise auf Pin D1. Das habe ich bereits wegen der Überschneidung 
mit dem Logger Shield auf D3 "umgebogen". Klar könnte ich einen ESP32 
nehmen. Den habe ich einfach gegenwärtig nicht zur Hand.

von Joachim B. (jar)


Lesenswert?

Rainer B. schrieb:
> Und lediglich das
> PIN D4 ist noch frei.

dann nutze ihn doch

hole dir die DallasTemperature LIB
bei 3,3V empfiehlt sich VCC statisch 3,3V keine parasitäre Speisung, 
Nachteil  man kann den DS nicht bei Bedarf resetten, ich nutze am ESP32 
für seine VCC einen Port.

von Rainer B. (hobbyduino)


Lesenswert?

Als Spannungsversorgung habe ich ein Hi-Link hlk pm01 Modul vorgesehen. 
Die 5V von dort klemme ich am 5V PIN des Wemos an und kontaktiere das an 
alle Shields durch. Nun Frage ich mich nur noch, ob ich diese 5V auch 
zum DS18B20 Shield weiter führe oder ob ich die 3,3V, die am Wemos Modul 
zur Verfügung stehen, dafür verwende, obwohl das DS18B20 Shield 
eigentlich an 5V angeschlossen wird. Wie meinst du das mit der 
parasitären Speisung?
Die andere Frage war noch, ob ich mit dem Pull-Up am PIN D4 und dem 
eigenen Wiederstand auf dem Shield in Konflikt komme.

von Michael U. (amiga)


Lesenswert?

Hallo,

Rainer B. schrieb:
> Für diesen Sensor wäre
> jetzt nur der PIN D4 frei.

Der hat auf dem D1 mini einen 12k PullUp, ist aber allgemeiner I/O.
Mich stört, daß die Jungs auf dem DS18B20-Modul den DS18B20 mit 5V in 
einer ESP8266-Umgebung mit 3,3V Pegeln betreiben.
Der 10k PullUp dort zwischen D2 und +5V verstößt eigentlich schon gegen 
die Daten des ESP8266...

DS18B20-Modul modifizieren, also die Leitung zu 5V trennen und den 
DS18B20 mit 3,3V versorgen. D2 abtrennen und mit D4 verbinden. Die 
parallelen 12k auf dem D1 mini sollten nicht stören, sonst könnte man 
auch noch den 10k auf dem DS18B20-Modul auslöten.

Gruß aus Berlin
Michael

: Bearbeitet durch User
von Rainer B. (hobbyduino)


Lesenswert?

Danke Michael! Klare Aussage!

von Stefan F. (Gast)


Lesenswert?

Pin D4: Muss beim Start high sein, hat 10 kΩ Pull-Up Widerstand, 
flackert beim Start als Ausgang. Alle außer Mini v2 haben eine blaue 
LED, die bei Low Pegel leuchtet. Optional Ausgang vom zweiten UART.

Bedeutet: Als Eingang ist der Pin nur eingeschränkt verwendbar, weil
a) Er beim Start auf High liegen muss
b) Er durch die blaue LED belastet wird
c) Er beim Starten zeitweise als Ausgang angesteuert wird, dein externes 
Signal muss daher über einen Widerstand zugeführt werden, der einerseits 
den Strom auf maximal 12mA begrenzt aber andererseits die LED mit 
treiben kann ohne gültige Logikpegel zu verlassen.

von Michael U. (amiga)


Lesenswert?

Hallo,

Stefan F. schrieb:
> Pin D4: Muss beim Start high sein, hat 10 kΩ Pull-Up Widerstand,
> flackert beim Start als Ausgang. Alle außer Mini v2 haben eine blaue
> LED, die bei Low Pegel leuchtet. Optional Ausgang vom zweiten UART.
Mit der LED hast Du Recht, ich hatte das v1 übersehen und habe diese 
Version nicht im Bestand...
Ich habe gerade nochmal das Datenblatt des DS18B20 befragt:

> Bedeutet: Als Eingang ist der Pin nur eingeschränkt verwendbar, weil
> a) Er beim Start auf High liegen muss
Das würde er scon, der Pin ist beim DS18B20 zu der Zeit Input.

> b) Er durch die blaue LED belastet wird
Ist nicht schön, stimmt, dürfte aber nichtmal störren, der DS18B20 kann 
max. 4mA nach Low singen.

> c) Er beim Starten zeitweise als Ausgang angesteuert wird, dein externes
Sollte den DS18B20 auch nicht stören, der Pegel ist im zulässigen 
Bereich.

> Signal muss daher über einen Widerstand zugeführt werden, der einerseits
> den Strom auf maximal 12mA begrenzt aber andererseits die LED mit
> treiben kann ohne gültige Logikpegel zu verlassen.

Da wird es zumindest unklar. Der DS18B20 kann den Low-Impuls als Reset 
Interpretieren und quittiert den mit Daten = Low. Da kann es Kollisionen 
geben wenn der Bootloader des ESP8266 am UART wackelt. Also müßte man 
noch 270 Ohm in Reihe legen und die blaue LED notfalls entfernen.

Ich würde das vermutlich einfach ohne Widerstand testen, weil die 
Überlastung durch durch die Kollision kurz ist und Schäden hierbei durch 
die thermische Überlastung der Ausgangtreiber passieren. Ich empfehle 
das aber nicht unbedingt zur Nachahmung...

Gruß aus Berlin
Michael

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Wenn der Temepratursensor den Pin beim Start im falschen Moment auf Low 
zieht, wird de ESP nicht booten.

von Rainer B. (hobbyduino)


Lesenswert?

Hmmm - wenn ich das so lese, dann sollte ich mir tatsächlich überlegen, 
das alles wieder auseinanderzulöten und z.B. einen ESP32 zu benutzen. Es 
muss weitestgehend stabil laufen, da es in die Unterputzdose soll. 
Außerdem spielt dann der WAF (wife acceptance factor) noch ein Rolle :-) 
Danke aber sehr für Eure Mühen!

von Stefan F. (Gast)


Lesenswert?

Demnächst wollen die Leute noch ihre Fritz Boxen samt NAS in 
Unterputzdosen verstauen.

von Michael U. (amiga)


Lesenswert?

Hallo,

Stefan F. schrieb:
> Demnächst wollen die Leute noch ihre Fritz Boxen samt NAS in
> Unterputzdosen verstauen.

Eine Fritzbox kommt mir nicht in eine Unterputzdose, die mag ich 
nicht...

Was mit bei solchen Projekten eher verwirrt: Unterputzdose und 
vermutlich auch fest mit Strom versorgt. Damit ist WLAN verfügbar. NTP 
nutzbar, wozu also RTC? Loggen macht bei mir ein Raspi auf dem sowieso 
der MQTT-Broker läuft für alles mögliche, also wozu SD-Card? Würde ich 
bei Bedarf ohnehin nicht aus der Dose popeln wollen. Batteriebetrieb 
fällt auch aus, wer will dauernd wechseln wollen?

Ich gebe zu, daß ich das Konzept dahinter bei solchen Projekten oft 
nicht verstehe.

Gruß aus Berlin
Michael

von Rainer B. (hobbyduino)


Lesenswert?

Ja - die Bedenken zu dem Konzept verstehe ich.
Nein, WLAN ist nicht immer verfügbar. Zugegeben, das ist nicht 
problematisch, denn wenn es wieder verfügbar ist, dann kann man sich 
über NTP eine aktuelle Zeit holen uns alles ist gut. Mir ging es hier 
eher darum, da ich hier ganz am Anfang stehe, an einem Beispiel so viel 
wie möglich zu lernen. Möglicherweise fällt in späteren Projekten dann 
das eine oder andere auch weg. Ob ich überhaupt für den laufenden 
Betrieb dann eine SD-Card stecken werde, weiß ich auch noch nicht.
Wie gesagt, ich will hier einfach mit verschiedenen Möglichkeiten mal 
rumspielen und dabei lernen, was diese - für mich - neue Welt alles 
bietet.

Danke für Eure Unterstützung bis hier her!

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.