Thermometer mit dem Chip LM75

Mit dem IC LM75 wird eine komplette Temperaturüberwachung möglich. Auf dem IC ist ein Temperatursensor, eine Watchdog-Schaltung und ein I2C-Interface integriert. Externe Komponenten sind nicht erforderlich, damit ist der Anschluss sehr einfach. Wir benutzen nur die Temperaturfunktion. Die Auflösung beträgt 0,5Grad. In unserem Beispiel werden nur ganze Temperaturwerte übertragen.

Im ersten Programmteil wird die I2C-Schnittstelle und das LCD-Display initialisiert. Die Befehle für das LCD-Display werden hier nicht näher erläutert, weitere Infos sind hier zu finden. Weitere Infos zur I2C-Schnittstelle gibt es hier.

Temperatur auslesen
Das Programm sieht folgendermaßen aus:

 I2cstart
 I2cwbyte &B10010001
 I2crbyte Wert , Nack
 I2cstop
 
Mit I2cstart wird die Datenübertragung gestartet. Der Attiny sendet die Schreibadresse an den LM75. Dieser sendet die Temperatur an den Attiny. Durch den Befehl NACK wird die Übertragung beendet und mit I2cstop der Datenbus freigegeben. Eine Vorlagendatei für positive Temperaturen ist in der Datei lm75_atmega.bas vorhanden.

Negative Temperaturen
Ein Byte kann nur die Werte 0 bis 255 annehmen. Negative Zahlen sind nicht vorgesehen. Deshalb muß eine negative Temperatur durch die Software erzeugt werden. Die Werte 0 bis 120 sind für die positiven Temperaturen reserviert. Die negativen Temperaturen durch die Werte 255 bis 200 . Der übertragene Wert 255 entspricht -1 Grad und der Wert 200 der Temperatur -55 Grad.