Bemerkung
Das IO-4 Bricklet ist abgekündigt und wird nicht mehr verkauft. Als Ersatz wird das IO-4 Bricklet 2.0 empfohlen.
Mit dem IO-4 Bricklet können Bricks um externe digitale Ein- und Ausgänge (I/Os) erweitert werden.
Das Bricklet besitzt 4 I/O Pins die unabhängig voneinander als Ein- oder Ausgänge konfiguriert werden können. Jeder Eingang kann zusätzlich mit einem Pull-Up oder als Interrupt-Quelle konfiguriert werden. Die I/O Pins sind über Schraubklemmen nach außen geführt. Zwei zusätzliche Schraubklemmen führen 3,3V und GND nach außen.
In typischen Anwendungen können Schalter, Taster und LEDs angeschlossen werden
Seit Hardwareversion 1.1 sitzt ein GND Pin neben jedem der 4 I/O Pins um den Zugriff auf GND zu vereinfachen.
Eigenschaft | Wert |
---|---|
I/O Pins | 4 |
Stromverbrauch | 1mA |
I/O Spannung | 3,3V |
Maximaler Ausgangsstrom | 6mA (pro Ausgang), 100mA (fester 3,3V Ausgang) |
Maximale API Aufrufe* | set-value (1kHz), get-value (0,5kHz), Callbacks (1kHz) |
Abmessungen (B x T x H) | 35 x 35 x 14mm (1,38 x 1,38 x 0,55") |
Gewicht | 14g |
* abhängig vom jeweiligen System (Betriebssystem, CPU etc.)
Um ein IO-4 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 IO-4 Bricklet mittels eines Bricklet Kabels mit einem Brick verbunden werden. In unserem Testaufbau ist eine LED über einen Vorwiderstand angeschlossen, mit Anode an Pin 3 und Kathode an einen GND Pin. Zusätzlich ist noch ein Schiebeschalter angeschlossen der Pin 0 mit GND verbinden kann (siehe folgendes Bild).
Ab Hardwareversion 1.1 können auch die GND Pins direkt neben den I/O Pins benutzt werden.
Wenn der Brick per USB an den PC angeschlossen wird sollte einen Moment später im Brick Viewer ein neuer Tab namens "IO-4 Bricklet" auftauchen. Wähle diesen Tab aus.
Hier kann die "Debounce Period" eingestellt werden, dies ist die Entprellperiode für die Interrupt Callbacks. Ein Beispiel: Wenn die Entprellperiode auf 100 gestellt wird, werden Interrupts maximal alle 100ms ausgelöst. Dies ist notwendig wenn etwas prellendes (z.B. ein Taster) an das IO-4 Bricklet angeschlossen wird. Der optimale Wert kann im Brick Viewer ermittelt und dann später im eigenen Programm verwendet werden.
Unter der Einstellung für die Entprellperiode können die einzelnen Pins konfiguriert werden. Jeder Pin kann als Eingang oder Ausgang betrieben werden. Für Eingangspins kann zusätzlich ein Pull-Up geschaltet werden. Die aktuelle Konfiguration und der Zustand der Pins ist dann in der Tabelle weiter unten aufgelistet.
Um die LED leuchten zu lassen muss Pin 3 als Ausgang konfiguriert und auf logisch 1 (High) gestellt werden. Um den Schiebeschalter zu testen muss Pin 0 als Eingang mit Pull-Up konfiguriert werden. Der Pull-Up ist nötig um einen stabilen Zustand zu erreichen wenn der Schiebeschalter Pin 0 nicht mit GND verbindet. In der Tabelle sollte sich jetzt der Zustand des Pins ändern wenn der Schiebeschalter umgeschaltet wird.
Wenn kein Schalter oder eine LED zu Hand ist kann auch ein Voltmeter verwendet werden um Änderungen an Ausgangspins zu messen. Interrupts an Eingangspins können auch mit Hilfe einer Büroklammer erzeugt werden.
Nun kann ein eigenes Programm geschrieben werden. Der Abschnitt Programmierschnittstelle listet die API des IO-4 Bricklet und Beispiele in verschiedenen Programmiersprachen auf.
Ein laser-geschnittenes Gehäuse für das IO-4 Bricklet ist verfügbar.
Der Aufbau ist am einfachsten wenn die folgenden Schritte befolgt werden:
Im Folgenden befindet sich eine Explosionszeichnung des IO-4 Bricklet Gehäuses:
Hinweis: Auf beiden Seiten der Platten ist eine Schutzfolie, diese muss vor dem Zusammenbau entfernt werden.
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 |
Go | API | Beispiele | Installation |
Java | API | Beispiele | Installation |
JavaScript | API | Beispiele | Installation |
LabVIEW | API | Beispiele | Installation |
Mathematica | API | Beispiele | Installation |
MATLAB/Octave | API | Beispiele | Installation |
MQTT | API | Beispiele | Installation |
openHAB | API | Beispiele | Installation |
Perl | API | Beispiele | Installation |
PHP | API | Beispiele | Installation |
Python | API | Beispiele | Installation |
Ruby | API | Beispiele | Installation |
Rust | API | Beispiele | Installation |
Shell | API | Beispiele | Installation |
Visual Basic .NET | API | Beispiele | Installation |
TCP/IP | API | ||
Modbus | API |