Home

 Kontakt

 Shop

 Download

 Links

 

Der I²C-Temperatursensor mit LM75

© http://www.horter.de

Schnittstelle öffnen und Temperaturen lesen


Option Explicit

Private Sub Command_OpenCom_Click()

If Command_OpenCom.Caption = "COM öffnen" Then
  'Serielle Schnittstelle öffnen
  If OPENCOM(Combo_Com.Text & ":" & Combo_Baud.Text & ",n,8,1") = 0 Then
    MsgBox ("Fehler, kann " & Combo_Com.Text & " nicht öffnen")
  Else
    SDA 1 'I2C-Interface testen
    If Not SDA_in Then
      MsgBox ("Keine Antwort vom I2C-Seriell Interface")
    Else
      Command_OpenCom.Caption = "COM schließen"
      'I2C-Bus initialisieren
      i2cInit
      i2cStart
      i2cStop
    End If
  End If
Else
  CLOSECOM 'Serielle Schnittstelle schließen
  Command_OpenCom.Caption = "COM öffnen"
End If
End Sub


Private Sub
Command_LM75_Lesen_Click()   'Temperatur vom LM75 lesen
Dim Temperatur

i2cInit
i2cStart
If i2cSlave(Combo_LM75_Adresse.Text) Then
  i2cOut 0 'Register auf Temperatur setzen
  i2cStop
  i2cStart
  i2cSlave (Combo_LM75_Adresse.Text + 1) 'Bus-Adresse des LM75 schreiben
Temperatur = i2cLM75_in                  'Temperatur auslesen
TextBox_Temperatur.Text = Format(Temperatur, "##,##0.00 °C")
End If
i2cAck
i2cStop
End Sub


Private Sub Command_LM75_Hyget_Click() 'Hysterese vom LM75 lesen
Dim HyTemp

i2cInit
i2cStart
If i2cSlave(Combo_LM75_Adresse.Text) Then
  i2cOut 2                               'Register auf "Thyst" setzen
  i2cStop
  i2cStart
  i2cSlave (Combo_LM75_Adresse.Text + 1) 'Bus-Adresse des LM75 schreiben
  HyTemp = i2cLM75_in 'Hysterese auslesen
  TextBox_Hysterese.Text = Format(HyTemp, "##,##0.00 °C")
End If
i2cAck
i2cStop
End Sub


Private Sub Command_LM75_Hyset_Click() 'Hysterese am LM75 setzen

i2cInit
i2cStart
If i2cSlave(Combo_LM75_Adresse.Text) Then
  i2cOut 2                             'Register auf "Thyst" setzen
  i2cLM75_out (TextBox_Hysterese.Text)
End If
i2cStop
End Sub


Private Sub Command_LM75_SPget_Click() 'Schaltpunkt vom LM75 lesen
Dim SPTemp

i2cInit
i2cStart
If i2cSlave(Combo_LM75_Adresse.Text) Then
  i2cOut 3                               'Register auf "Tos" setzen
  i2cStop
  i2cStart
  i2cSlave (Combo_LM75_Adresse.Text + 1) 'Bus-Adresse des LM75 schreiben
  SPTemp = i2cLM75_in                    'Schaltpunkt auslesen
  TextBox_Schaltpunkt.Text = Format(SPTemp, "##,##0.00 °C")
End If
i2cAck
i2cStop
End Sub


Private Sub Command_LM75_SPset_Click() 'Schaltpunkt am LM75 setzen

i2cInit
i2cStart
If i2cSlave(Combo_LM75_Adresse.Text) Then
  i2cOut 3                               'Register auf "Tos" setzen
  i2cLM75_out (TextBox_Schaltpunkt.Text) 'Wert schreiben
End If
i2cStop
End Sub


Private Sub Command_LM75_Konfget_Click() 'Konfiguration vom LM75 lesen
Dim Konfig

i2cInit
i2cStart
If i2cSlave(Combo_LM75_Adresse.Text) Then
  i2cOut 1                               'Register auf "Config" setzen
  i2cStop
  i2cStart
  i2cSlave (Combo_LM75_Adresse.Text + 1) 'Bus-Adresse des LM75 schreiben
  TextBox_Konfig.Text = i2cIn            'Konfigurationsbyte lesen
End If
i2cAck
i2cStop
End Sub


Private Sub Command_LM75_Konfset_Click() 'Konfiguration vom LM75 setzen

i2cInit
i2cStart^
If i2cSlave(Combo_LM75_Adresse.Text) Then
  i2cOut 1 'Register auf "Config" setzen
  i2cOut (TextBox_Konfig.Text)           'Konfigurationsbyte schreiben
End If
i2cStop
End Sub

 

Beispiel als Excel Makro

I2C-Ps-LM75-Test.xls und port.dll als ZIP-Datei (68 kB)
Excel-Makro mit dem die Funktion des I2C-Temperatursensors getestet werden kann.