Hallo, Arduino Nano und ein DHT22

Hallo zusammen,

zunächst möchte ich kurz Hallo sagen. Ich habe mich eben registriert um auch mal eigene Beiträge verfassen zu können. Bislang habe ich nur von euren vielen Beiträge profitiert. Dafür ein herzliches Dankeschön :slight_smile:

Da ich gerade am Verzweilfeln bin, bitte ich hier um Hilfe. Ich habe einen Feuchtigkeits- und Temepratursensor (AM2302, dürfte einem DHT22 entsprechen). Ich habe auch die passende Library und am Arduino Uno läuft der Sensor auch bestens.
Da ich jedoch für ein Projekt letztendlich einen Arduino Nano (5V-Version, AMmega 328) verwenden möchte, wollte ich den Sensor mit dem gleichen Sketch am Nano betreiben. Trotz korrekter Verkabelung erhalte ich keine Werte vom Sensor.

Ich habe mittlerweile keine Ahnung mehr, woran es liegen könnte. Ich habe schon nach anderen Libraries ausschau gehalten und die auch ausprobiert; das Resultat war: der Sensor liefert am Nano keine Werte (entweder Datenmüll oder 0).

Der Nano funktioniert einwandfrei. Zu Testzwecken habe ich mal diverse LED's, Taster und Displays angeschlossen. Alles läuft bestens. Nur der doofe Sensor will nicht.

Vielleicht hat einer von euch eine Idee bzw. hilfreichen Hinweis?

Besten Dank schon jetzt und viele Grüße vom
Schattenfaenger

Nachtrag: ich hatte vergessen zu erwähnen, dass der Sensor auf einer kleinen Platine aufgelötet ist und von dort aus mit nur 3 Pins anzuschließen ist. Der Sensor hat ja eigentlich 4 Pins. Aber wie schon gesagt: mit der 3-Pin-Lösung läuft das Ding ja wunderbar am Arduino Uno.

Mach uns doch ein Verdrahtungsschema, die Wahrscheinlichkeit ist relativ hoch, dass Dir dort ein Fehler unterlaufen ist. Alternativ würde auch ein (scharfes) Foto vom Setup helfen.

Hallo Pylon,

nun ja, ein Foto wird schwer, da ich den Sensor mit Jumper-Wires (female - female) direkt angeschlossen habe. Allerdings kann ich folgendes Anschlussschema angeben:

DHT22-Modul => Arduino Nano (oder Uno)

  • => 5Vout
  • => Gnd
    out => D6

getestet jeweils ohne oder mit einem 10k-Pullup-Widerstand zwischen + und out. Einen 4,7k-Pullup-Widerstand habe ich auch ausprobiert.

Wie gesagt: an der Verkabelung kann es nicht liegen, denn am Uno läuft es. Anstelle von D6 habe ich auch D2 (oder auch andere Ports) ausprobiert. Am Uno läuft's, am Nano nicht.

Viele Grüße
Schattenfaenger

Hallo,

hier: meinduino.de gibt es einen Sketch, mit dem Du den Sensor ohne Library auslesen kannst. Damit könntes Du feststellen, ob der Fehler in Deinem Aufbau begründet ist, oder ob der Sensor evtl. defekt ist oder ob es an der verwendeten Bibliothek liegt.

Gruß,
Ralf

Hallo Schachmann,

danke für den Tipp. Allerdings habe ich einen DHT22 und keinen DHT21. Ich denke, dass die Sensoren unterschiedlich kommunizieren. Aber ich habe mal das Sketch kopiert und auf den Nano geladen. Das Ergebnis ist die Meldung “Start 1 fehlt”.
Das würde ich der Tatsache zuschreiben, dass es einfach kein passendes Sketch für den DHT22 ist. Leider habe ich auch keine Ahnung, wie ich dieses Sketch entsprechend anpassen könnte.

Aber nach wie vor: auf dem Uno läuft’s, auf dem Nano nicht.

Beste Grüße
Schattenfaenger

Nein,

soweit ich weiß unterscheiden sich die Sensoren nur in der Messgenauigkeit, aber das Protokoll bei der Abfrage ist gleich.
Wenn der Sensor wirklich am Uno läuft und am Nano nicht, deutet die Fehlermeldung darauf hin, dass Du ihn am Nano falsch angeschlosen hast. Falls er jetzt am Uno auch nicht mehr (mit dem von mir angegebenen Sketch) funktioniert, kann er auch defekt sein. (Ich gehe mal davon aus, dass Dein Nano mit 16Mhz läuft)
Poste doch bitte mal ein Foto, wie er am Nano angeschlosen ist.
Gruß,
Ralf

Hallo Schachmann,

ich habe die Ursache nun gefunden… am liebsten würde ich im Boden versinken - vor Scham natürlich. Eines dieser Jumper-Wires hat wohl einen Bruch, mal geht’s, mal nicht. Warum es zufällig immer an Uno lief und am Nano nicht… wer weiß. Wieso prüfe ich sowas auch immer zuletzt? Doof, echt ey.

Aber ich hab den Sketch nun mal auf dem Nano laufen lassen, also den aus dem Link von Dir. In der Tat liefert der Werte, allerdings irrsinnige. Luftfeuchtigkeit = 0, Temperatur = 1°.

Mit der passenden Library liefert der Sensor Werte, die hinkommen.

Nun, auch wenn es mir gerade immer noch arg peinlich ist… das doofe Kabel… herzlichen Dank für alle Tipps. :slight_smile:

Viele Grüße
Schattenfaenger

schattenfaenger:
Hallo Schachmann,

ich habe die Ursache nun gefunden... am liebsten würde ich im Boden versinken - vor Scham natürlich. Eines dieser Jumper-Wires hat wohl einen Bruch, mal geht's, mal nicht. Warum es zufällig immer an Uno lief und am Nano nicht... wer weiß. Wieso prüfe ich sowas auch immer zuletzt? Doof, echt ey.

Aber ich hab den Sketch nun mal auf dem Nano laufen lassen, also den aus dem Link von Dir. In der Tat liefert der Werte, allerdings irrsinnige. Luftfeuchtigkeit = 0, Temperatur = 1°.

Mit der passenden Library liefert der Sensor Werte, die hinkommen.

Nun, auch wenn es mir gerade immer noch arg peinlich ist... das doofe Kabel... herzlichen Dank für alle Tipps. :slight_smile:

Viele Grüße
Schattenfaenger

Wenn du willst, kannst Du mit dem von mir empfohlenen Sketch mal die Werte aus den Datenbytes (ich glaube) 1 und 3 ausgeben, also dhtDatenBytes[1] und dhtDatenBytes[3] ob die Werte dann plausibler werden.

Schämen musst Du Dich nicht, drück einfach auf mein Karma :slight_smile: :wink: :wink:

Gruß,
Ralf