Wie verwende ich einen DS18B20-Temperatursensor in meinem Pi?

12

Ich habe ein paar DS18B20 Temperatursensoren. Diese werden normalerweise in Arduino-Projekten verwendet, aber ich verstehe nicht, warum ich sie nicht mit einem Pi verwenden soll. Es gibt eine Software namens DigiTemp , die das Gerät anscheinend antreibt , und ich habe sie kompiliert und auf dem Pi installiert. Das Unklare ist, wie verbinde ich sie? Direkt zum UART?

Tomas
quelle

Antworten:

5

Adafruit hat eine Distribution namens Occidentalis herausgebracht, die über eine integrierte 1-Draht-Unterstützung verfügt.

Ein Draht wird am häufigsten für DS18B20-Temperatursensoren verwendet. Der Pi hat keine "Hardware" 1-Draht-Unterstützung, aber er kann es mit einigem Erfolg bangen. Schließen Sie einen DS18B20 mit VCC an 3 V, Masse an Masse und Daten an GPIO 4 an. Schließen Sie dann einen 4,7-K-Widerstand von Data an VCC an.

Auf diese Weise können Sie die Temperatur mit Befehlen wie lesen

cat /sys/bus/w1/devices/28-*/w1_slave

Ich weiß nicht, ob es möglich ist, mit Digitemp zu arbeiten, aber es sollte ziemlich einfach sein, ein Munin- Plugin zu schreiben, wenn Sie nur die Temperaturdiagramme erhalten möchten

John La Rooy
quelle
Gibt es eine Möglichkeit, den 1-Wire-Treiber in Arch Linux zu verwenden?
Tomas
@Tomas, ich verwende kein Arch Linux, aber ich gehe davon aus, dass sie das Modul irgendwann dort rein bekommen. In der Zwischenzeit müssen Sie den Kernel selbst patchen.
John La Rooy
5
1 Wire auf GPIO 4 wird jetzt vom offiziellen Kernel unterstützt (Update vom 23. August), sodass jede Distribution, die es verwendet, dies unterstützt. Sie müssen den Kernel jedoch aktualisieren (stellen Sie sicher, dass er auf Kernel 3.2 basiert). Dann einfügen wireund w1-thermModule.
Krzysztof Adamski
4

Ich denke, die geheime Sauce ist die letzte Zeile auf dieser Seite

Es ist mit dem DS9097U verbunden, der die Umwandlung von UART in 1-Draht vornimmt

Ich habe zuvor den " pic arbiter " mit diesen Geräten verwendet. Es funktioniert in ähnlicher Weise, indem die Daten von den 1-Draht-Geräten abgerufen und für den Verbrauch durch den UART geeignet gemacht werden

Es ist auch möglich, I2C-Geräte wie das MCP9804 direkt an GPIO-Pins anzuschließen . Der Nachteil ist, dass Sie 4 Drähte benötigen

John La Rooy
quelle
Vielen Dank. Wenn es möglich ist, möchte ich den Sensor verwenden, ohne einen weiteren IC hinzuzufügen. Es macht mir nichts aus, 3 GPIO-Pins auszugeben. Ist es einfach, ein 1-Draht-Gerät direkt über GPIO anzuschließen?
Tomas