IO-16 Bricklet

Bemerkung

Das IO-16 Bricklet ist abgekündigt. Wir verkaufen noch unseren restlichen Lagerbestand. Als Ersatz wird das IO-16 Bricklet 2.0 empfohlen.

Features

  • 16 digitale Ein- und Ausgänge
  • Umschaltbare Logikspannung 3,3V oder 5V*
  • Konfigurierbare Pull-Ups und Interrupts

Beschreibung

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.

Technische Spezifikation

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.)

Ressourcen

Erster Test

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).

IO-16 Bricklet verbunden mit Master Brick

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.

IO-16 Bricklet im Brick Viewer

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.

Gehäuse

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

Gehäuse für IO-16 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 IO-16 Bricklet Gehäuses:

Explosionszeichnung für IO-16 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
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