Mit
dem IC LM75 wird eine komplette Temperaturüberwachung möglich. Auf dem
IC ist ein Temperatursensor, eine Watchdog-Schaltung und ein
I
2C-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 I
2C-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 I
2C-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.