Kann ich einen DHT22 als Temperatursensor für meinen Pi verwenden?

13

Ist es möglich, einen billigen Temperatursensor wie den DHT-22 mit dem Raspberry Pi zu verwenden? Ich habe Arduino-Treiber für dieses und viele ähnliche Dinge gefunden und würde es gerne tun, den Code auf den Raspberry Pi zu portieren. Mein Verständnis ist jedoch, dass ein dedizierter Mikrocontroller ohne vollwertiges Betriebssystem dies viel einfacher macht, da er so spezifische Timings erfordert.

Ist das erforderliche Timing ohne die Möglichkeit zum Deaktivieren von Interrupts (a'la cli()und sei()in AVR) überhaupt möglich?

Ich versuche, eine Steuerung für ein Klimatisierungssystem zum Altern von beispielsweise Käse zu bauen. Es müsste an ein paar Relais und einen Temperatur- und Feuchtigkeitssensor angeschlossen werden, und dies scheint eine äußerst kostengünstige Möglichkeit zu sein.

Speziell - hat jemand Treiber für 1-Draht-Temperatursensoren gesehen oder geschrieben, die auf dem Pi laufen?

chrisrhoden
quelle
Mit dem GPIO? Scheint mir plausibel.
Jivings
Das ist das Ziel, aber ich konnte keine Treiber finden. Glücklicherweise scheinen die billigsten Sensoren digital zu sein, so dass es technisch möglich sein sollte, einen Treiber zu haben, der für einen funktioniert, aber ich habe keine konkreten Beweise dafür gesehen, dass sie existieren .
Chrisrhoden
Möglicherweise können Sie einen 1-Draht-zu-Seriell-Chip verwenden, z. B. den DS2480B
Alex L,
1
Abgesehen von Schwierigkeiten mit der Schnittstelle müssen Sie berücksichtigen, dass eine pi + sd-Karte das 2-3-fache der Kosten einer auf einem kleinen Mikrocontroller basierenden Lösung (Sie benötigen nicht einmal ein ganzes Arduino) kostet. es wird auch Wärme und Strom verschwenden. Gibt es einen anderen Teil des Problems, der es rechtfertigt, diesem einen Kuchen zu widmen? Wenn Sie zum Beispiel Ethernet benötigen, wird der Kuchen plötzlich billiger als jede aktuelle kleine Mikrolösung.
Chris Stratton
@ChrisStratton Ich vermute, Sie haben diese Frage schon lange nicht mehr gesehen, aber es ist definitiv erwähnenswert, dass (a) ich ein Pi habe und (b) es wesentlich leistungsfähiger ist als ein kleiner Mikrocontroller. Selbst wenn Sie einem Mikrocontroller-Setup nur Ethernet hinzufügen, werden Ihre Kosten über dem liegen, was ich hier ansehe.
chrisrhoden

Antworten:

8

Adafruit hat jetzt sogar ein Tutorial, um den DHT22 mit dem Pi zu verbinden . Der Beispielcode funktioniert auf den meisten Pis, ich musste den CCode ein wenig wie in den Foren von raspberrypi.org anpassen (einen Sleep-Timer erhöhen).

Weitere funktionierende Sensoren (einschließlich 1-Draht und I²C) finden Sie in meinem Blog . Aber zB der TMP102 fehlt noch in der Liste.

mauorrizze
quelle
1

Wenn Sie Ihren Prozess in Echtzeit ausführen, ist es möglich, dass das Timing eng genug ist, um die meiste Zeit zu arbeiten. Um zuverlässiger zu sein, könnten Sie möglicherweise einen Puffer-IC verwenden, um Daten vom Gerät zu empfangen, damit der Pi den Puffer-IC mit einer unregelmäßigeren Rate abfragen kann.

Ich kenne das Gerät nicht gut genug, aber möglicherweise könnte es stattdessen an den seriellen Port des Pi angeschlossen werden, wenn die Geschwindigkeiten kompatibel sind. Dann ist das Timing und Puffern bereits für Sie erledigt, und Sie müssen nur noch die von der seriellen Schnittstelle eingehenden Bits dekodieren, wenn es Ihnen passt.

Bösartig
quelle
0

Der Microchip MCP950X verfügt über einen Logikausgang , der den Status bei einer bestimmten Temperatur ändert

Verfügbare Schalttemperatur sind

-35 ° C, -25 ° C, -15 ° C, -5 ° C, 5 ° C, 15 ° C, 25 ° C, 35 ° C, 45 ° C,
55 ° C, 65 ° C, 75 ° 85ºC, 95ºC, 105ºC, 115ºC, 125ºC

John La Rooy
quelle