-
        

Seite 1 von 4 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 31

Thema: DS18S20 Seriennr. am LCD ausgeben?

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    03.02.2007
    Ort
    Bayern
    Beiträge
    85

    DS18S20 Seriennr. am LCD ausgeben?

    Anzeige

    Hallo allerseits!

    Wollte mal kurz fragen, ob jemand bereit ist, mir zu sagen wie ich die Seriennummer eines DS18S20 auslese und anschliessend am LCD ausgebe?
    Habe bereits die Seite im Wiki hier glesen, aber ich bekomms nicht hin, das ganze dann am LCD auszugeben.

    MfG,
    Maxxtro

  2. #2
    Erfahrener Benutzer Roboter Experte Avatar von Neutro
    Registriert seit
    28.10.2007
    Ort
    Ostfriesland
    Alter
    38
    Beiträge
    642
    Hier ein Link der weiterhilft:
    http://mikrocontroller.jacob-pirna.d...om_ds1820.html
    Da kannst du ein Beispielprog. zu Ermittlung der Adresse Downloaden.

    Ich hoffe das dir das weiterhilft

    Gruß

    Neutro
    Jemand mit einer neuen Idee ist ein Spinner, bis er Erfolg hat.
    (Mark Twain)

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.112
    Hier gibt es so viele Beiträge zum Thema DS18x20, da ist bestimmt etwas dabei.
    Wenn du schon etwas versucht hast, dann zeig das doch mal.

    Gruß

    Rolf

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    03.02.2007
    Ort
    Bayern
    Beiträge
    85
    So, eine der Seriennummern ist jetzt z.B. 10994E710108006D.

    Nun ist in einem der Codes auf der von Neutro geposteten Seite die Zeile
    Code:
    ' Die Adresse meines DS1820 die ich vorher ermittelt habe
    Dsid(1) = &H10 : Dsid(2) = &H68 : Dsid(3) = &H17 : Dsid(4) = &H25 : Dsid(5) = &H01 : Dsid(6) = &H08 : Dsid(7) = &H00 : Dsid(8) = &H98
    Die weitere Ansteuerung über diese zugewiesenen Nummern scheint mir logisch; aber wie kommt man auf z.B. &H10 usw? Ich sehe dorten keinen zusammenhang zwischen der Seriennr. und diesen Anweisungen?

    MfG

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.112
    Zitat Zitat von Maxxtro
    So, eine der Seriennummern ist jetzt z.B. 10994E710108006D.

    Nun ist in einem der Codes auf der von Neutro geposteten Seite die Zeile
    ' Die Adresse meines DS1820 die ich vorher ermittelt habe
    Dsid(1) = &H10
    Dsid(2) = &H68
    Dsid(3) = &H17
    Dsid(4) = &H25
    Dsid(5) = &H01
    Dsid(6) = &H08
    Dsid(7) = &H00
    Dsid(8) = &H98
    Na ja, deine ist dann
    Dsid(1) = &H10
    Dsid(2) = &H99
    Dsid(3) = &H4E
    Dsid(4) = &H71
    Dsid(5) = &H01
    Dsid(6) = &H08
    Dsid(7) = &H00
    Dsid(8) = &H6D

    Oder was meinst du?

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    03.02.2007
    Ort
    Bayern
    Beiträge
    85
    Also, ich habe ja jetzt die Seriennummern meiner DS1820s.
    Nun möchte ich die ja einzeln ansteuren.

    Dazu brauche ich ja die jeweilgen Adressen bzw. Nummern der einzelnen Sensoren?!
    Nur wie komme ich an die? Das wollte ich wissen.

    Wie kommst Du auf diese nummern? Diese ganzen Dsid(1), Dsid(2),... sind also allesamt nur ein DS1820?
    Falls ja, wie schreibe ich dann mehrere in die Liste?

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.112
    Ja, das ist ein einziger Sensor. Da ist der Typ und andere Angaben drin verschlüsselt. Alle 64bit zusammen sind die eindeutige Seriennummer.

    Du kannst die Nummern z.B. im EEPROM abspeichern und bei Bedarf wieder von dort einlesen. Das kann vor jeder Messung sein (das braucht etwas Zeit) oder alle beim Start in ein Array ablegen (das braucht etwas SRAM), wie das in dem Beispiel wohl gemacht ist.
    Es könnte auch sein, das dort die Nummern alle direkt im Programm angegeben sind, dann hast du dir auch das Einlesen aus dem EEprom gespart.

    Gruß

    Rolf

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.112
    Im Programm sieht das dann so aus:

    Dim Dsid(16) As Byte 'Platz für 2 Sensoren

    Dsid(1) = &H10 : Dsid(2) = &H68 : Dsid(3) = &H17 : Dsid(4) = &H25 : Dsid(5) = &H01 : Dsid(6) = &H08 : Dsid(7) = &H00 : Dsid(8) = &H98 'erster Sensor (aus dem Beispiel)
    Dsid(9) = &H10 : Dsid(10) = &H99 : Dsid(11) = &H4E : Dsid(12) = &H71 : Dsid(13) = &H01 : Dsid(14) = &H08 : Dsid(15) = &H00 : Dsid(16) = &H6D 'zweiter Sensor (deine Nummer 10994E710108006D)

    1wreset
    1wwrite Match_rom
    1wwrite Dsid(1) , 8 'bzw 1wwrite Dsid(9) , 8 für den zweiten
    1wwrite Read_scratchpad

    Gruß

    Rolf

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    03.02.2007
    Ort
    Bayern
    Beiträge
    85
    Vielen Dank Rolf! Soweit hauts jetzt hin!
    Hab nur noch ein Problem mit der Temperatur selber; entweder unter 0° bekomme ich eine 3-stellige Zahl, oder negative temperaturen werden ordentlich angezeigt, aber ab ca. 3° - 0° wird mir nicht mehr z.B. 3,0° sondern 30 angezeigt...

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.112
    Wie sieht dein Programm denn jetzt aus?

    gruß

    Rolf

Seite 1 von 4 123 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •