www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Temperatur & Feuchte Sensor DS1923-F5


Autor: Markus Federhofer (fedi75)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: D. S. (jasmin)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In der Bascom Hilfe und im sample Ordner gibt es genug fertige 
Programme.
Vom WEB ganz zu schweigen.

Das Zauberwort heißt also Drag and Drop ;-)

Autor: Markus Federhofer (fedi75)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Markus Federhofer (fedi75)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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!

Autor: Markus Federhofer (fedi75)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Korrektur:

Der Family-Code des DS1923 sollte &H41 lauten

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.