1012 - PhidgetInterfaceKit 0/16/16



Similar documents
PhidgetInterfaceKit 8/8/8

PRODUCTIVITY THROUGH INNOVATION 600 CONTROL DIRECT DRIVE TECHNICAL/OPERATION MANUAL

The BSN Hardware and Software Platform: Enabling Easy Development of Body Sensor Network Applications

Transmitter Interface Program

DUKANE Intelligent Assembly Solutions

HCS-3300/3302/3304 USB Remote Programmable Laboratory Grade Switching Mode Power Supply

USB I/O CONTROL BOX 8 relays, 8 digital I/O lines and 8 HV inputs

Designing VM2 Application Boards

Table of Contents. Safety Warnings..3. Introduction.. 4. Host-side Remote Desktop Connection.. 5. Setting Date and Time... 7

2013 G Miller. 3 Axis Brushless Gimbal Controller Manual

By: John W. Raffensperger, Jr. Revision: 0.1 Date: March 14, 2008

Adafruit's Raspberry Pi Lesson 5. Using a Console Cable

ezsystem elab16m Project 1F: Alarm System (Full Project description)

T-BOXN12R. First steps with T-BOXN12R. You can make it wireless. Date: Version 1.0

Massachusetts Institute of Technology

CurveMaker v2.1 DYNAFS programmable ignition software

Current Monitoring Kit QUICK START GUIDE

EPSON USB/Parallel Adapter User s Guide

SPROG II User Guide 1. SPROG II DCC Decoder Programmer User Guide

USB Plus+ RFID Reader Setup Guide

1. Introduction Fixture exterior view Connecting the Robe Universal Interface Software update of the fixture...

Current Monitoring Kit

Speedlink software will run on Windows NT, Windows 7, and Windows 8; it will run on both 32 byte and 64 byte versions of Windows.

Chapter 1. Introduction to ios Development. Objectives: Touch on the history of ios and the devices that support this operating system.

ScanWin Installation and Windows 7-64 bit operating system

BarTender s ActiveX Automation Interface. The World's Leading Software for Label, Barcode, RFID & Card Printing

Building a Simulink model for real-time analysis V Copyright g.tec medical engineering GmbH

DC Electronic Loads 8500 series

User Manual. USB2.0 to IDE and SATA Adapter Cable. Model: DA-70202

Complete Train Control. Run Your Trains, Not Your Track! 1 PR3 Programmer 1 USB Cable 1 This Instruction sheet

Adafruit's Raspberry Pi Lesson 5. Using a Console Cable

Select Correct USB Driver

Digital I/O: OUTPUT: Basic, Count, Count+, Smart+

USB VoIP Phone Adapter. User s Manual

The full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code.

Capacitive Touch Lab. Renesas Capacitive Touch Lab R8C/36T-A Family

GPS/GLONASS SiRFstarV Evaluation Kit EVA5100-A

INDEX. Trademarks All name and product s trademarks mentioned below are the property of their respective companies.

10 STEPS TO YOUR FIRST QNX PROGRAM. QUICKSTART GUIDE Second Edition

How to read this guide

User s Manual. Management Software for Inverter

Berkeley Audio Design Alpha USB

USER GUIDE. Publication AP7080. Allen & Heath 1 XONE:1D User Guide

TestManager Administration Guide

Contents Installing the ucal Software on your PC/Laptop ucal Programmer Version Connecting the ucal Programmer to your PC/Laptop

Cart Interface Installation & Control Board Manual for M38 XP and RX Carts and Legacy M39 Carts

Eclipse installation, configuration and operation

PP8X Printer Driver Installation Instruction

Wireless Keyboard & Optical Mouse. User Manual

User Manual. 2 ) PNY Flash drive 2.0 Series Specification Page 3

User Manual USB Laptop KVM Switch. GCS661U Part No. M1069

Chord Limited. Mojo Dac Headphone Amplifier OPERATING INSTRUCTIONS

QUICK START GUIDE. SG2 Client - Programming Software SG2 Series Programmable Logic Relay

USB > RS485 > 8 Channel Relay Controller

User s Guide DDS-3X25 USB ARBITRARY FUNCTION GENERATOR

OVERVIEW CODEMETER.

Digital Photo Bank / Portable HDD Pan Ocean E350 User Manual

Renewable Energy Monitor User Manual And Software Reference Guide. (979)

Adafruit's Raspberry Pi Lesson 5. Using a Console Cable. Created by Simon Monk

SOLAROX RGB-Master Pro LAN. RGB-Master Pro LAN. Network-compatible RGBW Controller -

VM-4 USB Desktop Audio Device Installation Guide

Point of view HDMI Smart TV dongle Mini RF Keyboard

Thuraya XT-DUAL. Software Upgrade Manual

BASLER ACE QUICK INSTALLATION GUIDE

STEELSERIES FREE MOBILE WIRELESS CONTROLLER USER GUIDE

This document is intended to make you familiar with the ServersCheck Monitoring Appliance

VM-8 USB Desktop Audio Device Installation Guide

Safety Precautions WARNINGS

ADU208/218 USB Relay I/O Interface User Manual

Network/Floating License Installation Instructions

Troubleshooting and Diagnostics

Page 1 S5.5 Monitoring Software Manual Rev 1.2 for Software Ver 1.0

MIDI control allows the Split Personality to be used remotely in rack systems, or integrated into MIDI controlled setups for easy preset recall.

Harmony Remote User Manual 600 Series

Deploying the DisplayLink Software using the MSI files

Application/Connection Examples

Multi-Touch Ring Encoder Software Development Kit User s Guide

EVAL-UFDC-1/UFDC-1M-16

Installing Java (Windows) and Writing your First Program

E-Blocks Easy Internet Bundle

KTA-223 Arduino Compatible Relay Controller

SNMP Web Management. User s Manual For SNMP Web Card/Box

Current Cost Data Cable User Guide. Installing and configuring the data cable

2.5/3.5 SATA HDD Docking Station

Caplio Utility for Windows

UM1676 User manual. Getting started with.net Micro Framework on the STM32F429 Discovery kit. Introduction

Waspmote. Quickstart Guide

IPX AUTOMATIC IP NETWORK LOSS BACKUP A/B SWITCH INSTRUCTION BOOK IB

KI6501 Data Manager. Software User Manual

Getting Started Guide

LEN s.r.l. Via S. Andrea di Rovereto 33 c.s CHIAVARI (GE) Tel Fax mailto: len@len.it url: http//

Surf it Easy. User Guide

Q N X S O F T W A R E D E V E L O P M E N T P L A T F O R M v Steps to Developing a QNX Program Quickstart Guide

Installing the Gerber P2C Plotter USB Driver

Monnit Wi-Fi Sensors. Quick Start Guide

Inductors in AC Circuits

AUDITVIEW USER INSTRUCTIONS

RS485 Adapters. User Manual October 26, 2008 V1.02 Copyright Light O Rama, Inc. 2006, 2007, 2008 SC485 USB485B USB485 USB485-ISO

User Guide. Model Insulation Tester / Megohmmeter

Transcription:

1012 - PhidgetInterfaceKit 0/16/16 Product Features 16 Digital Inputs that are activated by an external voltage source, triggering on a wide voltage range - 4 to 30VDC They can be used to convey the state of on/off devices, such as push buttons, limit switches, relays. 16 Digital Outputs switching up to 30VDC at up to 2 Amps. They can be used to directly control devices requiring substantial power such as incandescent lights, high power LEDs, relays, solenoids, motors. The Digital Output acts as a switch to ground, and is protected from transient voltages typical when switching inductive devices - relays, solenoids, motors. LED Indicators on all I/O channels Connects directly to a computer s USB port Programming Environment Operating Systems: Windows 2000/XP/Vista, Windows CE, Linux, and Mac OS X Programming Languages (APIs): VB6, VB.NET, C#.NET, C++, Flash 9, Flex, Java, LabVIEW, Python, Max/MSP, and Cocoa. Examples: Many example applications for all the operating systems and development environments above are available for download at www.phidgets.com. 1012_1_Product_Manual created: 09/08/08 Page 1

Installing the hardware The kit contains: A Phidget Interface Kit 0/16/16 A USB cable You will also need: Two 9V batteries Two 9V battery connectors A switch, a piece of wire An incandescent bulb 3 1 2 1. 2. 3. Connect the black wire (-) from the battery to the ground terminal (G). Connect the red wire (+) to one of the switch terminals. Connect the other switch terminal to the digital input terminal block number 0 using a piece of wire. Connect the black wire (-) from the battery to the ground terminal (G). Connect the red wire (+) to one of the bulb wires. Connect the other bulb wire the digital output terminal block number 3. Connect the board to the PC using the USB cable. 1012_1_Product_Manual created: 09/08/08 Page 2

Downloading and Installing the software If you are using Windows 2000/XP/Vista Go to www.phidgets.com >> Downloads >> Windows Download and run Phidget21.MSI You should see the icon on the right hand corner of the Task Bar. Testing the PhidgetInterfaceKit 0/16/16 Functionality Double Click on the icon to activate the Phidget Control Panel and make sure that PhidgetInterfaceKit 0/16/16 is properly attached to your PC. 1. Double Click on PhidgetInterfaceKit 0/16/16 in the Phidget Control Panel to bring up interfacekit-full and check that the box labelled Attached contains the word True. 1 2 3 2. 3. To test the digital input, toggle the switch on and off. When on, a tick mark will appear in the Digital In box and The on-board LED will also turn on; the tick mark will disappear when the switch is off and the on-board LED light will go off. To test the digital output, put a tick mark in the digital out box and both the on-board LED and the incandescent bulb will turn on. If you click on the box again the tick mark will go away and both lights will turn off. 1012_1_Product_Manual created: 09/08/08 Page 3

If you are using Mac OS X Go to www.phidgets.com >> downloads >> Mac Download Mac OS X Framework Testing the PhidgetInterfaceKit 0/16/16 functionality Click on System Preferences >> Phidgets (under Other) to activate the Phidgets Preference Pane. Make sure that the PhidgetInterfaceKit 0/16/16 is properly attached. 1. Double Click on PhidgetInterfaceKit 0/16/16 in the Phidget Preference Pane to bring up the Phidget Interface Kit Example and check that the PhidgetInterfaceKit 0/16/16 is attached. 1 2. 3. To test the digital input, toggle the switch on and off. When on, a tick mark will appear in the Inputs box and The on-board LED will also turn on; the tick mark will disappear when the switch is off and the on-board LED light will go off. To test the digital output, put a tick mark in the Outputs box and both the on-board LED and the incandescent bulb will turn on. If you click on the box again the tick mark will go away and both lights will turn off. 2 3 1012_1_Product_Manual created: 09/08/08 Page 4

If you are using Linux Go to www.phidgets.com >> Downloads >> Linux Download Linux Source Have a look at the readme file Build Phidget21 The most popular programming languages in Linux are C/C++ and Java. Note: Many Linux systems are now built with unsupported third party drivers. It may be necessary to uninstall these drivers for our libraries to work properly. Note: Phidget21 for Linux is a user-space library. Applications typically have to be run as root, or udev/hotplug must be configured to give permissions when the Phidget is plugged in. If you are using Windows Mobile/CE 5.0 or 6.0 Go to www.phidgets.com >> Downloads >> Windows Mobile/CE Download x86 or ARMV4I, depending on the platform you are using. Mini-itx and ICOP systems will be x86, and most mobile devices, including XScale based systems will run the ARMV4I. The CE libraries are distributed in.cab format. Windows Mobile/CE is able to directly install.cab files. The most popular languages are C/C++,.NET Compact Framework (VB.NET and C#). A desktop version of Visual Studio can usually be configured to target your Windows Mobile Platform, whether you are compiling to machine code or the.net Compact Framework. 1012_1_Product_Manual created: 09/08/08 Page 5

Programming a Phidget Phidgets philosophy is that you do not have to be an electrical engineer in order to do projects that use devices like sensors, motors, motor controllers, and interface boards. All you need to know is how to program. We have developed a complete set of Application Programming Interfaces (API) that are supported for Windows, Mac OS X, and Linux. When it comes to languages, we support VB6, VB.NET, C#.NET, C, C++, Flash 9, Flex, Java, LabVIEW, Python, Max/MSP, and Cocoa. Architecture We have designed our libraries to give you the maximum amount of freedom. We do not impose our own programming model on you. To achieve this goal we have implemented the libraries as a series of layers with the C API at the core surrounded by other language wrappers. Libraries The lowest level library is the C API. The C API can be programmed against on Windows, CE, OS X and Linux. With the C API, C/C++, you can write cross-platform code. For systems with minimal resources (small computers), the C API may be the only choice. The Java API is built into the C API Library. Java, by default is cross-platform - but your particular platform may not support it (CE). The.NET API also relies on the C API. Our default.net API is for.net 2.0 Framework, but we also have.net libraries for.net 1.1 and.net Compact Framework (CE). The COM API relies on the C API. The COM API is programmed against when coding in VB6, VBScript, Excel (VBA), Delphi and Labview. The ActionScript 3.0 Library relies on a communication link with a PhidgetWebService (see below). ActionScript 3.0 is used in Flex and Flash 9. Programming Hints Every phidget has a unique serial number - this allows you to sort out which device is which at runtime. Unlike USB devices which model themselves as a COM port, you don t have to worry about where in the USB bus you plug your phidget in. If you have more than one phidget, even of the same type, their serial numbers enable you to sort them out at runtime. Each phidget you have plugged in is controlled from your application using an object/handle specific to that phidget. This link between the phidget and the software object is created when you call the.open group of commands. This association will stay, even if the phidget is disconnected/reattached, until.close is called. The Phidget APIs are designed to be used in an event-driven architecture. While it is possible to poll them, we don t recommend it. Please familiarize yourself with event programming. Networking Phidgets The PhidgetWebService is an application written by Phidgets Inc. which acts as a network proxy on a computer. The PhidgetWebService will allow other computers on the network to communicate with the Phidgets connected to that computer. ALL of our APIs have the 1012_1_Product_Manual created: 09/08/08 Page 6

capability to communicate with Phidgets on another computer that has the PhidgetWebService running. The PhidgetWebService also makes it possible to communicate with other applications that you wrote and that are connected to the PhidgetWebService, through the PhidgetDictionary object. API documentation We maintain API manuals for COM (Windows), C (Windows/Mac OSX/Linux), Action Script,.Net and Java. Look at the section that corresponds to the Phidget you are using. These manuals can be accessed in different ways: Using Downloads on main menu Click on Downloads >> Operating System (i.e. Windows) >> Platform (i.e. C#) >> API Document (i.e. Net API Manual) Using Products on Home Page Click on InterfaceKits (under Products) >> 1018 PhidgetInterfaceKit 8/8/8 >> API Manual (Under Software Information) Using Information on Home Page Click on Information (under Main Menu) >> Your API Manual (under Phidgets API Manuals) Examples We have written examples to illustrate how the APIs are used. Examples for the C#.NET programming language, including.exe files for each of the examples in the directory root. Due to the large number of languages and devices we support, we cannot provide examples in every language for every phidget. Some of the examples are very minimal, and other examples will have a full-featured GUI allowing all the functionality of the device to be explored. Most developers start by modifying existing examples until they have an understanding of the architecture. To get the examples, go to www.phidgets.com and click on Downloads. Under Step 2: click on your platform of choice and click on the File Name besides Examples. Support Click on Live Support on www.phidgets.com to chat with our support desk experts Call the support desk at 1.403.282.7335 8:00 AM to 5:00 PM Mountain Time (US & Canada) - GMT-07:00 E-mail sales@phidgets.com 1012_1_Product_Manual created: 09/08/08 Page 7

Simple example written in C# /* - InterfaceKit simple - **************************************************************************************** * This simple example creates an Interfacekit object, hooks the event handlers, and * opens it for connections to IntefaceKit Phidgets. It will then wait for user input to * terminate, and in the meantime, display event generated data from the InterfaceKit. * For a more detailed example, please see the InterfaceKit-full example. * * Please note that this example was designed to work with only one Phidget InterfaceKit * connected. For an example using multiple Phidget InterfaceKits, please see a * multiple example in the InterfaceKit Examples folder. * Copyright 2007 Phidgets Inc. * This work is licensed under the Creative Commons Attribution 2.5 Canada License. * To view a copy of this license, visit http://creativecommons.org/licenses/by/2.5/ca/ */ using System; using System.Collections.Generic; using System.Text; //Needed for the InterfaceKit class, phidget base classes, and the PhidgetException class using Phidgets; //Needed for the event handling classes using Phidgets.Events; namespace InterfaceKit_simple class Program //Declare an InterfaceKit object static InterfaceKit ifkit; static void Main(string[] args) try //Initialize the InterfaceKit object ifkit = new InterfaceKit(); //Hook the basica event handlers ifkit.attach += new AttachEventHandler(ifKit_Attach); ifkit.detach += new DetachEventHandler(ifKit_Detach); ifkit.error += new ErrorEventHandler(ifKit_Error); //Hook the phidget spcific event handlers ifkit.inputchange += new InputChangeEventHandler(ifKit_InputChange); ifkit.outputchange += new OutputChangeEventHandler(ifKit_OutputChange); ifkit.sensorchange += new SensorChangeEventHandler(ifKit_SensorChange); //Open the object for device connections ifkit.open(); //Wait for an InterfaceKit phidget to be attached Console.WriteLine( Waiting for InterfaceKit to be attached... ); ifkit.waitforattachment(); //Wait for user input so that we can wait and watch for some event data //from the phidget 1012_1_Product_Manual created: 09/08/08 Page 8

Console.WriteLine( Press any key to end... ); Console.Read(); //User input was rad so we ll terminate the program, so close the object ifkit.close(); //set the object to null to get it out of memory ifkit = null; //If no expcetions where thrown at this point it is safe to terminate //the program Console.WriteLine( ok ); catch (PhidgetException ex) Console.WriteLine(ex.Description); //Attach event handler...display the serial number of the attached InterfaceKit //to the console static void ifkit_attach(object sender, AttachEventArgs e) Console.WriteLine( InterfaceKit 0 attached!, e.device.serialnumber.tostring()); //Detach event handler...display the serial number of the detached InterfaceKit //to the console static void ifkit_detach(object sender, DetachEventArgs e) Console.WriteLine( InterfaceKit 0 detached!, e.device.serialnumber.tostring()); //Error event handler...display the error description to the console static void ifkit_error(object sender, ErrorEventArgs e) Console.WriteLine(e.Description); //Input Change event handler...display the input index and the new value to the //console static void ifkit_inputchange(object sender, InputChangeEventArgs e) Console.WriteLine( Input index 0 value (1), e.index, e.value.tostring()); //Output change event handler...display the output index and the new valu to //the console static void ifkit_outputchange(object sender, OutputChangeEventArgs e) Console.WriteLine( Output index 0 value 0, e.index, e.value.tostring()); //Sensor Change event handler...display the sensor index and it s new value to //the console 1012_1_Product_Manual created: 09/08/08 Page 9

100nF 100K static void ifkit_sensorchange(object sender, SensorChangeEventArgs e) W iring Console.WriteLine( Sensor a switch to a Digital Input index 0 value 1, e.index, e.value); VS1 should be 4-30V USER APPLICATION Digital Inputs Using the Digital Inputs SWI TCH Wiring a switch to a Digital Input VSI VS1 should be 4-30V. 1012 Digital Input INPUT B W iring a switch to a Digital Input VS1 should be 4-30V USER APPLICATION 1012 Digital Input INPUT SWI TCH VS1 Monitoring the position ofa Relay Relay contact causes Digital Input to report TRUE VS1 should be 4-30V K 1 USER APPLICATION 1012 Digital Input Monitoring the position ofa Relay Relay contact causes Digital Input to report TRUE VS1 should be 4-30V Monitoring the Position of a Relay INPUT C The relay contact causes the Digital Input to report TRUE. VSI should be 4-30V. USER 1012 APPLICATION Digital Input K 1 VS1 1 INPUT Functional Block Diagram Detail of Digital Input VS1 1012 Digital +5V The Digital Inputs are capable of sensing up to Input x1 30VDC. A voltage of 4VDC to 30VDC will Abe read as True or logical 1; below 1VDC will be read as 10K a False or logical 0. The input is high impedance, which means current flowing into the Phidget D device INPUT will be limited. Ground terminals are provided in 100K 100nF multiple locations along the input terminal strip; it 1 2 is recommended that the ground terminal located nearest the input terminal be used. 1012_1_Product_Manual created: 09/08/08 1 Page 10

Digital Input Hardware Filter There is built-in filtering on the digital input, to eliminate false triggering from electrical noise. The digital input is first RC filtered by a 15K/100nF node, which will reject noise of higher frequency than 1Khz. This filter generally eliminates the need to shield the digital input from inductive and capacitive coupling likely to occur in wiring harnesses. 3 4 Digital Outputs Detail of 1012 Digital Output Q1 N-MOSFET Avalanches at 60V Using the Digital Outputs Using Digital Output as a Low-side switch for a VS1 M ax Voltage 30V Maximum Continuous Current Sink is 2 Amps Load can be Relays, Solenoids, current limited LEDs, B USER 1012 Digital 1012 APPLICATION Output x1 Digital Output +5V OUTPUT Using Digital TRUEOutput as a Lowside switch for a OUTPUT load Q1 Load Maximum Continuous current sink is 2 Amps. Load can be FALSE Relays, Solenoids, current 3 limited LEDs, Bulbs, Motors, etc. 4 VS1 Detail of 1012 Digital Output Q1 N-MOSFET Avalanches at 60V Using Digital Output as a Low-side switch for a load VS1 M ax Voltage 30V Maximum Continuous Current Sink is 2 Amps Load can be Relays, Solenoids, current limited LEDs, Bulbs, M otors TRUE FALSE +5V 1012 Digital Output x1 OUTPUT Q1 1012 Functional Block Diagram USER APPLICATION Digital The Digital Outputs require Output an external voltage source to supply power, and act as a switch to ground. The outputs can sink up to 2A at 30V, and are designed OUTPUT to operate with DC voltage only. This type of switching output is often referred to as a low-side switch. It is common to use the Digital Load Outputs with electrical devices such as motors, lamps, relays, and solenoids. When using ground terminals, it is recommended that the ground VS1 terminal located nearest the output terminal be used. If highly inductive loads are used with the Digital Outputs, the use of a clamping diode is recommended to reduce noise. Ground Protection Ground terminals on the InterfaceKit share a common ground with USB ground. Because they are not internally isolated, these terminals will expose the USB ground potential of the PC 1012_1_Product_Manual created: 09/08/08 Page 11

to which they are connected. Be sure you are completely familiar with any circuit you intend to connect to the InterfaceKit before it is connected. If a reverse voltage or dangerously high potential is applied to the input or output terminals, damage to the Phidget or the PC may result. Limit input and output voltages to 30VDC, and always observe correct polarity. API Section We document API Calls specific to the 1012. Functions common to all Phidgets, and functions not applicable to the 1012 are not covered here. This section is deliberately generic - for calling conventions in a specific language, refer to that languages API manual. Functions int InputCount() [get] : Constant = 16 Returns the number of digital inputs supported by this PhidgetInterfaceKit. bool InputState(int InputIndex) [get] Returns the state of a particular digital input. Digital inputs read True where they are activated and false when they are in their default state. int OutputCount() [get] : Constant = 16 Returns the number of digital outputs supported by this PhidgetInterfaceKit. bool OutputState (int OutputIndex) [get,set] Sets/returns the state of a digital output. Setting this to true will activate the output, False is the default state. Reading the OutputState immediately after setting it will not return the value set - it will return the last state reported by the Phidget. Events OnInputChange(int InputIndex, bool State) [event] An event that is issued when the state of a digital input changes. OnOutputChange(int OutputIndex, bool State), [event] An event that is issued when the state of a digital output changes. 1012_1_Product_Manual created: 09/08/08 Page 12

Device Specifications Digital Input Impedance (-0.5V to +5.5V) Digital Input Impedance (>5.5V) 110kΩ 10kΩ Digital Output Impedance (on) 0.2Ω Digital Input Update Rate Digital Input Minimum Event Detection Time 125 Updates/second 3mS Digital Output Update Rate Digital Output Current Sinking (30V) 125 Updates/second 2A max USB Power Current Specification Device Quiescent Current Consumption Device Active Current Consumption 500mA max 18mA 120mA max Mechanical Drawing 1:1 scale Product History Date Product Revision Comment January 2003 DeviceVersion 600 Product Release January 2004 DeviceVersion 601 Added State Echoing September 2008 Board Rev 1 Added Digital Input Filtering 1012_1_Product_Manual created: 09/08/08 Page 13