Bemerkung
Das IO-16 Bricklet ist abgekündigt. Wir verkaufen noch unseren restlichen Lagerbestand. Als Ersatz wird das IO-16 Bricklet 2.0 empfohlen.
Mit dem IO-16 Bricklet können Bricks um externe digitale Ein- und Ausgänge (I/Os) erweitert werden.
Das Bricklet besitzt 2x 8 I/O Pins die unabhängig voneinander als Ein- oder Ausgänge konfiguriert werden können. Jeder Eingang kann zusätzlich einem Pull-Up oder als Interrupt-Quelle konfiguriert werden. Die I/O Spannung kann manuell zwischen 3,3V und 5V* umgeschaltet werden. Die I/O Pins sind über Schraubklemmen mit zusätzlichen GND Verbindungen nach außen geführt. Eine zusätzliche Schraubklemme führt die gewählte Spannung nach außen.
In typischen Anwendungen können Schalter, Taster und LEDs angeschlossen werden.
Eigenschaft | Wert |
---|---|
I/O Pins | 16 |
Stromverbrauch | 1mA |
I/O Spannung | Umschaltbar zwischen 3,3V und 5V* |
Maximaler Ausgangsstrom | 20mA (pro Ausgang), 125mA (gesamt) |
Maximale API Aufrufe** | set-port (1kHz), get-port (> 0,25kHz), Callbacks (1kHz) |
Abmessungen (B x T x H) | 35 x 75 x 14mm (1,38 x 2,95 x 0,55") |
Gewicht | 30g |
* Die maximale Spannung hängt von der Versorgungsspannung des Bricks ab. Wird dieses über USB versorgt, so kann es sein, dass 5V nicht erreicht werden können. Der Grund für diesen Spannungsabfall um 0,5V sind Schutzdioden auf den Bricks. Wenn 5V Ausgangsspannung benötigt werden kann der Stapel mit einer zusätzlichen Stromversorgung, wie der Step-Down Power Supply, erweitert werden.
** abhängig vom jeweiligen System (Betriebssystem, CPU etc.)
Um ein IO-16 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-16 Bricklet mittels eines Bricklet Kabels mit einem Brick verbunden werden. In unserem Testaufbau ist eine LED über einen Vorwiderstand angeschlossen, mit Anode an Port B Pin 0 und Kathode an einen GND Pin. Zusätzlich ist noch ein Schiebeschalter angeschlossen der Port A Pin 7 mit GND verbinden kann (siehe folgendes Bild).
Wenn der Brick per USB an den PC angeschlossen wird sollte einen Moment später im Brick Viewer ein neuer Tab namens "IO-16 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-16 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 Port B Pin 0 als Ausgang konfiguriert und auf logisch 1 (High) gestellt werden. Um den Schiebeschalter zu testen muss Port A Pin 7 als Eingang mit Pull-Up konfiguriert werden. Der Pull-Up ist nötig um einen stabilen Zustand zu erreichen wenn der Schiebeschalter Port A Pin 7 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-16 Bricklet und Beispiele in verschiedenen Programmiersprachen auf.
Ein laser-geschnittenes Gehäuse für das IO-16 Bricklet ist verfügbar.
Der Aufbau ist am einfachsten wenn die folgenden Schritte befolgt werden:
Im Folgenden befindet sich eine Explosionszeichnung des IO-16 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 |