Angewandte Informationstechnologie

Größe: px
Ab Seite anzeigen:

Download "Angewandte Informationstechnologie"

Transkript

1 Angewandte Informationstechnologie IO rojekte mit der USB Schnittstelle Einführung in die Elektronik Dr. Leander Brandl 29 it.brgkepler.at

2 IO rojekte mit der USB Schnittstelle Inhalt Die USB Schnittstelle...3 Kommunikation zwischen Computern und USB Geräten...3 Verbindung zwischen USB Geräten... 3 Steckverbindungen...3 Serielle Übertragung...4 Selbstbau von Schaltungen mit einer USB Schnittstelle... 5 Der IO Warrior...6 Funktionsumfang und Eigenschaften... 6 Anschlussbelegung... 7 Grundschaltung... 8 Bauplan und Materialliste... 8 Erstellung eigener Software für den IO Warrior... Anwendung Erste Verbindung mit dem IO Warrior IOW_Verbindung... 3 Einlesen von Schaltzuständen rinzip einer Halbleiterdiode Grundschaltung zum Schutz der Eingänge... 3 Seite 2

3 IO rojekte mit der USB Schnittstelle Die USB Schnittstelle. Kommunikation zwischen Computern und USB Geräten Der USB (Universal Serial Bus) ist ein Bus mit nur einem Master, von dem alle Aktivitäten ausgehen. Der Master (Computer) kann Daten zu einem USB Gerät senden oder Daten von einem solchen anfordern. Kein USB Gerät kann Daten von sich aus an den Master oder andere USB Geräte absenden!.2 Verbindung zwischen USB Geräten Die Verbindung zwischen dem Master und einem USB Gerät erfolgt durch ein 4 poliges, geschirmtes Kabel. Darin befinden sich zwei Leitungen für die Spannungsversorgung (Vcc +5V und GND) und zwei Datenleitungen (Data+ und Data ). Die beiden Datenleitungen sind verdrillt um eingestrahlte Störungen weitestgehend zu eliminieren. In der folgenden Abbildung ist der Aufbau einer USB Kabelverbindung grafisch dargestellt: Vcc +5V Data Data + GND Schirm Abbildung.2. Aufbau einer USB Kabelverbindung.3 Steckverbindungen Für die Verbindung von USB Geräten kommen genormte Steckverbindungen zum Einsatz. Diese sind verpolungs und vertauschungssicher gestaltet. Es wird zwischen zwei unterschiedlichen Bauarten unterschieden: in Richtung eines Hostcontrollers (meist der USB Anschluss eines Computers) werden Stecker mit der Bezeichnung Typ A verwendet, verbundene Geräte werden mit einem Stecker der Bezeichnung Typ B angeschlossen Stecker Typ A Data (WEISS) 3 4 Buchse Typ A Buchse Typ B Stecker Typ B Vcc +5V (ROT) 2 3 Data + (GRÜN) 4 GND (SCHWARZ) Abbildung.3. Typen und Anschlussbelegung von USB Steckern und Buchsen Seite 3

4 IO rojekte mit der USB Schnittstelle.4 Serielle Übertragung Datenpakete Daten werden in aketen zu 8 Bytes oder bis zu 256 Bytes versandt und empfangen. Der gesamte Datenverkehr erfolgt in einem Rahmen von exakt einer Millisekunde. Innerhalb eines Rahmens können Datenpakete für mehrere Geräte verarbeitet werden. Datenpaket Datenpaket Datenpaket ms Abbildung.4. Datenpakete bei der Datenübertragung über den Universal Serial Bus Lowspeed und Highspeed Übertragung Die übertragenen Datenpakete können als Lowspeed oder Fullspeed Signale übertragen werden. Die Datenrate bei einer Lowspeed Verbindung beträgt,5 MBit/s daraus ergibt sich die Länge für ein Bit von 666,7 ns. Bei einer Fullspeed Verbindung erhält man eine Datenrate von 2 MBit/s, woraus sich eine Länge von 83,33 ns für ein Bit ergibt. Schnittstellen nach dem USB 2. Standard bieten weiters eine Highspeed Verbindung mit 48 MBit/s an. Spannung U Data + + 3,3 V V 666,7 ns Zeit t Data Spannung U Data + + 3,3 V V 83,33 ns Zeit t Data Abbildung.4.2 Datensignale einer Lowspeed und einer Fullspeed Verbindung Seite 4

5 IO rojekte mit der USB Schnittstelle Datenübertragung über das USB rotokoll Im Gegensatz zu früher verwendeten Schnittstellen werden die Daten nicht mehr direkt über die Schnittstellenelektronik an das angeschlossene Gerät übermittelt, sondern mit Hilfe eines speziellen rotokolls übertragen. Dazu wird beim Sender (Computer), wie auch beim Empfänger (z. B. Drucker) ein Mikroprozessor benötigt, der die zu übertragenden Daten "einpackt" und nach der Übertragung wieder "auspackt". Dies macht es nicht möglich, entsprechende Baugruppen, wie Relais, Leuchtdioden,... direkt über eine Steuerleitung mit einem Computer zu verbinden, wie dies zum Beispiel bei der parallelen Schnittstelle der Fall war. Auf der Seite eines USB Geräts ist zunächst immer ein Decoder von Nöten, der die übermittelten Daten rückübersetzt und die daraus resultierenden elektrischen Signale der weiteren Elektronik zur Verfügung stellt. Data + Dokument, das in einem rogramm erstellt wurde Daten Daten USB ROTOKOLL USB Sender Data Steuerelektronik für Motoren und Druckdüsen USB Empfänger Abbildung.4.3 Datenübertragung über das USB rotokoll.5 Selbstbau von Schaltungen mit einer USB Schnittstelle Für den Selbstbau von elektronischen Schaltungen, die man in Verbindung mit einem Computer betreiben möchte, stellt diese Art der Signalübertragung eine große Hürde dar. Möchte man eigene Schaltungen realisieren, die man über die USB Schnittstelle an einen Computer anschließen möchte, könnte man Mikroprozessoren verwenden, die bereits über USB Anschlüsse verfügen z. B. IC6C745 oder IC6C765 der Firma Microchip. Neben dem Aufbau der zusätzlich benötigten Elektronik für den Empfänger Teil ist in diesen Mikrocontrollern auch noch entsprechende Software zu implementieren, die das USB rotokoll interpretieren kann, die übertragenen Daten aus diesem ausliest und für die angeschlossene Elektronik aufbereitet. Der IO Warrior der Firma Code Mercenaries Eine sehr interessante und kompfortable Lösung stellen die von der Firma Code Mercenaries hergestellten Bauteile mit der Bezeichnung IO Warrior dar. Bei diesen handelt es sich um Mikrocontroller, die bereits vorprogrammiert sind und auf denen die Software zur Auswertung des USB rotokolls bereits implementiert ist. Ein weiteres großes lus dieser Mikrocontroller ist, das für den Betrieb dieser USB Bauteile auf dem jeweiligen Computer keine Treiber installiert werden müssen und diese direkt von der erstellten Applikation heraus angesprochen werden können. Ohne über Administrations Rechte zu verfügen um Treiber installieren zu können, lassen sich selbst entwickelte Schaltungen umgehend in Betrieb nehmen. Weiter Informationen zu diesen Mikrocontrollern sind unter folgender Adresse zu finden: Seite 5

6 IO rojekte mit der USB Schnittstelle 2. Der IO Warrior Einfache Bauteile wie Relais oder Schalter an einen Computer anschließen? Dies ist seit dem seriellen und parallelen Schnittstellen alles andere als einfach. Als Standard für die Verbindung zu hat sich der USB (Universal Serial Bus) durchgesetzt. Diesen für einfache Selbstbau rojekte zu großen Aufwand dar und setzt umfangreiches Wissen in der rogrammierung von Mikrocontrollern sich der eigentlichen Aufgabe der selbstgebauten IO Schaltung zuwenden kann. Verschwinden von externer Hardware nutzen stellt einen voraus, bevor man USB zu Seriell oder USB zu arallel Adapter stellen auch keine gute Alternative dar, da diese meist über Treiber in das System als virtuelle Geräte eingebunden werden und nicht direkt über die entsprechenden Hardware Adressen angesprochen werden können, wie es bei einer "echten" seriellen oder parallelen Schnittstelle der Fall war. Vor einigen Jahren hat die Firma Code Mercenaries als Lösung all dieser robleme vorprogrammierte Mikrocontroller mit der Bezeichnung IOWarrior auf den Markt gebracht. Diese sind in drei unterschiedlichen Varianten mit unterschiedlichem Funktionsumfang erhältlich: IOWarrior24, IOWarrior4 und IOWarrior56 Nicht zuletzt stellen diese Bauteile eine gute Variante für den Selbstbau von elektronischen Schaltungen aufgrund der traditionellen Bauform dar in der diese erhältlich sind. Durch die Miniaturisierung und industrielle Fertigung von Leiterplatten sind die meisten Mikrocontroller mit USB Schnittstelle nur in SMD Bauform erhältlich, was den Einsatz bei Selbstbau Schaltungen zum Beispiel auf Lochrasterplatinen so gut wie unmöglich macht. Betrieb ohne die Installation von Treibern Werden die IOWarrior über die USB Schnittstelle an einen Computer angeschlossen, so können diese ohne die Installation von Software Treibern in Betrieb genommen werden. Diese Mikrocontroller melden sich am Betriebssystem als HID (Human Interface Device z. B. Tastatur oder Joystick) an die entsprechenden Treiber sind bereits standardmäßig in allen Betriebssystemen vorhanden. Einfache Implementierung bei der rogrammierung eigener Anwendungen Begleitend zu der Software, die auf den Mikrocontrollern installiert ist, bietet Code Mercenaries eine Funktionsbibliothek (iowkit.dll) an, die Funktionen für die Ansteuerung der IO Warrior Chips zur Verfügung stellt und in allen gängigen Entwicklungsumgebungen mit den rogrammiersprachen C++, Delphi, VisualBasic oder C# verwendet werden kann. Weiters wurde bei der Entwicklung auf die Betriebssystem Unabhängigkeit geachtet und so stehen diese Funktionsbibliothek, wie einige rogrammierbeispiele auch für MacOS und Linux zur Verfügung. Testanwendung AllInOne Zum Testen eigener Schaltungen steht ein frei erhältliches rogamm zur Verfügung, das den vollen Funktionsumfang aller drei Varianten des IOWarriors unterstützt. Dieses steht unter folgender Adresse zum Donwload bereit: dud.de Abbildung 2.. Screenshot der Testanwendung AllInOne 2. Funktionsumfang und Eigenschaften Bei den hier vorgestellten rojekten kommt der IOWarrior24 zum Einsatz. Dieser besitzt 6 als Ein oder Ausgang programmierbare ins und benötigt in der Grundschaltung nur drei zusätzliche Bauteile um in Betrieb genommen zu werden. Hier der Funktionsumfang des IOWarrior24: 6 Ein oder Ausgänge mit 25Hz Leserate Stromversorgung bis 5mA aus dem USB vollständig implementiertes USB rotokoll keine Treiberinstallation erforderlich Funktionsbibliothek für einfache Integration in eigene Software Detaillierte Informationen, Datenblätter und rogrammierbeispiele werden unter folgender Adresse zum Download zur Verfügung gestellt: Seite 6

7 IO rojekte mit der USB Schnittstelle 2.2 Anschlussbelegung Der IOWarrior24 wird in einem 24 poligen Gehäuse mit der Bezeichnung DIL24 ausgeliefert. Die Nummerierung der ins eines solchen Bausteins beginnt in der Draufsicht links neben der Einkerbung und setzt sich gegen den Uhrzeigersinn bis zum letzten in fort (siehe Darstellung). Ein und Ausgänge Deutlich erkennbar sind die 6 ins, die als Ein oder Ausgang konfiguriert werden können. Diese sind zu zwei orts (ort und ort ) zusammengefasst, von denen jeder 8 Bits umfasst, welche den 8 ins eines orts entsprechen (ort. ort.7). USB Anschluss Die vier Leitungen des USB können direkt an den IO Warrior angeschlossen werden: in 4 Vcc +5V (rot), in 9 GND (schwarz), in 5 Data (weiß) und in 6 Data + (grün). ull To GND in wird nur bei der rogrammierung des Microcontrollers benötigt und ist im laufenden Betrieb auf GND zu legen er ist auf kürzestem Weg mit in 9 zu verbinden. Vreg in stellt eine regulierte Spannung von 3V zur Verfügung. Diese wird benötigt um den ullup Widerstand der Datenleitung Data (weiß) mit Spannung zu versorgen (siehe 2.3 Grundschaltung). ower Mit Hilfe von in 2 wird festgelegt, ob es sich bei diesem USB Gerät um ein Lowower oder um ein Highower Gerät handelt. Meldet sich dieses Gerät am USB Anschluss eines Computers an, so wird dabei festgelegt, wie viel Strom dieses von der USB Schittstelle des Computers maximal entnehmen darf. Wird dieser in mit +5V verbunden (Zustand HIGH), so meldet sich der IO Warrior als Highower Gerät an und darf bis zu 5mA an Strom aus der USB Schnittstelle entnehmen. Setzt man diesen in auf den Zustand LOW (Verbindung mit GND), so wird der IOWarrior als Lowower Gerät erkannt, was bedeutet, dass maximal ma aus der USB Schnittstelle entnommen werden dürfen! Abbildung 2.2. Anschlussbelegung und Bauform des IO Warrior24 Seite 7

8 IO rojekte mit der USB Schnittstelle 2.3 Grundschaltung Um den IOWarrior24 in Betrieb zu nehmen, muss dieser mit nur drei externen Bauteilen beschaltet werden. Zum Verhindern undefinierter Zustände wird die Datenleitung Data (weiß) über einen sogennanten ullup Widerstand mit dem in Vreg verbunden, der eine Spannung von 3V liefert. Die Kondensatoren dienen dazu um vom IOWarrior24 erzeugte Störungen abzufangen. Da elektronische Bauteile dieser Art die unangenehme Eigenschaft haben bei Schaltvorgängen hohe Stromspitzen zu ziehen, muss die Versorgungsspannung gut entkoppelt werden. Wird dies nicht gemacht, so kann es zur Abstrahlung von Störungen oder zu Funktionsstörungen des IOWarrior24 kommen. C nf 4 Vcc J USB +5V 2 D 3 D+ 4 GND IO WARRIOR24 2 ower Vreg R,3kΩ 5 D 6 D+ 3 NC ulltognd GND C2 μf Abbildung 2.3. Schaltplan für die Grundschaltung des IOWarrior Bauplan und Materialliste Der Aufbau der hier vorgestellten Schaltungen erfolgt auf einer Lochrasterplatine. Für den Anschluss an einen Computer kommt eine USB Buchse Typ B zum Einsatz. Der IOWarrior24 wird nicht direkt auf der latine verlötet, sondern nach Fertigstellung der Lötarbeiten in einen Sockel eingesetzt. Materialliste: Lochrasterplatine cm x 6cm IC Sockel 24 polig USB Buchse Typ B printbar Steckleiste 3 polig Jumper J Widerstand,3kΏ R Kondensator nf C Elektrolyt Kondensator μf C2 IOWarrior24 Abbildung 2.4. Bestückungs und Leiterbahnansicht der Grundschaltung des IOWarrior24 Seite 8

9 IO rojekte mit der USB Schnittstelle C nf J R,3kΩ C2 μf Abbildung Gesamtansicht der Lochrasterplatine mit der Grundschaltung des IOWarrior24 C nf J R,3kΩ C2 μf Ansicht oben Bauteilseite Ansicht unten Kupferseite Abbildung Bauplan Gundschaltung Bauteilseite und Kupferseite Seite 9

10 IO rojekte mit der USB Schnittstelle 2.5 Erstellung eigener Software für den IOWarrior Entwicklungsumgebung SharpDevelop 3 Die Erstellung der Software für die jeweiligen Schaltungen erfolgt mit der rogrammiersprache C#. Diese ist für die Erstellung von Windows Anwendungen weit verbreitet und ist nicht zuletzt deshalb interessant, weil es dafür die kostenfreie Entwicklungsumgebung SharpDevelop gibt. Die hier erstellten Beispiel rojekte wurden mit SharpDevelop Version 3 erstellt. Diese kann unter der folgenden Adresse aus dem Internet bezogen werden: framework 3.5 Für die Erstellung von Windows Anwendungen mit SharpDevelop, wie auch für die spätere Nutzung der fertigen rogramme ist die Installation des.net framework Version 3.5 Voraussetzung. Dabei handelt es sich um eine Laufzeit Umgebung für Anwendungen, die mit einer.net Entwicklungsumgebung programmiert wurden. Diese steht auf den meisten Windows Cs zur Verfügung. Sollte dies nicht der Fall sein, so kann das.net framework von der Microsoft Webseite heruntergeladen und nachinstalliert werden: iowkit.dll Für die Kommunikation zwischen dem IOWarrior und einer Anwendung bietet die Herstellerfirma dieser Microcontroller die fertige DLL iowkit.dll (Dynamic Link Library Dynamische Laufzeitbibliothek) an, die es sehr einfach macht, die Funktionen dieses Bauteils in eigene rogramme zu implementieren. Die USB Kommunikation wird vollständig von dieser DLL übernommen und man kann sich sofort den eigentlichen rogrammieraufgaben widmen. Diese DLL, wie auch einige Beispielanwendungen für verschiedene Entwicklungsumgebungen und rogrammiersprachen stehen auf der Web Seite von Code Mercenaries zum Download bereit: Zusammengefasset benötigt man:.net framework Version 3.5 (www.microsoft.com) SharpDevelop 3 (www.icsharpcode.net) iowkit.dll (www.codemercs.com) 2.6 Anwendung Erste Verbindung mit dem IO Warrior IOW_Verbindung Das erste rogramm soll die Kommunikation mit einem am Computer angeschlossenen IOWarrior testen und die beiden am IOWarrior gespeicherten Werte roduktid und Seriennummer auslesen. Verwendete Komponenten roduktidlabel (Label) SeriennummerLabel (Label) IdSnButton (Button) Abbildung 2.6. Screenshot der Anwendung IOW_Verbindung Speicherort der iowkit.dll DLLs werden grundsätzlich im Ordner Laufwerk:\Windows\System32 abgelegt. Somit kann ein und dieselbe DLL auch von verschiedenen Anwendungen genutzt werden, die diese benötigen. Alle Anwendungen, die auf eine DLL zugreifen, suchen diese automatisch in dem oben angeführten Verzeichnis. Wenn es nicht möglich ist (weil man zum Beispiel nicht über die notwendigen Rechte verfügt), eine DLL in diesen Ordner zu speichern, so kann eine DLL auch im gleichen Ordner liegen, in dem sich die lauffähige Anwendung (die.exe Datei) befindet. Dieser Weg soll hier eingeschlagen werden. Wird eine fertige Anwendung weitergegeben, so ist natürlich auch die iowkit.dll mitzugeben. Diese muss sich beim Ausführen der Anwenung im selben Ordner wie die Anwendung befinden! Bei der Entwicklung mit SharpDevelop befindet sich die lauffähige Anwendung während der Entwicklungszeit im Ordner Laufwerk:\Anwendung\bin\Debug bzw. im Ornder Laufwerk:\Anwendung\bin\Release. In diesen Ordner muss die iowkit.dll kopiert werden, wenn eine neue Anwendung erstellt wird. Seite

11 IO rojekte mit der USB Schnittstelle Einbinden der Funktionen aus der iowkit.dll Um Funktionen aus einer externen DLL einbinden zu können muss zuerst eine Referenz auf die Klasse System.Runtime.InteropServices hinzugefügt werden. Das Einbinden der Funktionen aus der iowkit.dll erfolgt in der Definition der Klasse des Formulars. Zusätzlich wird noch ein Handle (Englisch für Griff oder Henkel ) definiert. Über diesen Handle jeweiligen Funktionen in der Folge auf den IOWarrior zugreiffen. können die using System; using System. Collections. Generic; using System. Drawing; using System. Windows. Forms; using System. Runtime. InteropServices; namespace IOW_Verbindung /// <summary> /// Description of MainForm. /// </summary> public partial class MainForm : Form // Definition der global verfügbaren Variablen int IowHandle; // Import der benötigten Funktionen aus der iowkit. dll [DllImport("iowkit", SetLastError=true) ] public static extern int IowKitOpenDevice() ; [DllImport("iowkit", SetLastError=true) ] public static extern void IowKitCloseDevice(int iowhandle) ; [DllImport("iowkit", SetLastError=true) ] public static extern short IowKitGetroductId(int iowhandle) ; [DllImport("iowkit", SetLastError=true) ] public static extern bool IowKitGetSerialNumber(int iowhandle, ref short serialnumber) ; public MainForm( ) // The InitializeComponent( ) call is required for Windows Forms designer support. InitializeComponent( ) ; // TODO: Add constructor code after the InitializeComponent( ) call. Quellcode 2.6. Import der benötigten Funktionen aus der iowkit.dll Herstellen der Verbindung zum IOWarrior Die Anwendung soll beim Starten überprüfen, ob ein IOWarrior am Computer angeschlossen wurde. Ist dies der Fall, so wird der Handle dieses IOWarriors ermittelt und in der Variable IowHandle abgelegt. Wurde kein IOWarrior gefunden, so soll dies mit einem entsprechenden Hinweis in einer MessageBox angezeigt werden. Diese Aufgaben sollen als Reaktion auf das Event Load der Klasse MainForm ausgeführt werden. void MainFormLoad( obj ect sender, EventArgs e) // Verbindung zu IOWarrior herstellen IowHandle = IowKitOpenDevice() ; if (IowHandle==) MessageBox. Show("Kein IO-Warrior gefunden! ") ; Quellcode Herstellen der Verbindung zu einem IOWarrior beim Start der Anwendung Seite

12 IO rojekte mit der USB Schnittstelle Ermitteln der roduktid und der Seriennummer des angeschlossen IOWarriors Die iowkit.dll stellt dazu die beiden Funktionen IowKitGetroductId() und IowKitGetSerialNumber() zur Verfügung. Die roduktid ist im IOWarrior mit 2 Byte gespeichert, die Seriennummer ist eine Zahl, die aus 4 Byte besteht. Als roduktids wurden von Code Mercenaries die drei Werte x5 (IOWarrior4), x5 (IOWarrior24) und x53 (IOWarrior56) vergeben. Für die Seriennummer ergeben sich 4256 verschiedene Möglichkeiten, wodurch gewährleistet ist, dass es nie zwei IOWarrior mit der selben Seriennummer geben wird und auch mehrere IOWarrior gleichzeitig an einen Computer angeschlossen werden können. Die Funktion IowKitGetroductId() liefert einen ganzzahligen Wert zurück, der mit der gewünschten roduktid (hier x5 in hexadezimaler Schreibweise für den IOWarrior24) verglichen werden kann. Für den Aufruf der Funktion IowKitGetSerialNumber() muss zuvor bereits ein Array definiert werden in das die Werte beim Auslesen aus dem IOWarrior geschrieben werden. Zur Ausgabe müssen diese Werte aus dem Array noch zu einem String zusammengefasst werden. void IdSnButtonClick( obj ect sender, EventArgs e) // Variablendefinition int roduktid = ; short[] SerienNummer = new short[8] ; string SerienNummerString = ""; // roduktid ermitteln und ausgebem roduktid = IowKitGetroductId(IowHandle) ; if (roduktid==x5) roduktidlabel. Text = "rodukt ID: IOWarrior24"; roduktidlabel. Text = "rodukt ID: unbekannt"; // Seriennummer ermitteln und ausgeben if (IowKitGetSerialNumber(IowHandle, ref SerienNummer[] ) ) foreach (char c in SerienNummer) SerienNummerString = SerienNummerString + c; SeriennummerLabel. Text = "Seriennummer: " + SerienNummerString; SeriennummerLabel. Text = "Seriennummer: unbekannt"; Quellcode Auslesen und Anzeigen der roduktid und der Seriennummer eines angeschlossenen IOWarrior24 Trennen der Verbindung zum IOWarrior Vor dem Schließen einer Anwendung muss die Verbindung zum IOWarrior unbedingt getrennt werden. Dies sollte nicht dem Benutzer zum Beispiel durch den Klick auf einen Button überlassen werden, sondern automatisch durch die Anwendung selbst geschehen. Dazu ruft man als Reaktion auf das Event FormClosing die Funktion IowKitCloseDevice() auf und übergibt dieser den Handle des IOWarriors. void MainFormFormClosing( obj ect sender, FormClosingEventArgs e) // Verbindung zum IOWarrior trennen IowKitCloseDevice(IowHandle) ; Quellcode Automatisches Trennen der Verbindung zum IOWarrior beim Beenden der Anwendung Seite 2

13 IO rojekte mit der USB Schnittstelle 3. Einlesen von Schaltzuständen Alle 6 IO ins des IOWarrior24 können als Ein oder Ausgänge dienen. Wenn diese als Eingänge genutzt werden, kommt die, für Microcontroller übliche, inverse Logik zur Anwendung: ist ein Eingang offen, so liefert der Microcontroller der Wert zurück, ist ein Eingang geschlossen (zum Beispiel über einen Taster oder Schalter mit GND verbunden), so wird der Wert zurückgeliefert. Dieser Zusammenhang muss also bei der Erstellung der Software berücksichtigt werden, wenn die vom IOWarrior24 übermittelten Daten der beiden orts ausgewertet werden. 3. rinzip einer Halbleiterdiode Eine Diode besteht im rinzip aus zwei Halbleiterschichten (meist Silizium), die Strom in nur einer Richtung durchlässt. Diese können in elektronischen Schaltungen unter anderem dazu verwendet werden um zu verhindern, das Strom in der falschen Richtung durch den Stromkreis fließt, wodurch zum Beispiel andere Bauteile zerstört werden können. Das Schaltsymbol veranschaulicht deutlich die beiden Richtungen, die als Durchlassrichtung und als Sperrrichtung bezeichnet werden. Damit durch eine Diode Strom in Durchlassrichtung fließen kann, muss eine gewisse Durchlasspannung erreicht werden bei einer Silizium Diode beträgt diese,7v. Dies bedeutet aber auch, dass diese,7v den anderen in Serie geschalteten Verbrauchern in diesem Stromkreis nicht mehr zur Verfügung stehen und sich die Spannung entsprechend um diesen Betrag reduziert. In dem gezeigten Beispiel liegt an der Glühbirne also nur mehr eine Spannung von,3v an, da,7v an der vorgeschalteten Diode abfallen. Durchlassrichtung Schaltsymbol und Bauformen Sperrrichtung Abbildung 3.. Bauformen Sperr und Durchlassirchtung einer Diode in einem einfachen Stromkreis 3.2 Grundschaltung zum Schutz der Eingänge Damit ein Mikrocontroller durch das Anlegen falscher Spannungen oder falscher olung an den Eingängen nicht beschädigt wird, können diese durch eine einfache Schaltung mit zwei Dioden geschützt werden. Diese Dioden verhindern, dass Spannungen kleiner als V (negative Spannungen) oder Spannungen größer als 5V an einem Eingang anliegen. 4 Vcc IO WARRIOR24 GND Abbildung 3.2. Schutzschaltung für die Eingänge des IOWarrior24 Seite 3

14 IO rojekte mit der USB Schnittstelle 3.3 Bauplan und Materialliste Für das Einlesen von Schaltzuständen werden zwei Taster verwendet. Diese beiden Taster werden mit je einem in des IOWarriors24 und dem Ground GND verbunden. Zwei Dioden dienen pro Taster zum Schutz der Eingänge gegen negative Spannungen und gegen Spannungen, die +5V übersteigen. Materialliste: 2 Taster 4 Dioden N448 Abbildung 3.3. Materialliste und Bauplan Bauteilseite Abbildung Bestückungs und Leiterbahnansicht der Schaltung Seite 4

15 IO rojekte mit der USB Schnittstelle 3.4 Anwendung 2 Einlesen von Schaltzuständen IOW_Taster Die zweite Anwendung soll die Zustände der beiden Taster ermitteln und diese in zwei anels grafisch darstellen. Zusätzlich zur Anzeige der rodukt ID und der Seriennummer des angeschlossenen IOWarriors sollen auch noch die Werte des Arrays Data[] angezeigt werden. Verwendete Komponenten roduktidlabel (Label) SeriennummerLabel (Label) DataLabel, DataLabel, Data2Label (Label) TasterLinksanel, TasterRechtsanel (anel) ReadTimer (Timer, Interval 2) Abbildung 3.4. Screenshot der Anwendung IOW_Taster Einbinden der Funktionen aus der iowkit.dll Zum Einbinden der Funktionen aus der DLL muss die Klasse System.Runtime.InteropServices mit einer using Anweisung hinzugefügt werden. Zum Austausch von Daten zwischen der Anwendung und dem IOWarrior werden die beiden Funktionen IowKitWrite() und IowKitRead() verwendet. Zusätzlich zum Handle wird noch ein Byte Array definiert. Dieses dient zum Datenaustauch zwischen der Anwendung und dem IOWarrior. namespace IOW_Taster /// <summary> /// Description of MainForm. /// </summary> public partial class MainForm : Form int IowHandle; byte[] Data; [ DllImport( "iowkit", SetLastError=true) ] public static extern int IowKitOpenDevice( ) ; [ DllImport( "iowkit", SetLastError=true) ] public static extern void IowKitCloseDevice( int iowhandle) ; [ DllImport( "iowkit", SetLastError=true) ] public static extern short IowKitGetroductId( int iowhandle) ; [ DllImport( "iowkit", SetLastError=true) ] public static extern bool IowKitGetSerialNumber( int iowhandle, ref short serialnumber) ; [DllImport("iowkit", SetLastError=true) ] public static extern int IowKitWrite(int iowhandle, int numipe, ref byte buffer, int length) ; [DllImport("iowkit", SetLastError=true) ] public static extern int IowKitReadNonBlocking(int iowhandle, int numipe, ref byte buffer, int length) ; public MainForm( ) // The InitializeComponent( ) call is required for Windows Forms designer support. InitializeComponent( ) ; // TODO: Add constructor code after the InitializeComponent( ) call. Quellcode 3.4. Import der benötigten Funktionen aus der iowkit.dll und Definiton der globalen Variablen Seite 5

16 IO rojekte mit der USB Scnittstelle Herstellen der Verbindung zum IOWarrior Der Aufbau der Verbindung zum IOWarrior soll wie in der Anwendung zuvor als Reaktion auf das Event Load der Klasse MainForm ausgeführt werden. Ergänzend sollen nun auch an dieser Stelle die rodukt ID und die Seriennummer bestimmt und angezeigt werden. Das Einlesen der Zustände der beiden orts des IOWarrior erfolgt alle 5ms. Dazu wird der Anwendung ein Timer hinzugefügt, der beim Start der Anwendung deaktiviert ist und dessen Zeitintervall auf den Wert 5 gesetzt ist. Wurde ein IOWarrior gefunden, dann soll dieser Timer aktiviert und das Array Data[] mit entsprechenden Werten initialisiert werden: Data[] dient zur Übergabe von Werten an den IOWarrior Data[] beinhaltet den Zustand des orts, wenn der IOWarrior Daten an die Anwendung sendet oder empfängt Data[2] beinhaltet den Zustand des orts, wenn der IOWarrior Daten an die Anwendung sendet oder empfängt Data[] = x... der IOWarrior liefert in den Werten Data[] und Data[2] die Zustände der beiden orts zurück Data[] = x... alle ins dieses orts sind Ausgänge und erhalten den Wert Data[2] = xa... die ins.6 und.8 werden als Eingänge verwendet und auf gesetzt () void MainFormLoad( obj ect sender, EventArgs e) // Variablendefinition int roduktid = ; short[ ] SerienNummer = new short[ 8] ; string SerienNummerString = ""; // Verbindung zu IOWarrior herstellen IowHandle = IowKitOpenDevice( ) ; if ( IowHandle==) MessageBox. Show( "Kein IO-Warrior gefunden! ") ; // roduktid ermitteln und anzeigen roduktid = IowKitGetroductId( IowHandle) ; if ( roduktid==x5) roduktidlabel. Text = "rodukt ID: IOWarrior24"; roduktidlabel. Text = "rodukt ID: unbekannt"; // Seriennummer ermitteln und anzeigen if ( IowKitGetSerialNumber( IowHandle, ref SerienNummer[ ] ) ) foreach( char c in SerienNummer) SerienNummerString = SerienNummerString + c; SeriennummerLabel. Text = "Seriennummer: " + SerienNummerString; SeriennummerLabel. Text = "Seriennummer: unbekannt"; // Byte-Array für den Datenaustausch initialisieren Data = new byte[3] ; Data[] = x; Data[] = x; Data[2] = xa; IowKitWrite(IowHandle,, ref Data[], 3) ; Quellcode Herstellen der Verbindung zum IOWarrior24 und Initialisieren der Anwendung Dr. Leander Brandl 29 Anhang

17 IO rojekte mit der USB Scnittstelle // Timer zum Einlesen der inzustände aktivieren ReadTimer. Enabled = true; Quellcode Fortsetzung Herstellen der Verbindung zum IOWarrior24 und Initialisieren der Anwendung Auslesen der Zustände der orts aus dem IOWarrior Mit der Funktion IowKitReadNonBlocking() können die Zustände der einzelnen ins der beiden orts bestimmt werden. Dieser Funktion werden der Handle des IOWarriors, ein Buffer Array und die Anzahl der übertragenen Bytes (hier 3) übergeben. Nach dem Aufruf dieser Funktion können die Zustände der ins aus den Werten von Data[] und Data[2] bestimmt werden. Die Überprüfung, ob ein Bit auf oder gesetzt ist, kann nur über einen "Umweg" der entsprechenden Dezimal bzw. Hexadezimalzahlen erfolgen, da ein direkter Zugriff auf die einzelnen Bits in diesen Byte Werten nicht möglich ist. Aufgrund der inversen Logik der Eingänge eines Mikroprozessors liefert der IOWarrior den Wert, wenn ein Eingang geöffnet ist, bzw. der jeweilige in nicht mit GND verbunden ist. Wird ein Eingang geschlossen, so ist die logische Entsprechung dieses ins der Wert. Die tabellarische Darstellung Seite soll diesen Zusammenhang verdeutlichen. Möchte man überprüfen, ob ein Taster geschlossen ist, muss man bei den vom IOWarrior gelieferten Werten der beiden orts herausfinden, ob an der Stelle des entsprechenden Bits eine steht. Dies geschieht mit dem Operator & für logische Verknüpfungen zweier Bytes. Dabei werden die einzelnen Bits mit einander nach der Vorschrift für das logische UND miteinander verglichen. Um zu ermitteln, ob der Zustand des ins geschlossen ist, wird die logische Verknüpfung xfd & x2 durchgeführt und überprüft, ob das Ergebnis x ist. Ist dies der Fall, dann ist der Eingang in am IOWarrior geschlossen.. ( xfd) & ( x2) Ergebnis ( x) ( der vom IOWarrior zurückgeliferte Wert) in Binär Hexadezimal Dezimal. FD und.3.2 und.6 FE FB F7 EF DF BF 7F F6 BB Abbildung Werteübersicht für Eingangspins des IOWarrior in binärer, hexadezimaler und dezimaler Schreibweise Sind alle Eingangspins offen, so wird für diesen ort der Wert 255 bzw. xff6 (alle Bits auf gesetzt) zurückgeliefert. Zusammenfassend kann man festhalten: Will man überprüfen, welche Eingänge geschlossen sind, so ist der entsprechende Wert darauf zu überprüfen, an welchen Stellen (Bits) eine gesetzt ist. Das Auslesen der ort Zustände aus dem IOWarrior, die Ausgabe der Werte und das Setzen der Farben der beiden anels erfolgt in der Behandlung des vom Timer ausgelösten Events Tick. Dieses wird basierend auf der Einstellung für den Timer alle 5 Millisekunden ausgelöst somit wird die Anzeige der Anwendung 2 mal pro Sekunde mit den aktuellen Werten des IOWarrior aktualisiert. Dr. Leander Brandl 29 Anhang

18 IO rojekte mit der USB Schnittstelle void ReadTimerTick( obj ect sender, EventArgs e) int TasterLinksStatus; int TasterRechtsStatus; IowKitReadNonBlocking(IowHandle,, ref Data[], 3) ; DataLabel. Text = "Data[ ] = " + String. Format( " : X2 ", Data[ ] ) + " ( " + Data[ ]. ToString( ) + ") "; DataLabel. Text = "Data[ ] = " + String. Format( " : X2 ", Data[ ] ) + " ( " + Data[ ]. ToString( ) + ") "; Data2Label. Text = "Data[ 2] = " + String. Format( " : X2 ", Data[ 2] ) + " ( " + Data[ 2]. ToString( ) + ") "; TasterLinksStatus = Data[2] & x2; TasterRechtsStatus = Data[2] & x8; if ( TasterLinksStatus==x ) TasterLinksanel. BackColor = Color. Red; TasterLinksanel. BackColor = Color. Black; if ( TasterRechtsStatus==x ) TasterRechtsanel. BackColor = Color. Red; TasterRechtsanel. BackColor = Color. Black; Quellcode Ermitteln der Zustände der ins Beenden der Anwendung Wird die Anwendung geschlossen, muss zuerst der Timer deaktiviert und dann die Verbindung zum IOWarrior getrennt werden. Dies geschieht wie im ersten Beispiel als Reaktion auf das Event FormClosing des Formulars. void MainFormFormClosing( obj ect sender, FormClosingEventArgs e) // Timer zum Einlesen der inzustände deaktivieren ReadTimer. Enabled = false; // Verbindung zum IOWarrior trennen IowKitCloseDevice( IowHandle) ; Quellcode Trennen der Verbindung zum IOWarrior beim Schließen der Anwendung Seite 8

19 IO rojekte mit der USB Schnittstelle 4. Setzen von in Zuständen Ansteuerung von Leuchtdioden Die 6 IO ins des IOWarriors können als Ein oder Ausgänge genutzt werden. Wenn diese als Ausgänge verwendet werden, kann jeder in den Schaltzustand +5V oder V annehmen. Der maximale Strom, der einem Ausgangspin entnommen werden darf ist aber so gering (max 2mA), dass Verbraucher nicht direkt an einen in angeschlossen werden dürfen. Die Entnahme eines zu hohen Stroms führt zur Zerstörung des IOWarrior. Zum Steuern oder Schalten von Verbrauchen kommt ein Transistor zum Einsatz. Dieser fungiert dabei als eine Art Schalter, der aufgrund eines geringen Stoms (Ausgangspin des IOWarriors) eine höheren Strom schaltet. Mit Hilfe eines Transistors kann man somit eine Leuchtdiode ein und ausschalten. Die Betriebsspannung von Leuchtdioden liegt je nach Bauart bei ca. 2V. Da die Spannung, die die USB Schnittstelle zur Verfügung stellt 5V beträgt, muss vor die Leuchtdiode noch ein entsprechender Vorwiderstand geschaltet werden. 4. rinzip eines Transistors Ein Transistor besteht aus drei Halbleiterschichten (meist Silizium). Die drei Anschlüsse werden als Basis, Kollektor und Emitter bezeichnet. Daraus ergeben sich zwei Stromkreise, zwischen denen der Transistor als eine Art "Bindeglied" darstellt. Der Strom im Basisstromkreis (Basis Emitter) entscheidet über das Verhalten eines Transistors. Der Strom im Kollektorstromkreis (Kollektor Emitter) ist abhängig von der Größe des Stroms im Basisstromkreis. Vereinfacht kann man sagen: Fließt bei einem Transistor Strom von der Basis zum Emitter, dann gibt der Transistor den Weg Kollektor Emitter frei und es kann Strom vom Kollektor zum Emitter fließen. Bei der lanung von elektronischen Schaltungen mit einem Transistor ist im Basis und Kollektorstromkreis zu berücksichtigen, dass es wie bei der Diode einen Spannungsabfall an den Halbleiterschichten gibt. Für die Berechnung der Spannungsverteilung auf die einzelnen Verbraucher im Kollektorstromkreis ist somit auch der Typen spezifische Spannungsabfall am Transistor zu berücksichtigen! Bauformen TO 92 TO 26 KEIN Strom Basis Emitter > Transistor "sperrt" > KEIN Strom Kollektor Emitter TO 22 TO 3 Strom Basis Emitter > Strom Kollektor Emitter Abbildung 4.. Bauformen Verhalten eines Transistors bezogen auf den Basisstrom Seite 9

20 IO rojekte mit der USB Schnittstelle 4.2 Elektrische Widerstände das Ohm sche Gesetz Elektrische Widerstände werden eingesetzt um die Spannung zu reduzieren oder den Strom in einem Stromkreis zu begrenzen. Da die überschüssige elektrische Energie dabei von einem Widerstand in Wärme umgesetzt wird, müssen diese je nach Anforderung entsprechend groß dimensioniert sein. Der Zusammenhang zwischen elektrischer Spannung, Strom und Widerstand wird durch das Ohm sche Gesetz beschrieben. Sind zwei der drei Größen bekannt, so lässt sich rechnerisch die dritte Größe bestimmen. U R = = = = = R... Widerstand [Ohm] U... Spannung [Volt] I... Strom [Ampere] 5 Ω Hier wird an einen Widerstand mit 5Ω eine Spannung von 2V angelegt. Mit Hilfe des Ohm schen Gesetzes lässt sich der Strom (roter feil) berechnen, der über diesen Widerstand fließt: I = U / R = 2V / 5Ω =,8A Abbildung 4.2. Ohm sches Gesetz Zusammenhang zwischen Strom, Spannung und Widerstand in einem einfachen Stromkreis Für die Angabe von Widerstandswerten wurde eine international gültige Farbkodierung eingeführt. Diese kann aus vier oder fünf Farbringen bestehen. Zu den Zahlenwerten der ersten Ringe kommt ein Multiplikator und ein Ring für die mögliche Toleranz der Abweichung des tatsächlichen vom angegebenen Wert dazu. Abbildung Farbkodierung von Widerständen Seite 2

21 IO rojekte mit der USB Schnittstelle 4.3 Die Leuchtdiode LED Leuchtdioden wandeln elektrische Energie in Licht um. Sie funktionieren wie Halbleiterdioden, die in Durchlassrichtung Licht emittieren. Die Kurzbezeichnung LED steht für "Light Emitting Diode". Es gibt Leuchtdioden in verschiedenen Farben, Größen und Bauformen die gebräuchlichsten Bauformen haben einen Durchmesser von 5 mm. Leuchtdioden müssen je nach Farbe exakt mit der vorgegebenen Spannung betrieben werden. Ist die Spannung zu niedrig, emittiert die LED kein Licht, wird eine zu hohe Spannung angelegt, so wird die Halbleiterschicht und somit die Leuchtdiode zerstört. Weiters ist beim Anschluss einer Leuchtdiode auf die richtige olung zu achten: Kathode (abgeflachte Seite) Minus, Anode lus Schaltsymbol und Bauform Abbildung 4.3. Leuchtdiode Schaltsymbol und Bauform Wenn man eine Leuchtdiode in einem Stromkreis mit einer höheren als der für den jeweiligen Typ vorgesehenen Spannung betreiben will, so muss ein Vorwiderstand verwendet werden, an dem die Differenzspannung abfällt. Standard LEDs werden mit einem Strom von ma betrieben. Möchte man eine rote Leuchtdiode in einem Stromkreis mit einer Spannung von 2V verwenden, so muss am Vorwiderstand eine Spannung von 9,9V (2V 2,V) abfallen. Mit Hilfe des Ohm schen Gesetzes lässt sich die Größe des benötigten Vorwiderstandes berechnen. 2,9V ROT 2,V / ma GRÜN 2,5V / ma GELB 2,5V / ma 5V UWiderstand = Uges ULED LED rot: LED gelb: UWiderstand = 5V 2,V = 2,9V UWiderstand = 5V 2,5V = 2,5V 2,V Betriebsspannung / Stom R = UWiderstand / I R = 2,9V /,A = 29Ω R = 2,5V /,A = 25Ω Abbildung Berechnung des Vorwiderstands für Leuchtdioden Seite 2

22 IO rojekte mit der USB Schnittstelle 4.4 Schaltplan Möchte man mit einem Ausgang des IOWarriors eine LED ein und ausschalten, so kommen ein Transistor und ein Vorwiderstand zum Einsatz. Der Ausgang des IOWarriors wird mit der Basis des Transistors verbunden. Die LED und der Vorwiderstand befinden sich im Kollektor Stromkreis. Zwischen einem in des IOWarriors und GND liegt je nach Zustand eine Spannung von V oder 5V an. Bei V fließt kein Strom über die Basis des Transistors und somit auch kein Strom vom Kollektor zum Emitter. Die LED bleibt dunkel. Beträgt die Spannung am entsprechenden in 5V, so fließt Strom über die Basis des Transistors. Dieser schaltet nun den Weg "Kollektor Emitter" durch und es fließt Strom über den Vorwiderstand und die Leuchtdiode. Durch den Vorwiderstand ist gewährleistet, dass an der Leuchtdiode exakt die Spannung anliegt, die für den jeweiligen Typ vorgegeben ist. 4 Vcc IO WARRIOR24 GND Abbildung 4.4. Schaltplan zum Schalten einer LED mit dem IOWarrior 4.5 Materialliste und Bauplan Beim Aufbau dieser Schaltung kommen Standard Leuchtdioden in den Farben rot, gelb und grün zum Einsatz. Diese kann dann zum Beispiel bei der rogrammierung einer Ampelsteuerung verwendet werden. Zum Schalten der Leuchtdioden wird ein Transistor vom Typ BC548 verwendet. Der Spannungsabfall zwischen Kollektor und Emitter beträgt bei diesem Typ,2V. Zum Berechnen der Vorwiderstände muss von der Betriebsspannung der Schaltung (5V) der Spannungsabfall am Transistor (,2V) und die Spannung der Leuchtdiode (2,V bei rot bzw. 2,5V bei gelb und grün) abgezogen werden, bevor diese mit dem Ohm schen Gesetz bestimmt werden können. Berechnung der Vorwiderstände für die Leuchtdioden: LED rot: LED gelb: UWiderstand = Uges UKollektorEmitter ULED R = UWiderstand / I UWiderstand = 5V,2V 2,V = 2,7V R = 2,7V /,A = 27Ω UWiderstand = 5V,2V 2,5V = 2,3V R = 2,3V /,A = 23Ω Abbildung 4.5. Berechnung der Vorwiderstände für die LEDs Materialliste: 3 Leuchtdioden (rot, gelb, grün) 5mm Anschlussbelegung BC548 3 Transistoren BC548 2 Widerstände 22Ω (LED gelb, grün) Widerstand 27Ω (LED rot) EBC Abbildung Materialliste und Anschlussbelegung des BC548 Seite 22

23 IO rojekte mit der USB Schnittstelle Abbildung Bauplan Bauteilseite Abbildung Bestückungs und Leiterbahnseite Seite 23

24 IO rojekte mit der USB Schnittstelle 4.6 Anwendung 3 Schalten von LEDs IOW_Leds Aufbauend auf dem rogramm zum Einlesen der Zustände von Tastern sollen mit dieser Anwendung die drei Leuchtdioden ein und ausgeschaltet werden können. Das Herstellen der Verbindung zum IOWarrior und die Anzeige der Inhalte der drei Werte im Array Data werden aus dem rojekt IOW_Taster übernommen. Das Ein und Ausschalten der LEDs soll mit drei Checkboxen auf der rogrammoberfläche umgesetzt werden. Dieses rogramm könnte dann in der Folge noch zu einer automatisch ablaufenden, Zeit gesteuerten Ampelsteuerung erweitert werden. Verwendete Komponenten roduktidlabel (Label) SeriennummerLabel (Label) DataLabel, DataLabel, Data2Label (Label) WertBar (TrackBar, Minimum 4, Maximum 4) RotCheckBox (CheckBox) GelbCheckBox (CheckBox) GruenCheckBox (CheckBox) Rotanel, Gelbanel, Gruenanel (anel) Abbildung 4.6. Screenshot der Anwendung IOW_Leds Einbinden der Funktionen aus der iowkit.dll Zum Einbinden der Funktionen aus der DLL und der Definiton der globalen Variablen kommt Quellcode 3.4. zur Anwendung. Herstellen der Verbindung zum IOWarrior Wenn die ins des IOWarriors als Ausgänge genutzt werden, setzt man diese auf den Zustand oder, um eine Ausgangsspannung von V (LO) oder 5V (HI) zwischen dem jeweiligen in und GND zu erhalten. Nach dem Herstellen der Verbindung und dem Einlesen der roduktid und der Seriennummer wird das Data Array initialisiert. Das Byte Data[] erhält den Wert x. Data[] und Data[2] beschreiben die Zustände der 8 Bits der beiden orts. Damit die LEDs beim Starten der Anwendung ausgeschaltet sind, werden alle Bits auf und beide orts somit auf x () gesetzt. Nach dem Setzen der Werte im Data Array werden diese mit der Funktion IowKitWrite() an den IOWarrior übermittelt. void MainFormLoad( obj ect sender, EventArgs e) // Variablendefinition int roduktid = ; short[ ] SerienNummer = new short[ 8] ; string SerienNummerString = ""; // Verbindung zu IOWarrior herstellen IowHandle = IowKitOpenDevice( ) ; if ( IowHandle==) MessageBox. Show( "Kein IO-Warrior gefunden! ") ; // roduktid ermitteln und anzeigen roduktid = IowKitGetroductId( IowHandle) ; Quellcode 4.6. Initialisieren des Data Arrays und des IOWarrior Seite 24

25 IO rojekte mit der USB Schnittstelle if ( roduktid==x5) roduktidlabel. Text = "rodukt ID: IOWarrior24"; roduktidlabel. Text = "rodukt ID: unbekannt"; // Seriennummer ermitteln und anzeigen if ( IowKitGetSerialNumber( IowHandle, ref SerienNummer[ ] ) ) foreach( char c in SerienNummer) SerienNummerString = SerienNummerString + c; SeriennummerLabel. Text = "Seriennummer: " + SerienNummerString; SeriennummerLabel. Text = "Seriennummer: unbekannt"; // Byte-Array für den Datenaustausch initialisieren Data = new byte[ 3] ; Data[ ] = x; Data[] = x; Data[2] = x; IowKitWrite( IowHandle,, ref Data[ ], 3) ; Quellcode 4.6. Fortsetzung Initialisieren des Data Arrays und des IOWarrior Übertragen der Zustände an die Ausgangspins Klickt man auf eine Checkbox, so wird deren Eigenschaft Checked entweder auf true oder false gesetzt. Als Reaktion auf das Event CheckedChanged soll der entsprechende in des IOWarriors auf HI bzw. LO gesetzt werden. Da bei der Übertragung der in Zustände zum IOWarrior immer die Zustände aller 8 ins beider orts gesendet werden, müssen auch die zuvor gültigen Werte für alle anderen ins berücksichtigt werden. Möchte man ein Bit auf setzen, so muss der ursprüngliche Zustand der Bits mit Hilfe einer logischen ODER Verknüpfung erweitert werden. ( x4) ursprünglicher Zustand ort Ergebnis ursprünglicher Zustand und zweites Bit auf ( x2) zweites Bit auf ( x43) Soll ein Bit auf gesetzt werden, so muss der ursprüngliche Zustand der Bits mit Hilfe einer logischen UND Verknüpfung und des inversen Wertes des gewünschten Bits berechnet werden. ort ( x43) & ( xfd) ursprünglicher Zustand zweites Bit auf Seite 25

26 IO rojekte mit der USB Schnittstelle Anschluss der LEDs an den IOWarrior in der augebauten Schaltung LED rot ort Bit 3 x8 Data[2] LED grün ort Bit 7 x8 Data[] LED gelb ort Bit x2 Data[2] Abbildung Anschluss der LEDs an den IOWarrior und entsprechende Bits der jeweiligen orts void RotCheckBoxCheckedChanged( obj ect sender, EventArgs e) int WertNeu; if ( RotCheckBox. Checked==true) Rotanel. BackColor = Color. Red; WertNeu = Data[2] x8; Data[ 2] = ( byte) WertNeu; IowKitWrite( IowHandle,, ref Data[ ], 3) ; Rotanel. BackColor = Color. Black; WertNeu = Data[2] & xf7; Data[ 2] = ( byte) WertNeu; IowKitWrite( IowHandle,, ref Data[ ], 3) ; DataLabel. Text = "Data[ ] = " + String. Format( " : X2 ", Data[ ] ) + " ( " + Data[ ]. ToString( ) + ") "; DataLabel. Text = "Data[ ] = " + String. Format( " : X2 ", Data[ ] ) + " ( " + Data[ ]. ToString( ) + ") "; Data2Label. Text = "Data[ 2] = " + String. Format( " : X2 ", Data[ 2] ) + " ( " + Data[ 2]. ToString( ) + ") "; void GelbCheckBoxCheckedChanged( obj ect sender, EventArgs e) int WertNeu; if ( GelbCheckBox. Checked==true) Gelbanel. BackColor = Color. Yellow; WertNeu = Data[2] x2; Data[ 2] = ( byte) WertNeu; IowKitWrite( IowHandle,, ref Data[ ], 3) ; Gelbanel. BackColor = Color. Black; WertNeu = Data[2] & xfd; Data[ 2] = ( byte) WertNeu; IowKitWrite( IowHandle,, ref Data[ ], 3) ; DataLabel. Text = "Data[ ] = " + String. Format( " : X2 ", Data[ ] ) + " ( " + Data[ ]. ToString( ) + ") "; DataLabel. Text = "Data[ ] = " + String. Format( " : X2 ", Data[ ] ) + " ( " + Data[ ]. ToString( ) + ") "; Data2Label. Text = "Data[ 2] = " + String. Format( " : X2 ", Data[ 2] ) + " ( " + Data[ 2]. ToString( ) + ") "; Quellcode Senden der Zustände der Ausgangspins an den IOWarrior als Reaktion auf die Änderung einer Checkbox Seite 26

27 IO rojekte mit der USB Schnittstelle void GruenCheckBoxCheckedChanged( obj ect sender, EventArgs e) int WertNeu; if ( GruenCheckBox. Checked==true) Gruenanel. BackColor = Color. Green; WertNeu = Data[] x8; Data[ ] = ( byte) WertNeu; IowKitWrite( IowHandle,, ref Data[ ], 3) ; Gruenanel. BackColor = Color. Black; WertNeu = Data[] & x7f; Data[ ] = ( byte) WertNeu; IowKitWrite( IowHandle,, ref Data[ ], 3) ; DataLabel. Text = "Data[ ] = " + String. Format( " : X2 ", Data[ ] ) + " ( " + Data[ ]. ToString( ) + ") "; DataLabel. Text = "Data[ ] = " + String. Format( " : X2 ", Data[ ] ) + " ( " + Data[ ]. ToString( ) + ") "; Data2Label. Text = "Data[ 2] = " + String. Format( " : X2 ", Data[ 2] ) + " ( " + Data[ 2]. ToString( ) + ") "; Quellcode Fortsetzung Senden der Zustände der Ausgangspins an den IOWarrior als Reaktion auf die Änderung einer Checkbox Beenden der Anwendung Beim Schließen der Anwendung wird die Verbindung zum IOWarrior getrennt. Dies geschieht wie in den beiden vorangegangenen Beispielen als Reaktion auf das Event FormClosing des Formulars. void MainFormFormClosing( obj ect sender, FormClosingEventArgs e) // Verbindung zum IOWarrior trennen IowKitCloseDevice( IowHandle) ; Quellcode Trennen der Verbindung zum IOWarrior beim Schließen der Anwendung Seite 27

28 IO rojekte mit der USB Schnittstelle 5. Erweiterung der Ausgänge mit einem Schieberegister Der IOWarrior24 stellt 6 Ausgänge zur Verfügung. Benötigt man eine größere Anzahl von Ausgängen um zum Beispiel eine LED Anzeigetafel anzusteuern, so kommen spezielle Bauteile zur orterweiterung sogenannte Schieberegister zum Einsatz. Zur Übertragung von Daten an ein Schieberegister werden nur drei Datenleitungen benötigt. Die meisten Schieberegister verfügen über ein Auffangregister. Damit wird erreicht, dass Daten in das Register eingegeben werden können ohne, dass sich die tatsächlichen Ausgangszustände ändern. Erst wenn alle Zustände in das Auffangregister geschrieben wurden, werden diese an die einzelnen Ausgänge durch einen Impuls am in mit der Bezeichnung STROBE weitergegeben. 5. Der IC 494 Der am häufigsten eingesetzte Schieberegister Bauteil trägt die Bezeichnung 494. Dieser verfügt über drei Eingänge (DATA, CLOCK und STROBE) und über 8 Ausgänge. Diese müssen je nach Anwendung (zum Beispiel beim Anschluss von LEDs) mit Widerständen versehen werden und sollten pro Ausgang mit maximal 25mA belastet werden. 6 Strobe Data Clock A Vcc +5V Vcc +5V A4 A5 A6 A A2 A7 A3 GND 9 8 Data OUT Abbildung 5.. Anschlussbelegung des 494 Zusätzlich verfügt dieser integrierte Schaltkreis über einen Daten Ausgang. Über diesen können weitere Bauteile angeschlossen und mit Daten befüllt werden. Somit lassen sich mehrere Bauteile vom Typ 494 hintereinander schalten wodurch man die Anzahl der Ausgänge beliebig erweitern kann. 3 Clock 2 Data 3 Strobe Data OUT 494 A A A2 A3 A4 A5 A6 A Clock 2 Data Strobe Data OUT 494 A A A2 A3 A4 A5 A6 A Abbildung 5..2 Schaltplan und Umsetzung der Kaskadierung mehrerer Schieberegister Bauteile Seite 28

29 IO rojekte mit der USB Schnittstelle Das Setzen der Zustände der Ausgänge geschieht in zwei Schritten: Zuerst werden die gewünschten Zustände der 8 Ausgänge als 8 Bits nacheinander in das Auffangregister geschoben. Der Zustand des Eingangs DATA entspricht dabei dem Zustand den der jeweilige Ausgang haben soll. Mit einem Impuls am Eingang CLOCK werden alle Bits im Auffangregister um eine Stelle weitergeschoben. Sind alle 8 Bits im Auffangregister, werden diese mit einem Impuls am Eingang STROBE an die Ausgänge übergeben. Auffangregister Ausgänge CLOCK DATA Auffangregister Ausgänge Auffangregister Ausgänge STROBE Auffangregister Ausgänge Abbildung 5..3 Schematische Darstellung des Befüllen des Schieberegisters 494 Um das Schieberegister 494 einmal vollständig zu befüllen, müssen die Eingänge wie folgt gesetzt werden: Data HI oder LO (. Bit) Clock HI LO Data HI oder LO (2. Bit) Clock HI LO Data HI oder LO (3. Bit) Clock HI LO Data HI oder LO (4. Bit) Clock HI LO Data HI oder LO (5. Bit) Clock HI LO Data HI oder LO (6. Bit) Clock HI LO Data HI oder LO (7. Bit) Clock HI LO Data HI oder LO (8. Bit) Clock HI LO Strobe HI LO (Auffangregister Ausgänge) Abbildung 5..4 Abfolge der Zustände von DATA, CLOCK und STROBE beim Befüllen des Schieberegisters 494 Seite 29

30 IO rojekte mit der USB Schnittstelle 5.2 Schaltplan Der IOWarrior24 bietet sich optimal für die Ansteuerung von Schieberegister Bauteilen mit einem Computer an. Dabei werden nur drei Ausgänge des IOWarrior24 benötigt, die als Datenleitungen für das Schieberegister dienen. Da die Ausgänge des IOWarrior entweder +5V (HI) oder V (LO) liefern, können diese direkt mit dem Schieberegister 494 verbunden werden, da dieses an den Eingängen DATA, CLOCK und STROBE genau diese egel erwartet. Werden an den Ausgängen des Schieberegisters Leuchtdioden angeschlossen, müssen entsprechende Vorwiderstände zum Einsatz kommen, da die Spannung an den Ausgängen beim Zustand HI +5V beträgt. 4 Vcc IO WARRIOR24 GND Clock 2 Data Strobe GND 6 Vcc A A A2 A3 A4 A5 A6 A Abbildung 5.2. Schaltplan zur Ansteuerung eines Schieberegisters 494 mit dem IOWarrior Anschluss der Datenleitungen des Schieberegisters 494 an den IOWarrior Clock ort Bit x Data[] Strobe ort Bit 2 x4 Data[] Data ort Bit x2 Data[] Abbildung Anschlussbelegung und entsprechende Bits am ort des IOWarrior Materialliste und Bauplan Beim Anschluss der Leuchtdioden ist besonders auf die in Belegung des Schieberegisters zu achten damit diese in derselben Reihenfolge der Bits im Schieberegister richtig auf der latine platziert werden (siehe Abbildung 5..). Materialliste: 8 Leuchtdioden rot 5mm 8 Widerstände 27Ω IC Sockel 6 polig Schieberegister 494 Abbildung 5.3. Materialliste Seite 3

31 IO rojekte mit der USB Schnittstelle Abbildung Bauplan 5.4 Anwendung 4 Ansteuern von LEDs mit einem Schieberegister IOW_Schieberegister Bei dieser Anwendung werden die LEDs nicht direkt mit dem IOWarrior ein und ausgeschaltet. Das Schalten der LEDs übernimmt das Schieberegister 494. Der IOWarrior stellt das Bindeglied zwischen der Anwendung und dem Schieberegister dar. Mit Hilfe von 8 Checkboxen soll der gewünschte Zustand der LEDs festgelegt werden. Beim Klick auf den Send Button erfolgt die Übertragung des gewählten Bit Musters an das Schieberegister. In der Folge könnte an Stelle eines Buttons zum Senden auch ein Timer zum Einsatz kommen, der in regelmäßigen Abständen den mit den Checkboxen festgelegten Zustand der LEDs automatisch überträgt. Verwendete Komponenten roduktidlabel (Label) SeriennummerLabel (Label) SendButton (Button) ABox... A7Box (CheckBox) Abbildung 5.4. Screenshot der Anwendung IOW_Schieberegister Seite 3

32 IO rojekte mit der USB Schnittstelle Definition globaler Variablen und Import der benötigten Funktionen aus der iowkit.dll Zu Beginn werden die globale Variable IowHandle und das Array Data[] definiert. Zum Import der benötigten Funktionen aus der iowkit.dll muss die Klasse System.Runtime.InteropServices mit einer using Anweisung eingebunden werden. public partial class MainForm : Form // Definition der global benötigten Variablen int IowHandle; byte[ ] Data; // Import der benötigten Funktionen aus der iowkit. dll [ DllImport( "iowkit", SetLastError=true) ] public static extern int IowKitOpenDevice( ) ; [ DllImport( "iowkit", SetLastError=true) ] public static extern void IowKitCloseDevice( int iowhandle) ; [ DllImport( "iowkit", SetLastError=true) ] public static extern int IowKitWrite( int iowhandle, int numipe, ref byte buffer, int length) ; [ DllImport( "iowkit", SetLastError=true) ] public static extern int IowKitReadNonBlocking( int iowhandle, int numipe, ref byte buffer, int length) ; [ DllImport( "iowkit", SetLastError=true) ] public static extern short IowKitGetroductId( int iowhandle) ; [ DllImport( "iowkit", SetLastError=true) ] public static extern bool IowKitGetSerialNumber( int iowhandle, ref short serialnumber) ;... Quelltext 5.4. Definition globaler Variablen und Import der benötigten Funktionen aus der iowkit.dll Herstellen der Verbindung zum IOWarrior Das Herstellen der Verbindung, das Initialisieren der Anwendung und des IOWarrior erfolgt beim Öffnen der Anwendung in der Ereignisbehanldung des Events Load der Klasse MainForm. Nach dem Herstellen der Verbindung angeschlossenen IOWarriors eingelesen. zum IOWarrior werden die roduktid und die Seriennummer des Die verwendeten ins.,. und.2 werden als Ausgänge eingesetzt. Das Byte Data[] ist auf x zu setzen und alle Bits beider orts werden auf gesetzt Data[] und Data[2] bekommen den Wert x (). void MainFormLoad( obj ect sender, EventArgs e) // Variablendefinition int roduktid = ; short[ ] SerienNummer = new short[ 8] ; string SerienNummerString = " " ; // Verbindung zu IOWarrior herstellen IowHandle = IowKitOpenDevice( ) ; if ( IowHandle==) MessageBox. Show( " Kein IO-Warrior gefunden! " ) ; // roduktid ermitteln und anzeigen roduktid = IowKitGetroductId( IowHandle) ; Quelltext Herstellen der Verbindung zum IOWarrior und Initialisieren des Data Arrays Seite 32

33 IO rojekte mit der USB Schnittstelle if ( roduktid==x5) roduktidlabel. Text = " rodukt ID: IOWarrior2 4 " ; roduktidlabel. Text = " rodukt ID: unbekannt" ; // Seriennummer ermitteln und anzeigen if ( IowKitGetSerialNumber( IowHandle, ref SerienNummer[ ] ) ) foreach( char c in SerienNummer) SerienNummerString = SerienNummerString + c; SeriennummerLabel. Text = " Seriennummer: " + SerienNummerString; SeriennummerLabel. Text = " Seriennummer: unbekannt" ; // Byte-Array für den Datenaustausch initialisieren Data = new byte[ 3] ; Data[ ] = x; Data[ ] = x; Data[ 2 ] = x; IowKitWrite( IowHandle,, ref Data[ ], 3) ; Quelltext Fortsetzung Herstellen der Verbindung zum IOWarrior und Initialisieren des Data Arrays Übertragen der Information aus den Checkboxen an das Schieberegister Soll die Information bestehend aus 8 Bit an das Schieberegister übertragen werden, so ist das in 5..3 und 5..4 dargestellte Verfahren anzuwenden. Die drei Datenleitungen DATA, CLOCK und STROBE können nicht direkt geschaltet werden, deren Zustand entspricht je einem Bit des orts des IOWarrior. Bei jedem Aufruf der Funktion IowKitWrite() werden die Zustände aller drei Datenleitungen neu übergeben und müssen deshalb sinngemäß richtig gesetzt sein. Bei der programmiertechnischen Umsetzung ist somit besonders darauf zu achten, dass das Setzen des Zustands des DATA Eingangs am Schieberegister zu erfolgen hat, bevor der CLOCK Eingang auf HI und wieder auf LO gesetzt wird. void SendButtonClick( obj ect sender, System. EventArgs e) if ( A7Box. Checked==true) Data[ ] = x2; // Data HI IowKitWrite( IowHandle,, ref Data[ ], 3) ; Data[ ] = x3; // Clock HI ( Data bleibt HI) IowKitWrite( IowHandle,, ref Data[ ], 3) ; Data[ ] = x2; // Clock LO ( Data bleibt HI) IowKitWrite( IowHandle,, ref Data[ ], 3) ; Data[ ] = x; // Data LO IowKitWrite( IowHandle,, ref Data[ ], 3) ; Data[ ] = x; // Clock HI ( Data blcibt LO) IowKitWrite( IowHandle,, ref Data[ ], 3) ; Data[ ] = x; // Clock LO ( Data bleibt LO) IowKitWrite( IowHandle,, ref Data[ ], 3) ; Quelltext Übertragen der Information aus den Checkboxen an das Schieberegister Seite 33

34 IO rojekte mit der USB Schnittstelle void SendButtonClick( obj ect sender, System. EventArgs e) if ( A6Box. Checked==true) Data[ ] = x2; // Data HI IowKitWrite( IowHandle,, ref Data[ ], 3) ; Data[ ] = x3; // Clock HI ( Data bleibt HI) IowKitWrite( IowHandle,, ref Data[ ], 3) ; Data[ ] = x2; // Clock LO ( Data bleibt HI) IowKitWrite( IowHandle,, ref Data[ ], 3) ; Data[ ] = x; // Data LO IowKitWrite( IowHandle,, ref Data[ ], 3) ; Data[ ] = x; // Clock HI ( Data blcibt LO) IowKitWrite( IowHandle,, ref Data[ ], 3) ; Data[ ] = x; // Clock LO ( Data bleibt LO) IowKitWrite( IowHandle,, ref Data[ ], 3) ; // dieselbe IF-Abfrage sinngemäß für die Checkboxen A5Box - ABox if ( ABox. Checked==true) Data[ ] = x2; // IowKitWrite( IowHandle, Data[ ] = x3; // IowKitWrite( IowHandle, Data[ ] = x2; // IowKitWrite( IowHandle, Data[ ] = x; // IowKitWrite( IowHandle, Data[ ] = x; // IowKitWrite( IowHandle, Data[ ] = x; // IowKitWrite( IowHandle, Data[ ] = x4; // Strobe IowKitWrite( IowHandle,, Data[ ] = x; // Strobe IowKitWrite( IowHandle,, Data HI, ref Data[ ], 3) ; Clock HI ( Data bleibt HI), ref Data[ ], 3) ; Clock LO ( Data bleibt HI), ref Data[ ], 3) ; Data LO, ref Data[ ], 3) ; Clock HI ( Data blcibt LO), ref Data[ ], 3) ; Clock LO ( Data bleibt LO), ref Data[ ], 3) ; HI ref Data[ ], 3) ; LO ref Data[ ], 3) ; Quelltext Fortsetzung Übertragen der Information aus den Checkboxen an das Schieberegister Beenden der Anwendung Beim Schließen der Anwendung wird die Verbindung zum IOWarrior getrennt. Dies geschieht wie in den vorangegangenen Anwendungen als Reaktion auf das Event FormClosing des Formulars. void MainFormFormClosing( obj ect sender, FormClosingEventArgs e) // Verbindung zum IOWarrior trennen IowKitCloseDevice( IowHandle) ; Quelltext Trennen der Verbindung zum IOWarrior beim Beenden der Anwendung Seite 34

35 IO rojekte mit der USB Schnittstelle 6. Eingabe variabler Werte mit einem Drehimpulsgeber Immer mehr ersetzen Drehimpulsgeber herkömmliche otentiometer und Stufenschalter. Diese arbeiten gegenüber mechanischen otentiometern nahezu verschleißfrei und sind auch gegenüber der Störung durch hochfrequente Signale unempfindlich. Ein Drehimpulsgeber ist ein Bauteil, der beim Drehen Impulse erzeugt. Diese Impulse sind von der Drehrichtung abhängig und können mit einer entsprechenden, zusätzlich benötigten Elektronik ausgewertet werden. Oft sind Drehimpulsgeber noch mit einer zusätzlichen Druck Taster Funktion ausgerüstet. Mit einem Drehimpulsgeber kann daher eine einfache Werteingabe oder Menüauswahl erfolgen. Durch Drehen kann ein Wert geändert oder ein Menüpunkt ausgewählt werden und mit einem Druck auf die Achse erfolgt die Bestätigung dieses Werts oder des Menüpunkts. 6. Aufbau und Signalschema eines Drehimpulsgebers Der hier dargestellte Drehimpulsgeber besitzt 5 ins: 3 ins für die Drehimpulse (A, B und GND) und 2 ins für die Taster Funktion. Dreht man die Achse, so entsteht an den ins A und B ein Taktmuster. Diese beiden ins dienen dabei als Schalter, welche je nach Stellung der Achse entweder geöffnet oder geschlossen sind. B GND Taster A Abbildung 6.. Aufbau eines Drehimpulsgebers Die Drehachse besitzt bei den in elektronischen Geräten zur Eingabe von Werten verwendeten Drehimpulsgebern pro Umdrehung meist 3 leichte Rastpositionen. ro Umdrehung erzeugen beide "Schalter" 5 Rechteckimpulse, welche um etwa 6ms zueinander verschoben sind. Bei einer Drehung im Uhrzeigersinn ergibt sich für AB die folgende Bitabfolge: Bei einer Drehung gegen den Uhrzeigersinn ergeben sich für AB die Bitzustände: Daraus lässt sich die Richtung bestimmen in welche die Achse des Drehimpulsgebers bewegt wurde. Zu beachten ist dabei, dass die Frequenz der Bestimmung der Schaltzustände von A und B hoch genug sein muss um die Verschiebung von 6 ms auflösen zu können. Rasterpositionen Drehung im Uhrzeigersinn Drehung gegen den Uhrzeigersinn A B A B Abbildung 6..2 Signalschema an den beiden ins A und B bei unterschiedlicher Drehrichtung Analyse der Signale Eine Software zur Auswertung der Signale muss die Zustände der beiden Schalter in einem entsprechend kleinen Zeitintervall abfragen und auf eine Änderung der Schaltzustände reagieren. Eine solche Änderung kann entweder das Erreichen einer Rastposition oder das Wechseln in eine osition zwischen den Rasten sein. Eine Analyse der Drehrichtung wird nur bei Erreichen einer Rastposition durchgeführt. An den Rastpositionen sind beide Schalter geschlossen (AB = ) oder beide Schalter geöffnet (AB = ). Aufgrund des Zustands vor Erreichen einer dieser Rastpositionen kann die Richtung der Drehung bestimmt werden, die zu diesem Zustand geführt hat. Die Software muss die Werte vor einer Änderung zwischenspeichern, da diese zur Bestimmung der Drehrichtung bei Erreichen einer Rastposition benötigt werden. Aus dem Taktmuster ergibt sich: Rastposition : zuvor Drehung im Uhrzeigersinn, zuvor Drehung gegen den Uhrzeigersinn Rastposition : zuvor Drehung im Uhrzeigersinn, zuvor Drehung gegen den Uhrzeigersinn Seite 35

36 IO rojekte mit der USB Schnittstelle 6.2 Schaltplan Der Anschluss eines Drehimpulsgebers an den IOWarrior ist verhältnismäßig einfach. Die beiden ins A und B können direkt mit je einem in des IOWarrior verbunden werden. Der mittlere Anschluss des Drehimpulsgebers GND wird mit der Masse des IOWarrior verbunden. Ein in des Druck Tasters wird mit einem in des IOWarrior verbunden, der zweite mit GND. IO WARRIOR24 GND B GND A 9 Abbildung 6.2. Schaltplan Anschluss eines Drehimpulsgebers an den IOWarrior 6.3 Bauplan Abbildung 6.3. Bauplan Anschluss eines Drehimpulsgebers an den IOWarrior Seite 36

37 IO rojekte mit der USB Schnittstelle 6.4 Anwendung 5 Auswertung der Daten eines Drehimpulsgebers IOW_Drehimpulsgeber Diese Anwendung soll die Drehbewegung und den Zustand des Druck Tasters des Drehimpulsgebers auswerten und grafisch darstellen. Der einzustellende Wert soll im Bereich zwischen 4 und +4 liegen, in einem Label angezeigt werden und zusätzlich einen Schieberegler bewegen. Dabei ist zu berücksichtigen, dass auch eine Änderung des Schiebereglers mit der Maus den Wert verändern kann. Ein anel soll den gedrückten Zustand des Druck Tasters signalisieren. Verwendete Komponenten roduktidlabel (Label) SeriennummerLabel (Label) WertLabel (Label) WertBar (TrackBar, Minimum 4, Maximum 4) Tasteranel (anel) ReadTimer (Timer, Interval 2) Abbildung 6.4. Screenshot der Anwendung IOW_Drehimpulsgeber Definition globaler Variablen und Import der benötigten Funktionen aus der iowkit.dll Zu Beginn werden die globale Variable IowHandle und das Array Data[] definiert. Zusätzlich werden in dieser Anwendung noch die globalen Variablen A, B, Aold und Bold (Zustand der Schalter im Drehimpulsgeber) und die Variable Wert (der mit dem Drehimpulsgeber veränderbare Zahlenwert) verwendet. Zum Import der benötigten Funktionen aus der iowkit.dll muss die Klasse System.Runtime.InteropServices mit einer using Anweisung eingebunden werden. public partial class MainForm : Form // Definition der global benötigten Variablen int IowHandle; byte[ ] Data; int A, Aold; int B, Bold; int Wert; // Import der benötigten Funktionen aus der iowkit. dll [ DllImport( "iowkit", SetLastError=true) ] public static extern int IowKitOpenDevice( ) ; [ DllImport( "iowkit", SetLastError=true) ] public static extern void IowKitCloseDevice( int iowhandle) ; [ DllImport( "iowkit", SetLastError=true) ] public static extern int IowKitWrite( int iowhandle, int numipe, ref byte buffer, int length) ; [ DllImport( "iowkit", SetLastError=true) ] public static extern int IowKitReadNonBlocking( int iowhandle, int numipe, ref byte buffer, int length) ; [ DllImport( "iowkit", SetLastError=true) ] public static extern short IowKitGetroductId( int iowhandle) ; [ DllImport( "iowkit", SetLastError=true) ] public static extern bool IowKitGetSerialNumber( int iowhandle, ref short serialnumber) ;... Quelltext 6.4. Definition globaler Variablen und Import der benötigten Funktionen aus der iowkit.dll Seite 37

Einfache Computersteuerung für Modellbahnen

Einfache Computersteuerung für Modellbahnen Einfache Computersteuerung für Modellbahnen Was soll eigentlich mit einem Computer gesteuert werden? Diese Frage muss man sich als erstes stellen: - Man braucht für Ausstellungen einen kompletten automatischen

Mehr

AS-electronic, Inh.: Norbert Koppel, Zietenstr. 8, 46485 Wesel http://www.as-electronic-wes.de as-electronic@t-online.de

AS-electronic, Inh.: Norbert Koppel, Zietenstr. 8, 46485 Wesel http://www.as-electronic-wes.de as-electronic@t-online.de Ansteuerung von UKW und KW-Endstufen über die ACC-Buchse des ICOM 706MKII Der IC 706 MK II verfügt über eine ACC-Buchse, welche gemäß der Bedienungsanleitung folgende Signale bereitstellt: Pin Nr. Name

Mehr

Produktinformationen. Basis Set Atmel Atmega8 & ISP Programmer. Lieferumfang :

Produktinformationen. Basis Set Atmel Atmega8 & ISP Programmer. Lieferumfang : Produktinformationen Basis Set Atmel Atmega8 & ISP Programmer Lieferumfang : 1 Steckboard 840 Pin 1 USB ISP Programmer mit Kabel 1 Kabelsatz 32-teilig 1 Atmega8L 5 LED 3mm Klar Rot/Gelb/Grün/Blau/Weiss

Mehr

Ingenieurbüro Bernhard Redemann Elektronik, Netzwerk, Schulung. -Datenblatt- Bernhard Redemann www.b-redemann.de b-redemann@gmx.

Ingenieurbüro Bernhard Redemann Elektronik, Netzwerk, Schulung. -Datenblatt- Bernhard Redemann www.b-redemann.de b-redemann@gmx. USB-Modul PML232-45RL -Datenblatt- Seite 1 Achtung! Unbedingt lesen! Bei Schäden, die durch Nichtbeachten der Anleitung verursacht werden, erlischt der Garantieanspruch. Sicherheitshinweise Das USB-Modul

Mehr

AVR Net-IO. Der originale von Pollin vertriebene Bausatz hat folgende Eckdaten:

AVR Net-IO. Der originale von Pollin vertriebene Bausatz hat folgende Eckdaten: AVR Net-IO 2013 DL2USR Bitte alles sorgfältig lesen. Weitere Hinweise enthält die Readme.txt im Softwareordner. Keine Garantie für Vollständigkeit und Fehlerfreiheit, kein Support in irgendeiner Art! Ein

Mehr

LEDmeter. LEDs über den Druckerport steuern. Schritt 1: Bauteile. file://localhost/users/rainer/xp-exchange/erzeugte%20websites/p...

LEDmeter. LEDs über den Druckerport steuern. Schritt 1: Bauteile. file://localhost/users/rainer/xp-exchange/erzeugte%20websites/p... LEDmeter LEDs über den Druckerport steuern Die Anleitung ist frei übersetzt aus dem englischen Original-Manual von LEDMeter. (Siehe Lizenz vom Programm LEDMeter) Das Programm LEDmeter und die englischsprachige

Mehr

Ringlicht-v3 - Frei konfigurierbares Ringlicht mit RS232 Anbindung. Kurzbeschreibung

Ringlicht-v3 - Frei konfigurierbares Ringlicht mit RS232 Anbindung. Kurzbeschreibung Ringlicht-v3 - Frei konfigurierbares Ringlicht mit RS232 Anbindung Kurzbeschreibung Das frei konfigurierbare Ringlicht kann jede beliebige Abfolge an Lichtmustern erzeugen und über einen Triggereingang

Mehr

Handbuch für das Schaltmodul P017

Handbuch für das Schaltmodul P017 Handbuch für das Schaltmodul P017 V 1.2 17. Januar 2011 2011 by Peter Küsters Dieses Dokument ist urheberrechtlich geschützt. Es ist nicht gestattet, dieses Dokument zur verändern und komplett oder Teile

Mehr

Hardwarehandbuch USB - RS232 - Mediacontroller - Translator

Hardwarehandbuch USB - RS232 - Mediacontroller - Translator Hardwarehandbuch USB - RS232 - Mediacontroller - Translator Version 2013.02 EG-Konformitätserklärung Für folgende Erzeugnisse IRTrans USB IRTrans RS232 IRTrans IR Busmodul IRTrans Translator / XL IRTrans

Mehr

iscan USB Benutzerhandbuch UNIFIED FIELD COMMUNICATION

iscan USB Benutzerhandbuch UNIFIED FIELD COMMUNICATION Benutzerhandbuch UNIFIED FIELD COMMUNICATION Inhalt I EG-Konformitätserklärung...1 1 iscan USB...2 2 Installation und Inbetriebnahme...3 2.1 Installation der Treibersoftware...3 2.2 Installation der Hardware...5

Mehr

Bau und Programmieranleitung für den IR - Booster. Vorbemerkungen

Bau und Programmieranleitung für den IR - Booster. Vorbemerkungen Bau und Programmieranleitung für den IR - Booster Vorbemerkungen Die folgende Anleitung beschreibt den Aufbau und die Inbetriebnahme des IR - Booster. Ich möchte ausdrücklich darauf hinweisen, das es sich

Mehr

Starthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum

Starthilfe für C# Inhaltsverzeichnis. Medien- und Kommunikationsinformatik (B.Sc.) Alexander Paharukov. Informatik 3 Praktikum Starthilfe für C# Inhaltsverzeichnis Allgemeines... 2 Bezugsquellen... 2 SharpDevelop... 2.NET Runtime... 2.NET SDK... 2 Installation... 2 Reihenfolge... 2 Vorschlag für eine Ordnerstruktur... 3 Arbeit

Mehr

Einführung in das Microsoft.NET-Framework. Programmiersprache C# MEF Das Managed Extensibility Framework. André Kunz

Einführung in das Microsoft.NET-Framework. Programmiersprache C# MEF Das Managed Extensibility Framework. André Kunz Einführung in das Microsoft.NET-Framework Programmiersprache C# MEF Das Managed Extensibility Framework André Kunz 21.09.2010 1 In dieser Einführung bekommen Sie einen kurzen Einstieg in das.net-framework

Mehr

tensiolink USB Konverter INFIELD 7

tensiolink USB Konverter INFIELD 7 tensiolink USB Konverter INFIELD 7 UMS GmbH München, August 2005 tensiolink USB Konverter Einleitung Der tensiolink USB Konverter dient zum direkten Anschluss von Sensoren und Geräten mit serieller tensiolink

Mehr

799 000 684 / Rev. 1 / 21.5.2013. Quick Guide für FDT Basic-Tool und Backup-Tool SERIE P40T

799 000 684 / Rev. 1 / 21.5.2013. Quick Guide für FDT Basic-Tool und Backup-Tool SERIE P40T 799 000 684 / Rev. 1 / 21.5.2013 Quick Guide für FDT Basic-Tool und Backup-Tool SERIE P40T Herausgeber ELGO Electronic GmbH & Co. KG Carl-Benz-Straße1 DE-78239 Rielasingen Technischer Support +49 (0) 7731

Mehr

SEDU-Ambilight. Ambilight mit dem SEDU-Board

SEDU-Ambilight. Ambilight mit dem SEDU-Board SEDU-Ambilight Ambilight mit dem SEDU-Board 1 Merkmale Das SEDU-Board ist ein universelles Controller-Board mit einem ATMega16-Prozessor (oder kompatiblen). Eine Beschreibung des Boards ist über einen

Mehr

Adressbeispiele Binär Schalterbild

Adressbeispiele Binär Schalterbild Datenblatt Features Controller kann DMX 512 empfangen oder senden Bis zu 360W Schaltleistung (3x 5A bei 24V) 3 PWM Kanäle Onboard, 7-24V DMX 512 zu WS2801 fähig Bequem programmierbar über Fernbedienung

Mehr

I+ME ACTIA GmbH Tel.: + 49 531/38701-0 Fax.: + 49 531/38701-88. FAQ Probleme aus dem Feld

I+ME ACTIA GmbH Tel.: + 49 531/38701-0 Fax.: + 49 531/38701-88. FAQ Probleme aus dem Feld Allgemein Welche Software Versionen sind aktuell? Tachostore Version 4.15 DStore Version 1.14R12 DumpDBox Version 1.15R11 D-Box Version 4.01 Die Software Updates sind auf der Web Seite www.smartach.de

Mehr

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0) Tapps mit XP-Mode unter Windows 7 64 bit (V2.0) 1 Einleitung... 2 2 Download und Installation... 3 2.1 Installation von WindowsXPMode_de-de.exe... 4 2.2 Installation von Windows6.1-KB958559-x64.msu...

Mehr

DTMF Sender. Es können 252 Zeichen maximal am Stück übertragen werden; die Länge des Strings wird mit einem Byte übertragen.

DTMF Sender. Es können 252 Zeichen maximal am Stück übertragen werden; die Länge des Strings wird mit einem Byte übertragen. DTMF Sender Author DK1RI, Version V02.1, 20160104 This project can be found in https://www.github.com/dk1ri Einleitung Dieses Interface ist eine Vorlage für ein Interface, das ein Gerät, das sich mit DTMF

Mehr

NT-Electronics Bausatz-Beschreibung Version: 3

NT-Electronics Bausatz-Beschreibung Version: 3 1 von 8 1. Allgemeine Beschreibung Der unterstützt die Programmierung des Konfigurations- Flash auf der Mercury-EU Leiterplatte. Selbstverständlich können auch andere Altera FPGA s und Flash Bausteine

Mehr

Sprachausgabe. Die Steuerung des Interfaces kann, abhängig von der Besückung über I2C, RS232 oder USB erfolgen

Sprachausgabe. Die Steuerung des Interfaces kann, abhängig von der Besückung über I2C, RS232 oder USB erfolgen Sprachausgabe Einleitung Dieses Interface ist bindet das Sprachausgabe Modul MSM2 von ELV in da MYC System ein. Das Interface arbeitet als Slave am I2C Bus oder kann über RS232 /USB gesteuert werden. Dieses

Mehr

InterCafe 2010. InterCafe 2010

InterCafe 2010. InterCafe 2010 InterCafe 2010 Der Inhalt dieses Handbuchs und die zugehörige Software sind Eigentum der blue image GmbH und unterliegen den zugehörigen Lizenzbestimmungen sowie dem Urheberrecht. 2009 blue image GmbH

Mehr

KidTime Order. Seite 1

KidTime Order. Seite 1 KidTime Order Download der Bestelldateien... 2 Bestellung erstellen, persönliche Daten eingeben... 3 Fertiges Paket mit USB-Sticks bestellen... 3 Lizenzen bestellen... 4 Bestellung senden und bezahlen...

Mehr

Bestückte Leiterplatte für drahtlose digitale Teilkreise

Bestückte Leiterplatte für drahtlose digitale Teilkreise Bestückte Leiterplatte für drahtlose digitale Teilkreise Stark miniaturisierte Leiterplatte mit zum Projekt von Dave Ek und Craig Combes kompatibler Schaltung Geringe Stromaufnahme, weiter Eingangsspannungsbereich,

Mehr

Projekt Nr. 15: Einen elektronischen Würfel erstellen

Projekt Nr. 15: Einen elektronischen Würfel erstellen Nun wissen Sie, wie Sie Zufallszahlen erzeugen können. Als Nächstes wollen wir diese neuen Kenntnisse gleich in die Tat umsetzen, indem wir einen elektronischen Würfel konstruieren. Projekt Nr. 15: Einen

Mehr

Produktbeschreibung. 8x230VAC - Eingangsadapter. HomeAutomationSystem Edition V0.1 Dipl.-Ing. Pankraz Viktor

Produktbeschreibung. 8x230VAC - Eingangsadapter. HomeAutomationSystem Edition V0.1 Dipl.-Ing. Pankraz Viktor Produktbeschreibung 8x230VAC - Eingangsadapter Projekt HomeAutomationSystem Edition V0.1 Author Dipl.-Ing. Pankraz Viktor Copyright Viktor Pankraz 2016 All rights reserved Fragen und Anregungen Sie haben......

Mehr

Anzeige 2 - Teil 1. www.boxtec.ch. by AS. Anzeige 2 mit dem HT16K33, 3 x LED Matrix Anzeigen (8x8), 2 x I 2 C Bus = Teil 1 Hardware =

Anzeige 2 - Teil 1. www.boxtec.ch. by AS. Anzeige 2 mit dem HT16K33, 3 x LED Matrix Anzeigen (8x8), 2 x I 2 C Bus = Teil 1 Hardware = www.boxtec.ch by AS playground.boxtec.ch/doku.php/tutorial s Anzeige 2 mit dem HT16K33, 3 x LED Matrix Anzeigen (8x8), 2 x I 2 C Bus = Teil 1 Hardware = Anzeige 2 - Teil 1 Copyright Sofern nicht anders

Mehr

Computergestützter Schaltungs- und Leiterplattenentwurf Protokoll. Jan Nabbefeld erstellt: 5. Juli 2002

Computergestützter Schaltungs- und Leiterplattenentwurf Protokoll. Jan Nabbefeld erstellt: 5. Juli 2002 Computergestützter Schaltungs- und Leiterplattenentwurf Protokoll André Grüneberg Jan Nabbefeld erstellt: 5. Juli 2002 1 Schaltplaneingabe und Schaltungsimulation 1.1 NAND-Gatter Aufgabe war es, NAND-Gatter

Mehr

Einführung in das Programmieren in der Sekundarstufe 1. mit einem Arduino und der Physical-Computing-Plattform

Einführung in das Programmieren in der Sekundarstufe 1. mit einem Arduino und der Physical-Computing-Plattform Einführung in das Programmieren in der Sekundarstufe 1 mit einem Arduino und der Physical-Computing-Plattform 1 Arduino mit Breadboard (Steckbrett) und LED mit Vorwiderstand Arduino-Board Uno R3 mit Mikrocontroller

Mehr

Produktinformation TKM Konfigurationssoftware TK-IBS-TOOL

Produktinformation TKM Konfigurationssoftware TK-IBS-TOOL Produktinformation TKM Konfigurationssoftware TK-IBS-TOOL Sicherheitshinweise! Montage, Installation und Inbetriebnahme dürfen nur durch Elektrofachpersonal vorgenommen werden! Für Arbeiten an Anlagen

Mehr

easyident Türöffner mit integriertem USB Interface

easyident Türöffner mit integriertem USB Interface easyident Türöffner mit integriertem USB Interface Art. Nr. FS-0007-B Wir freuen uns, das sie sich für unser Produkt easyident Türöffner, mit Transponder Technologie entschieden haben. Easyident Türöffner

Mehr

hanazeder Montage, Anschluss HLC-EA-MP hanazeder electronic GmbH J.M. Dimmel Str. 10 4910 Ried i. I.

hanazeder Montage, Anschluss HLC-EA-MP hanazeder electronic GmbH J.M. Dimmel Str. 10 4910 Ried i. I. hanazeder hanazeder electronic GmbH J.M. Dimmel Str. 10 4910 Ried i. I. HLC-EA- Tel.: +43 7752 84 214 Fax.: +43 7752 84 214 4 www.hanazeder.at office@hanazeder.at Montage, Anschluss 1 Das HLC-EA- Modul

Mehr

WufooConnector Handbuch für Daylite 4

WufooConnector Handbuch für Daylite 4 WufooConnector Handbuch für Daylite 4 WufooConnector Handbuch für Daylite 4 1 Allgemeines 1.1 Das WufooConnector Plugin für Daylite 4 4 2 Einrichtung 2.1 2.2 2.3 Installation 6 Lizensierung 8 API Key einrichten

Mehr

Fachhochschule Bielefeld Fachbereich Elektrotechnik. Versuchsbericht für das elektronische Praktikum. Praktikum Nr. 2. Thema: Widerstände und Dioden

Fachhochschule Bielefeld Fachbereich Elektrotechnik. Versuchsbericht für das elektronische Praktikum. Praktikum Nr. 2. Thema: Widerstände und Dioden Fachhochschule Bielefeld Fachbereich Elektrotechnik Versuchsbericht für das elektronische Praktikum Praktikum Nr. 2 Name: Pascal Hahulla Matrikelnr.: 207XXX Thema: Widerstände und Dioden Versuch durchgeführt

Mehr

Schnupperstudium. Einführung. Aufbau einer Audioverstärkerschaltung. Audioverstärker letzte Änderung: 4. Februar 2009. S.

Schnupperstudium. Einführung. Aufbau einer Audioverstärkerschaltung. Audioverstärker letzte Änderung: 4. Februar 2009. S. Schnupperstudium S. Tschirley Audioverstärker letzte Änderung: 4. Februar 2009 Einführung Einer der Schwerpunkte im Studiengang Kommunikationstechnik und Elektronik der TFH Berlin ist die analoge Schaltungstechnik.

Mehr

Elektrische Schnittstelle 21MTC

Elektrische Schnittstelle 21MTC Normen Europäischer Modellbahnen Elektrische Schnittstelle MTC NEM 660 Seite von 5 Empfehlung Maße in mm Ausgabe 0 (ersetzt Ausgabe 0). Zweck der Norm Diese Norm legt eine einheitliche Schnittstelle zum

Mehr

System-Update. 3. In diesem Ordner müssen nun folgende vier Dateien vorhanden sein:

System-Update. 3. In diesem Ordner müssen nun folgende vier Dateien vorhanden sein: System-Update 3. In diesem Ordner müssen nun folgende vier Dateien vorhanden sein: Um den internen Speicher Ihres Tablets vollständig nutzbar zu machen, können Sie ein Update installieren, das Sie über

Mehr

Snake Projekt. Jan Scholz. 16. März 2013

Snake Projekt. Jan Scholz. 16. März 2013 Snake Projekt Jan Scholz 16. März 2013 Inhaltsverzeichnis 1 Einführung 3 2 Hardware Entwicklung 4 2.1 Mikrocontroller............................. 4 2.2 LED-Matrix............................... 4 2.2.1

Mehr

guloprog S mk II von guloshop.de

guloprog S mk II von guloshop.de guloprog S mk II USBasp für Steckplatinen Seite 1 Version 2.0 2014-10-08 guloprog S mk II von guloshop.de Willkommen bei guloprog S dem Mikrocontroller-Programmer für Steckplatinen! Mit dem guloprog S

Mehr

Digital Web-Monitoring Digitales Web-Monitoring

Digital Web-Monitoring Digitales Web-Monitoring Eigenschaften: voll funktionsfähiger embedded Webserver 10BaseT Ethernet Schnittstelle weltweite Wartungs- und Statusanzeige von Automatisierungsanlagen Reduzierung des Serviceaufwands einfaches Umschalten

Mehr

SX3 PC Software rev. 0.99c

SX3 PC Software rev. 0.99c SX3 PC Software rev. 0.99c SX3 ist ein Programm zur Steuerung einer Selectrix Digitalzentrale unter Linux bzw. Windows. Mit SX3 haben Sie die Möglichkeit Selectrix -Loks zu fahren, Weichen zu Schalten

Mehr

easyident Türöffner easyident Türöffner Art. Nr. FS-0007 FS Fertigungsservice

easyident Türöffner easyident Türöffner Art. Nr. FS-0007 FS Fertigungsservice easyident Türöffner Art. Nr. FS-0007 Wir freuen uns, das sie sich für unser Produkt easyident Türöffner, mit Transponder Technologie entschieden haben. Easyident Türöffner ist für Unterputzmontage in 55mm

Mehr

Hinweise zum Aufbau Universal Schrittmotor-Interface Rev. 1.0 (Stand 4.6.2008)

Hinweise zum Aufbau Universal Schrittmotor-Interface Rev. 1.0 (Stand 4.6.2008) Hinweise zum Aufbau Universal Schrittmotor-Interface Rev. 1.0 (Stand 4.6.2008) Funktionsbeschreibung Das Universal Schrittmotorinterface ist eine Schaltung zur Aufbereitung der Signale aus dem PC-Parallelport

Mehr

9.1.3 Maxim MAX7219 LED-Display Treiber

9.1.3 Maxim MAX7219 LED-Display Treiber 9.1.3 Maxim MAX7219 LED-Display Treiber Bei diesem IC handelt es sich um einen seriell anzusteuernden Display Treiber, der hauptsächlich zur Ansteuerung einer großen Anzahl an LEDs bzw. 7-Segmenten verwendet

Mehr

Bauanleitung für den Kronleuchter des Grafen Zahl

Bauanleitung für den Kronleuchter des Grafen Zahl Bauanleitung für den Kronleuchter des Grafen Zahl Grundschaltung: Masse ( ) 0k 0k Wechseltaster zwei Widerstände nach R S RS-NAND-Flipflop (RS-Latch) zum Entprellen der Wechseltaster (CMOS-IC 0) ODER-Gatter

Mehr

Bild 0 Masterplatine modifiziert für Ampel

Bild 0 Masterplatine modifiziert für Ampel Ampeldecoder Aus DC-Car-Wiki Ampeldecoder 234 ab August 2011 (Programmer 5.2.5 oder höher wird benötigt) Inhaltsverzeichnis 1 Aufbau 2 Infrarotsteuerung Stop-Tiny 3 Anschluss des Ampeldecoders 3.1 Ampelmodul

Mehr

http://www.abacom-online.de/div/setup_usb_lrb.exe

http://www.abacom-online.de/div/setup_usb_lrb.exe USB-Relaiskarte LRB Features Kompakte USB-Relaiskarte in der Grösse einer Zigarettenschachtel Abmessungen ca. 70 x 85 x 20 mm Ideal für Modellbau, Kfz-Installationen, Mess- und Steuerungstechnik, etc.

Mehr

Ankopplung GSM Interface an FAT2002 (GSM-Option)

Ankopplung GSM Interface an FAT2002 (GSM-Option) Ankopplung GSM Interface an FAT2002 (GSM-Option) ab Firmware-Version 4.24.10.1 Allgemeines Das FAT2002 stellt eine Übermittlung von Meldungen per SMS bereit. Die Meldungen aus der BMZ werden im FAT gemäß

Mehr

Anleitung zur Konfiguration und ersten Inbetriebnahme des RPTC-1 v1.17. www.funk24.net. RPTC-1_anleitung_v117.docx 1 / 14 DG1BGS, 03.08.

Anleitung zur Konfiguration und ersten Inbetriebnahme des RPTC-1 v1.17. www.funk24.net. RPTC-1_anleitung_v117.docx 1 / 14 DG1BGS, 03.08. Anleitung zur Konfiguration und ersten Inbetriebnahme des RPTC-1 v1.17 RPTC-1_anleitung_v117.docx 1 / 14 DG1BGS, 03.08.2015 21:26:00 Inhaltsverzeichnis Vorbereitungen... 3 Installation des USB-Treibers...

Mehr

Relaismodul L 208/R Ausgabemodul L 208/A

Relaismodul L 208/R Ausgabemodul L 208/A Technische Daten Sicherheitstechnik Relaismodul L 208/R Ausgabemodul L 208/A Inhalt Seite 1 Beschreibung........................................ 2 1.1 L208/R..............................................

Mehr

KODAK D4000 Duplex Photo Printer-Treiber für WINDOWS

KODAK D4000 Duplex Photo Printer-Treiber für WINDOWS ReadMe_Driver.pdf 11/2011 KODAK D4000 Duplex Photo Printer-Treiber für WINDOWS Beschreibung Der D4000-Druckertreiber ist ein MICROSOFT-Druckertreiber, der speziell für die Verwendung mit dem D4000 Duplex

Mehr

Standalone-Anwendung (z.b. als Türöffner für 1 Master + 20 Tags) RS232 PC-Anbindung (an USB per Adapter) zum Übertragen der Tag- ID an den PC

Standalone-Anwendung (z.b. als Türöffner für 1 Master + 20 Tags) RS232 PC-Anbindung (an USB per Adapter) zum Übertragen der Tag- ID an den PC Der Special-Function-Chip SF6107 ist ein RFID-Receiver, welcher die Dekodierung von RFID-Tags nach dem EM-4102-Standard (125khz Lesefrequenz, 40 Bit Daten) ermöglicht. Eine jeweils leicht modifizierte

Mehr

USB RS485 / RS232 Adapter

USB RS485 / RS232 Adapter USB RS485 / RS232 Adapter Inhaltsverzeichnis 1 Anschlüsse...3 2 Konfiguration...4 3 Bestückung / Teileliste...5 4 Schaltplan...6 Rev. 1.0 Seite 2 von 6 Anschlüsse 1 Anschlüsse RS232 Pin Bezeichnung 1 5V-Out

Mehr

Kurzanleitung Visualisierungssoftware Easywave CCsoft

Kurzanleitung Visualisierungssoftware Easywave CCsoft ELDAT GmbH Im Gewerbepark 14 D-15711 Königs Wusterhausen Tel. + 49 (0) 33 75 / 90 37-0 Fax: + 49 (0) 33 75 / 90 37-90 Internet: www.eldat.de E-Mail: info@eldat.de Titel: Kurzanleitung Visualisierungssoftware

Mehr

1. das es keiner Ausdrucke mehr für die Formwertrichter bedarf 2. das die Korrekturen vom Richter selbst an seinem PC durchgeführt werden können.

1. das es keiner Ausdrucke mehr für die Formwertrichter bedarf 2. das die Korrekturen vom Richter selbst an seinem PC durchgeführt werden können. E.T. Anleitung für Formwertrichter Was ist E.T.? E.T. Ist ein Programm mit dem, in Verbindung mit ZiSpro, Ausstellungen so organisiert werden können, das u.a. die Eingabe der Besprechungen des jeweiligen

Mehr

Schnittstellenbeschreibung

Schnittstellenbeschreibung 1 Anschlüsse Bezeichnung Funktion, Beschreibung 13 Pressure UT Ausgang Druckluft, Verbindung zum Vorratsbehälter / Kartusche / Tank des Mediums 14 Pressure IN Eingang Druckluft, Schlauchanschluss, 4mm

Mehr

Anwenderhandbuch logiware IO-Stick

Anwenderhandbuch logiware IO-Stick Anwenderhandbuch logiware IO-Stick Stand: Juni 2010 logiware IO-Stick http://www.io-stick.de Alfred-Mozer-Str. 42 D-48527 Nordhorn Deutschland Telefon (+49)(0)5921 7139925 Telefax (+49)(0)5921 7139929

Mehr

Für Windows 7 Stand: 21.01.2013

Für Windows 7 Stand: 21.01.2013 Für Windows 7 Stand: 21.01.2013 1 Überblick Alle F.A.S.T. Messgeräte verfügen über dieselbe USB-Seriell Hardware, welche einen Com- Port zur Kommunikation im System zur Verfügung stellt. Daher kann bei

Mehr

TCP/IP Programmierung. C# TimeServer Java6 TimeClient

TCP/IP Programmierung. C# TimeServer Java6 TimeClient TCP/IP Programmierung C# TimeServer Java6 TimeClient Stand 19.10.11 21:24:32 Seite 1 von 16 Inhaltsverzeichnis Erläuterung...3 Software...3 C#TimeServer...4 Klasse ServerThread...6 Starten und Beenden...7

Mehr

Herzlich willkommen zum Sommerfest des PING e.v.

Herzlich willkommen zum Sommerfest des PING e.v. Herzlich willkommen zum Sommerfest des PING e.v. Elektronik Basteltag bei PING! Leuchtdioden (LED) Taschenlampe Schritt-für-Schritt Aufbau Hilfestellung durch die anwesenden PINGels Taschenlampe darfst

Mehr

Protokoll zum Versuch 146

Protokoll zum Versuch 146 Elektronik-Praktikum am Dritten Physikalischen Institut der Universität Göttingen Wintersemester 2005/2006 Protokoll zum Versuch 146 Messgerätesteuerung über IEC-Bus Name: Georg Herink, Hendrik Söhnholz

Mehr

4 Codierung nach Viginere (Lösung)

4 Codierung nach Viginere (Lösung) Kapitel 4 Codierung nach Viginere (Lösung) Seite 1/14 4 Codierung nach Viginere (Lösung) 4.1 Einführung Blaise de Vigenère lebte von 1523 bis 1596 in Frankreich und war nach dem Studium bei verschiedenen

Mehr

Whitepaper. Produkt: combit List & Label 16. List & Label Windows Azure. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: combit List & Label 16. List & Label Windows Azure. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit List & Label 16 List & Label Windows Azure List & Label Windows Azure - 2 - Inhalt Softwarevoraussetzungen 3 Schritt 1: Neues Projekt

Mehr

VOLTmonitor. VOLTmonitor. Schritt 1: Schaltung. file://localhost/users/rainer/xp-exchange/erzeugte%20websites/p... 1 of 10 07.07.

VOLTmonitor. VOLTmonitor. Schritt 1: Schaltung. file://localhost/users/rainer/xp-exchange/erzeugte%20websites/p... 1 of 10 07.07. VOLTmonitor VOLTmonitor LM3914 Voltanzeige Diese Voltanzeige wurde von www.pointofnoreturn.org vorgestellt. Meine Leistung besteht lediglich darin, die Anleitung ins Deutsche zu übersetzen. Schritt 1:

Mehr

Doku zum TFT-Adapter von UB. Inhaltsverzeichnis

Doku zum TFT-Adapter von UB. Inhaltsverzeichnis Doku zum von UB Inhaltsverzeichnis Einleitung...2 Bilder...3 Kompatible Displays :...4 1. Modul-Beschreibungen...5 1.1. Versorgung...5 1.2. TFT-Pinhead...6 1.3. Backlight-Power...7 1.4. FPC-Stecker...8

Mehr

Leitfaden zur Installation von Bitbyters.WinShutdown

Leitfaden zur Installation von Bitbyters.WinShutdown Leitfaden zur Installation von Bitbyters.WinShutdown für Windows 32 Bit 98/NT/2000/XP/2003/2008 Der BitByters.WinShutDown ist ein Tool mit dem Sie Programme beim Herunterfahren Ihres Systems ausführen

Mehr

Installieren und Einrichten von VirtualBox für TAPPS (V1.0)

Installieren und Einrichten von VirtualBox für TAPPS (V1.0) Installieren und Einrichten von VirtualBox für TAPPS (V1.0) 1 Einleitung... 2 2 Download und Installation... 2 3 Einrichten von VirtualBox am Beispiel Windows XP... 7 4 Einrichten von Windows XP... 26

Mehr

Haftkünstler auf dem Prüfstand. Online Ergänzung HOLGER FLORIAN BOHN OLGA SPECK THOMAS SPECK

Haftkünstler auf dem Prüfstand. Online Ergänzung HOLGER FLORIAN BOHN OLGA SPECK THOMAS SPECK Haftkünstler auf dem Prüfstand HOLGER FLORIAN BOHN OLGA SPECK THOMAS SPECK Online Ergänzung Bohn et al., 2011 Haftkünstler auf dem Prüfstand Zusatzmaterial 3 1/6 Bauanleitung Insektenzentrifuge Erweiterung:

Mehr

Anleitung Installation und Kurzanleitung Tachostore/D-Box

Anleitung Installation und Kurzanleitung Tachostore/D-Box Anleitung Installation und Kurzanleitung Tachostore/D-Box Inhalt 1 Installation Tachostore...2 2 Beseitigung der Installationsprobleme...2 3 Registrierung bei Micropross...3 4 D-Box USB Treiber Installation...3

Mehr

Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten

Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten Der Konfigurations-Assistent wurde entwickelt, um die unterschiedlichen ANTLOG-Anwendungen auf den verschiedensten Umgebungen automatisiert

Mehr

TREIBER INSTALLATIONSPROZESS WINDOWS 8 (32 oder 64 BIT)

TREIBER INSTALLATIONSPROZESS WINDOWS 8 (32 oder 64 BIT) TREIBER INSTALLATIONSPROZESS WINDOWS 8 (32 oder 64 BIT) N-Com Wizard 2.0 (und folgenden) IDENTIFIZIEREN SIE IHR BETRIEBSSYSTEM: 1. Als erstes müssen Sie herausfinden ob Sie ein 32 Bit oder ein 64 Bit System

Mehr

Schalten mittels Transistor

Schalten mittels Transistor Manfred Kämmerer Technische Informatik Seite 1 Schalten mittels Transistor Der Transistor, der in Abbildung 1 gezeigten Schaltung (BC 237), arbeitet als elektronischer Schalter in Emitterschaltung. Die

Mehr

MySQL Community Server 5.6 Installationsbeispiel (Ab 5.5.29)

MySQL Community Server 5.6 Installationsbeispiel (Ab 5.5.29) MySQL Community Server 5.6 Installationsbeispiel (Ab 5.5.29) Dieses Dokument beschreibt das Herunterladen der Serversoftware, die Installation und Konfiguration der Software. Bevor mit der Migration der

Mehr

ateval-board Aufbauanleitung & Handbuch

ateval-board Aufbauanleitung & Handbuch atevalboard Aufbauanleitung & Handbuch Elektronik Hannes Jochriem Oberfeldweg 10 D 300 Oberaudorf info@ehajo.de 0033 / 695 69 9 0033 / 695 69 90 1. Inhaltsverzeichnis Aufbau... 5 Sockel...7 Summer...7

Mehr

Microcontroller Kurs. 08.07.11 Microcontroller Kurs/Johannes Fuchs 1

Microcontroller Kurs. 08.07.11 Microcontroller Kurs/Johannes Fuchs 1 Microcontroller Kurs 08.07.11 Microcontroller Kurs/Johannes Fuchs 1 Was ist ein Microcontroller Wikipedia: A microcontroller (sometimes abbreviated µc, uc or MCU) is a small computer on a single integrated

Mehr

Kurzanleitung cyberjack go

Kurzanleitung cyberjack go Kurzanleitung cyberjack go ZN 2054 Kurzanleitung 002-100 cyberjack go 1 Ausführliche Bedienungsanleitung Unter www.reiner-sct.com/manuals finden Sie die ausführlichen Bedienungsanleitungen für alle cyberjack

Mehr

B-Speech MiniPad Anleitung zur Schnellinstallation. Anleitung zur Schnellinstallation. Seite 1 von 12

B-Speech MiniPad Anleitung zur Schnellinstallation. Anleitung zur Schnellinstallation. Seite 1 von 12 Anleitung zur Schnellinstallation Seite 1 von 12 Inhaltsverzeichnis B-Speech MiniPad Anleitung zur Schnellinstallation BK300 Anleitung zur Schnellinstalltion.. 3 Pocket PC / Microsoft Smartphone.. 4 Systemanforderungen....

Mehr

für POSIDRIVE FDS 4000

für POSIDRIVE FDS 4000 AS-Interface Ankopplung für Frequenzumrichter POSIDRIVE FDS 4000 Dokumentation Vor der Inbetriebnahme unbedingt diese Dokumentation, sowie die Montage- und Inbetriebnahmeanleitung für POSIDRIVE FDS 4000

Mehr

TREIBER INSTALLATIONSPROZESS WINDOWS 7 (32 oder 64 BIT)

TREIBER INSTALLATIONSPROZESS WINDOWS 7 (32 oder 64 BIT) TREIBER INSTALLATIONSPROZESS WINDOWS 7 (32 oder 64 BIT) N-Com Wizard 2.0 (und folgenden) VORAUSSETZUNG: ART DES BETRIEBSSYSTEM DES JEWEILIGEN PC 1. Klicken Sie auf Start und dann auf Arbeitsplatz. 2. Klicken

Mehr

RedPitaya HPSDR Ausgänge zur Antennen und Bandfilterumschaltung

RedPitaya HPSDR Ausgänge zur Antennen und Bandfilterumschaltung RedPitaya HPSDR Ausgänge zur Antennen und Bandfilterumschaltung Innerhalb des HPSDR Projektes gibt es mehrere Möglichkeiten frequenzabhängig Ausgänge umzuschalten um Bandfilter oder Antenne umzuschalten.

Mehr

Jinx! Konfiguration für LED-Player und LED-Controller-L

Jinx! Konfiguration für LED-Player und LED-Controller-L Jinx! Ist eine sehr mächtige LED-Software zur Ansteuerung von LED-Controllern über verschiedene Protokolle und Schnittstellen. Die Konfiguration dieses Programmes für den Betrieb mit LED-Controller-L oder

Mehr

Anleitung zum Firmware-Update für das 8 INTENSOTAB

Anleitung zum Firmware-Update für das 8 INTENSOTAB Anleitung zum Firmware-Update für das 8 INTENSOTAB Dieses Update bringt Ihnen die Vorteile von Android 4.0 Ice Cream Sandwich auf Ihr 8 INTENSOTAB. Wichtig: - Bitte beachten Sie, dass es durch den Updatevorgang

Mehr

ishrt CommDTM Benutzerhandbuch UNIFIED FIELD COMMUNICATION

ishrt CommDTM Benutzerhandbuch UNIFIED FIELD COMMUNICATION Benutzerhandbuch UNIFIED FIELD COMMUNICATION Inhalt 1 Installation der Software...3 2 Kommunikations-DTM ishrt CommDTM...4 3 Konfiguration ishrt Comm DTM offline...5 3.1 Treiberkonfiguration...5 3.2 Kanalkonfiguration...6

Mehr

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen Um die maximale Sicherheit für das Betriebssystem und Ihre persönlichen Daten zu gewährleisten, können Sie Programme von Drittherstellern

Mehr

KURZANLEITUNG FÜR DIE. Installation von Nokia Connectivity Cable Drivers

KURZANLEITUNG FÜR DIE. Installation von Nokia Connectivity Cable Drivers KURZANLEITUNG FÜR DIE Installation von Nokia Connectivity Cable Drivers Inhalt 1. Einführung...1 2. Voraussetzungen...1 3. Installation von Nokia Connectivity Cable Drivers...2 3.1 Vor der Installation...2

Mehr

Hardware und Software engineering Industrielle Steuer- und Regeltechnik. Hardwarebeschreibung CBOX V0113

Hardware und Software engineering Industrielle Steuer- und Regeltechnik. Hardwarebeschreibung CBOX V0113 Hardwarebeschreibung CBOX V0113 Serielles Kasseninterface für Kaffeemaschinen mit OP1-Interface Version vom: 10.04.2001 Update: 05.11.2008 Hardware CBOX V0113 Industriestrasse 49 Seite 1/9 1. Anwendung

Mehr

isel - USB - I/O - Modul Bedienungsanleitung für USB Ein-/Ausgabe-Modul 8/8

isel - USB - I/O - Modul Bedienungsanleitung für USB Ein-/Ausgabe-Modul 8/8 isel - USB - I/O - Modul Bedienungsanleitung für USB Ein-/Ausgabe-Modul 8/8 isel Germany AG, D-36124 Eichenzell, Bürgermeister-Ebert-Str. 40 (06659)981-0 (06659)981-776 Die in dieser Druckschrift enthaltenen

Mehr

MOTORANSTEUERUNG. Schaltzeichen eines Relais:

MOTORANSTEUERUNG. Schaltzeichen eines Relais: A1 H-Brücke: MOTORANSTEUERUNG Je nachdem, wie herum die beiden Pole eines Gleichstrommotors an eine Gleichspannungsquelle angeschlossen werden, ändert er seine Drehrichtung. Die Schaltung links wird als

Mehr

Der Aufbau der Uhr ist sehr einfach, weil nur sehr wenige Bauteile eingelötet werden müssen.

Der Aufbau der Uhr ist sehr einfach, weil nur sehr wenige Bauteile eingelötet werden müssen. Der Aufbau der Uhr ist sehr einfach, weil nur sehr wenige Bauteile eingelötet werden müssen. Sie benötigen folgende Bauteile um die IN-18 Blue Dream Nixie Clock aufzubauen: Menge Teil Beschreibung 1 BRD1

Mehr

Installieren der Treiber-Software USB-Audiotreiber Installationsanleitung (Windows)

Installieren der Treiber-Software USB-Audiotreiber Installationsanleitung (Windows) Installieren der Treiber-Software USB-Audiotreiber Installationsanleitung (Windows) Inhalt Installieren der Treiber-Software... Seite 1 Deinstallieren des Treibers... Seite 3 Störungsbeseitigung (Windows

Mehr

LAB-EXP Experimentier-Platine für das LAB-537

LAB-EXP Experimentier-Platine für das LAB-537 Sven Rakers LAB-EXP Experimentier-Platine für das LAB-537 Aufbauanleitung und Referenz November 2000 1 Aufbau des Bausatzes Dieser Abschnitt wendet sich an den Besitzer des Bausatzes. Wenn Sie ein Fertigmodul

Mehr

Handbuch. MiniRIS-Monitor

Handbuch. MiniRIS-Monitor Handbuch MiniRIS-Monitor Ersteller: EWERK MUS GmbH Erstellungsdatum: 09.05.2011 Inhalt 1 Vorwort... 3 2 Installation... 4 2.1 Voraussetzungen... 4 2.2 Installation... 4 3 Einstellungen... 5 4 Handhabung...

Mehr

EINBINDUNG STERILISATOR

EINBINDUNG STERILISATOR EINBINDUNG STERILISATOR Pionier der Zahnarzt-Software. Seit 1986. 1 Seite 1/7 Um eine lückenlose Dokumentation der Benutzung sterilisierter Produkte beim Patienten zu gewährleisten, ist es möglich die

Mehr

USB/RS232-Gateway ECO2USB Treiberinstallation unter Windows 7 (64 bit)

USB/RS232-Gateway ECO2USB Treiberinstallation unter Windows 7 (64 bit) USB/RS232-Gateway ECO2USB Treiberinstallation unter Windows 7 (64 bit) bisherige Ausgaben: Ausgabe Bemerkung Dez. 2012 Erstausgabe Impressum Alle Rechte bei: Jenaer Antriebstechnik GmbH Buchaer Straße

Mehr

A20_PCI. ARCNET Controller Karte für PCI Bus. Gerätebeschreibung. 2003 TK Systemtechnik GmbH Nr. TK-04-037-F-1.2

A20_PCI. ARCNET Controller Karte für PCI Bus. Gerätebeschreibung. 2003 TK Systemtechnik GmbH Nr. TK-04-037-F-1.2 A20_PCI ARCNET Controller Karte für PCI Bus Gerätebeschreibung 2003 TK Systemtechnik GmbH Nr. TK-04-037-F-1.2 Angaben zur Version Dokument-Nr. Beschreibung Datum TK-04-037-F-1.0 Ausgabe 1 17.04.2001 TK-04-037-F-1.1

Mehr

Die Solarzelle als Diode

Die Solarzelle als Diode Die Solarzelle als Diode ENT Schlüsselworte Sonnenenergie, Fotovoltaik, Solarzelle, Diode, Dunkelkennlinie Prinzip Eine Solarzelle ist aus einer p-dotierten und einer n-dotierten Schicht aufgebaut. Bei

Mehr

www.mylaserpage.de Diodentreiber / Modul Blau V1.0

www.mylaserpage.de Diodentreiber / Modul Blau V1.0 -1- www.mylaserpage.de Diodentreiber / Modul Blau V1.0 Herausgeber: Guido Jaeger, Rosenhaeger Bruch 22, 32469 Petershagen, www.mylaserpage.de Der Herausgeber übernimmt keine Gewähr über Vollständigkeit

Mehr

BioAdmin v3 Software Manual

BioAdmin v3 Software Manual BioAdmin v3 Software Manual Version Okt. 06 Revision 1.1 Deutsche Kurzfassung Systemanforderungen Die BioAdmin Software benötigt einen PC mit Microsoft Windows 2K/XP-SP2 als Betriebssystem und eine RS-232

Mehr