Temperatur & Feuchte Sensor DS1923-F5

OP #1387970
Lesenswert?

Hi Leute,
wer hat Erfahrung mit dem DS1923 ???
Ich schreibe meine Progs mit Bascom.
Ich habe meinen iButton am PortC.0 meines ATMega32.
Mit:

Rom_data(1) = 1wsearchfirst()
If Err = 1 Then
Ibutton = "iButton error"
Else
Ibutton = "iButton O.K."
End If

wird der iButton zwar gefunden, oder auch nicht, wenn ich ihn abstecke.

Die Abfrage des Family-Code und der Serial-number war bisher erfolglos.
Bitte um Hilfe
OP #1388055
Lesenswert?

Ja, schon, aber nicht für den DS1923!

Auch im Buch 'AVR Risc Microcontroller mit Bascom' ist u.A. der DS1920 
beschrieben.
Aber da es sich beim 1923'er nicht um einen Sensor, sondern um einen 
Logger mit 8kb Speicher handelt, vermute ich da den Fehler.
Ausserdem glaube ich, die Spannungsversorgen mit 'ParasitePower', eine 
weitere mögliche Ursache sein könnte. Trotzdem müsste ich aber den 
Family-Code und die SN auslesen können. Variablen bleiben aber leer!
Ich dachte halt nur, jemand hat so ein Teil am laufen, der mir ein wenig 
Source-Code in Basic zukommen lassen könnte.
Dann könnt ich bei mir besser auf Fehlersuche gehen!
Aber trotzdem ... merci
OP #1388104
Lesenswert?

Ich hab mal meinen abgespeckten Source-Code angehängt.
Vielen Dank, für jeden der sich die Zeit nimmt, sich das mal 
anzuschauen.


$regfile = "m32def.dat"
$crystal = 16000000
$hwstack = 100
$swstack = 100
$framesize = 100
$baud = 9600




'----------------------------------------------------------------------- 
---
'Startvariablen setzen
'----------------------------------------------------------------------- 
---


Dim Rom_data(8) As Byte
Dim Ibutton As String * 13
Dim Family_code As Byte
Dim Serial_number(6) As Byte
Dim Crc As Byte

Dim X As Byte
Dim Xx As Byte


'----------------------------------------------------------------------- 
---
'LCD-Display Konfiguration
'----------------------------------------------------------------------- 
---

Lcd_db4 Alias Portb.4
Lcd_db5 Alias Portb.5
Lcd_db6 Alias Portb.6
Lcd_db7 Alias Portb.7

Lcd_e Alias Portc.1
Lcd_rs Alias Portc.2

Config Lcdpin = Pin , Db4 = Lcd_db4 , Db5 = Lcd_db5 , Db6 = Lcd_db6 , 
Db7 = Lcd_db7 , Rs = Lcd_rs , E = Lcd_e
Config Lcd = 20 * 4
Cursor Off
Cls

'----------------------------------------------------------------------- 
---
'iButton 1-Wire devices
'----------------------------------------------------------------------- 
---


Config 1wire = Portc.0

'----------------------------------------------------------------------- 
---
'Hauptschleife
'----------------------------------------------------------------------- 
---





Do

      1wreset

      Rom_data(1) = 1wsearchfirst()

      Wait 2

      If Err = 1 Then
         Ibutton = "iButton error"
      Else
         Ibutton = "iButton O.K. "
      End If

      Locate 1 , 1
      Lcd Ibutton
      Locate 2 , 1
      Lcd "SN :"

      Family_code = 1wread()

      For X = 1 To 6
         Serial_number(x) = 1wread()
         Xx = X * 2
         Xx = Xx + 3
         Locate 2 , Xx
         Lcd Hex(serial_number(x))
      Next

      Crc = 1wread()


      Locate 3 , 1
      Lcd "FC :" ; Hex(family_code)
      Locate 4 , 1
      Lcd "CRC:" ; Hex(crc)



Loop

End

' Ergebnis im LCD:


'----------------------------------------------------------------------- 
---
'iButton O.K.
'SN :000000000000
'FC :00
'CRC:00
'----------------------------------------------------------------------- 
---


'Der Family-Code sollte eigentlich 42 sein!
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren