1-Wire-Slave-Baukasten V.2

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.

    Hinweis kann nach Kenntnisnahme deaktiviert werden!

    • 16. 1-Wire-Slave mit SHT21 und OLED

      Endlich habe ich mal wieder Zeit gefunden,
      um einen neuen Slave zu programmieren.

      Modul.jpg

      Er nimmt die Werte von einem SHT21 (Breakout für 5V)
      und sendet die Messwerte nicht nur über den 1-Wire-Bus,
      sondern schreibt sie zugleich auf ein OLED.
      Routinen für OLED stammen hier aus dem Forum:
      -> SSD1306 OLED Display
      Für den SHT21 vom mcselec:
      -> mcselec.com/index.php?option=com_content&task=view&id=308
      Herzlichen Dank.

      Für den SHT21 kann man auch einen HYT-Sensor nehmen.

      SHT21_HYT_OLED.zip

      LG RoBue

      The post was edited 2 times, last by RoBue ().

    • Wow, vielen Dank für die vielen Beispiele.

      Da ich meine eigene interne 1Wire-Familie kreieren möchte, mache ich mir die IDs einfach selbst. Untenstehender Code liefert in der Simulation die 8 Bytes inkl. CRC als fertigen copy-paste-DATA-Output (Schema DATA &HA1,&HB2,&HC3,&HD4,&HE5,&HF6,&H01,&HD0). Wer's brauchen kann, kann sich ja nach Gusto die Bytes vergeben :)

      Source Code

      1. $regfile ="m168pdef.dat"
      2. dim I as byte
      3. dim MyAdresse(8) as byte
      4. dim MyAdresse$ as string*8 at MyAdresse overlay ' Als String abbilden, falls man damit was machen möchte (hier nicht verwendet)
      5. dim MyAdresse_ohne_CRC$ as string*7 at MyAdresse overlay ' 7 Bytes vom Array nutzen
      6. dim CRC as byte
      7. MyAdresse(1)=&HA1 ' Familie
      8. MyAdresse(2)=&HB2
      9. MyAdresse(3)=&HC3
      10. MyAdresse(4)=&HD4
      11. MyAdresse(5)=&HE5
      12. MyAdresse(6)=&HF6
      13. MyAdresse(7)=&H01
      14. CRC=crc8(MyAdresse_ohne_CRC$,7)
      15. MyAdresse(8)=CRC
      16. print "DATA &H";
      17. for I=1 to 7
      18. print HEX(MyAdresse(I));",&H";
      19. next
      20. print HEX(MyAdresse(8))
      21. end
      Display All