One Wire Bricklet

Features

  • 1-Wire Kommunikation mit allen 1-wire kompatiblen Geräten
  • Bietet High-Level-Befehle (Bus Search, Reset, Write, Read, Write Command)
  • Unterstützt 3,3V, 5V und externe Versorgungsspannung
  • Bis zu 64 1-Wire Geräte gleichzeitig anschließbar

Beschreibung

Das One-Wire Bricklet ermöglicht die Kommunikation mit 1-wire kompatiblen Geräten .

Die API stellt verschiedene High-Level-Befehle (Bus Search, Reset, Write, Read, Write Command) bereit, die direkt den Status zurückmelden und einfache Fehlererkennung ermöglichen.

Bis zu 64 1-Wire Geräte können gleichzeitig angeschlossen und genutzt werden.

Ein Jumper kann genutzt werden um zwischen 3,3V, 5V und einer externen Stromversorgung für das 1-Wire Gerät zu wechseln.

Eine Beispielanwendung für das Bricklet wäre z.B. das Bestimmen der Temperatur mit einem MAX31820 1-Wire Temperatursensors.

Das One Wire Bricklet hat einen 7 Pol Bricklet Stecker und wird mit einem 7p-10p Bricklet Kabel mit einem Brick verbunden.

Technische Spezifikation

Eigenschaft Wert
Stromverbrauch 35mW (7mA bei 5V)
   
Maximale Busgröße 64
Unterstüzte Spannungen 3,3V, 5V und externe Versorgung
Befehle Bus Search, Reset, Write, Read, Write Command
   
Abmessungen (B x T x H) 30 x 30 x 14mm (1,18 x 1,18 x 0,55")
Gewicht 6,5g

Ressourcen

Anschlussmöglichkeit

Ein 1-Wire Gerät kann mit VCC/DAT/GND (Spannung, Daten, Masse) verbunden werden

Der Jumper kann genutzt werden um die Stromversorgung auf der VCC-Klemme zwischen 3,3 und 5V zu wechseln. Wenn der Jumper auf NC gesetzt wird, kann eine externe Stromversorgung an VCC angeschlossen werden. Wenn eine externe Stromversorgung verwendet wird darf der Jumper nicht auf 3,3V/5V gesetzt werden.

One Wire Bricklet Anschlussmöglichkeiten

Beispiel: MAX31820

Das folgende Python Beispiel ließt über das One Wire Bricklet die Temperatur eines angeschlossenen MAX31820 Temperatursensors aus:

ow.write_command(0, 0x4E)     # WRITE SCRATCH PAD
ow.write(0x00)                # ALARM H (unused)
ow.write(0x00)                # ALARM L (unused)
ow.write(0x7F)                # CONFIGURATION: 12 bit mode

while True:
    ow.write_command(0, 0x44) # CONVERT T (start temperature conversion)
    time.sleep(1)             # Wait for conversion to finish

    ow.write_command(0, 0xBE) # READ SCRATCH PAD

    t_low = ow.read().data    # Read LSB
    t_high = ow.read().data   # Read MSB

    print('Temperature: {0} °C'.format((t_low | (t_high << 8)) / 16.0))

Erster Test

Um ein One Wire Bricklet testen zu können müssen zuerst Brick Daemon und Brick Viewer installiert werden. Brick Daemon arbeitet als Proxy zwischen der USB Schnittstelle der Bricks und den API Bindings. Brick Viewer kann sich mit Brick Daemon verbinden, gibt Informationen über die angeschlossenen Bricks und Bricklets aus und ermöglicht es diese zu testen.

Als nächstes muss das One Wire Bricklet mittels eines Bricklet Kabels mit einem Brick verbunden werden und ein 1-Wire Gerät an das Bricklet angeschlossen werden.

Wenn der Brick per USB an den PC angeschlossen wird sollte einen Moment später im Brick Viewer ein neuer Tab namens "One Wire Bricklet" auftauchen. Wähle diesen Tab aus. Wenn alles wie erwartet funktioniert kann jetzt mit dem angeschlossenen 1-Wire Gerät kommuniziert werden.

One Wire Bricklet im Brick Viewer

Nun kann ein eigenes Programm geschrieben werden. Der Abschnitt Programmierschnittstelle listet die API des One Wire Bricklet und Beispiele in verschiedenen Programmiersprachen auf.

Gehäuse

Ein laser-geschnittenes Gehäuse für das One Wire Bricklet ist verfügbar.

Gehäuse für One Wire Bricklet

Der Aufbau ist am einfachsten wenn die folgenden Schritte befolgt werden:

  • Schraube Abstandshalter an das Bricklet,
  • schraube Unterteil an untere Abstandshalter,
  • baue Seitenteile auf,
  • stecke zusammengebaute Seitenteile in Unterteil und
  • schraube Oberteil auf obere Abstandshalter.

Im Folgenden befindet sich eine Explosionszeichnung des One Wire Bricklet Gehäuses:

Explosionszeichnung für One Wire Bricklet

Hinweis: Auf beiden Seiten der Platten ist eine Schutzfolie, diese muss vor dem Zusammenbau entfernt werden.

Programmierschnittstelle

Siehe Programmierschnittstelle für eine detaillierte Beschreibung.

Sprache API Beispiele Installation
C/C++ API Beispiele Installation
C# API Beispiele Installation
Delphi/Lazarus API Beispiele Installation
Java API Beispiele Installation
JavaScript API Beispiele Installation
LabVIEW API Beispiele Installation
Mathematica API Beispiele Installation
MATLAB/Octave API Beispiele Installation
Perl API Beispiele Installation
PHP API Beispiele Installation
Python API Beispiele Installation
Ruby API Beispiele Installation
Shell API Beispiele Installation
Visual Basic .NET API Beispiele Installation
TCP/IP API    
Modbus API