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