1019 User Guide: Difference between revisions

From Phidgets Support
No edit summary
(23 intermediate revisions by 3 users not shown)
Line 1: Line 1:
__NOINDEX__
<metadesc>This Phidget InterfaceKit has digital inputs, digital outputs, analog inputs, and an on-board powered 6-port full-speed (12Mbit/s) USB hub.</metadesc>
[[Category:UserGuide]]
[[Category:UserGuide]]
{{UserguideTOC|1019.jpg|1019}}
==Getting Started==
==Getting Started==
{{UGIntro|1019}}
*[{{SERVER}}/products.php?product_id=1019 1019 Phidget InterfaceKit]
*USB cable and computer
*power supply
*something to use with the 1019 (e.g. LEDs, switches, analog sensors, etc.)


===Checking the Contents===
{{UGbox|
'''You should have received:'''
* The PhidgetInterfaceKit 8/8/8 w/6 Port Hub
* A Mini-USB cable
* A Power Supply
|
'''In order to test your new Phidget you will also need:'''
* A piece of wire to test the digital inputs
* An LED to test the digital outputs
* An analog Sensor to test the analog inputs
* A Phidget to test the USB Port Hub
* A  USB Cable
||}}


===Connecting the Pieces===
Next, you will need to connect the pieces:
{{UGbox|
[[Image:1019_1_Connecting_the_Hardware.jpg|500px|right|link=]]
# Connect the Analog Sensor to the analog input port 3 using a Phidgets sensor cable.
# Connect any sensors to the voltage inputs on the 1019.
# Connect the 1019 - PhidgetInterfaceKit to the PC using the USB cable.
# Connect the 1019 to the computer using a USB cable.
# Connect one end of the wire to digital input port 0 and the other end to the ground connector.
# Connect a switch or a piece of wire connecting ground to one of the digital input terminals.
# Connect the LED by inserting the longer LED wire into the digital output port 7 and the shorter wire to Ground.
# Connect an LED to one of the digital outputs by inserting the long LED wire into the digital output 0 and the shorter wire into ground.
# Connect the Power Supply to the InterfaceKit board
# Connect the power supply to the barrel jack.
# You can also connect a power supply to the Terminal Block. Be sure to observe correct polarity.
# If your power supply does not have a barrel connector, you can connect the wires to the terminal block beside the jack. Be careful to observe correct polarity when connecting the power supply's cables.
# Connect the other Phidget to the InterfaceKit board using a USB cable.
# You can connect other USB devices to the USB hub.
|
<br clear="all">
[[File:1019_1_Connecting_the_Hardware.jpg|400px|link=]]
{{UGIntroDone|1019}}
||}}


===Testing Using Windows 2000 / XP / Vista / 7===
==Using the 1019==


{{UGwin}}
{{UGcontrolpanel|1019}}


===Running Phidgets Sample Program===
{{ugVoltageInputSensor|1010_1018_1019}}


{{UGwin2|'''InterfaceKit-full'''}}
{{ugVoltageRatioSensor|1010_1018_1019}}


{{UGbox6|
{{ugDigitalInput|1010_1018_1019|{{UGDigitalInputActiveLow}}}}
Double Click on the [[File:Ph.jpg|link=]] icon located on the right hand corner of the Task Bar to activate the Phidget Control Panel. Make sure that both the '''1019 - Phidget InterfaceKit 8/8/8''' and the other Phidget plugged into it are properly connected to your PC.
|[[File:1019_1_Control_Panel_Screen.jpg|400px|link=]]
|
# Double Click on the first '''Phidget InterfaceKit 8/8/8''' in the Phidget Control Panel to bring up InterfaceKit-full and check that the box labelled Attached contains the word True.
# Test the digital output by clicking on the box to turn on the LED. Clicking again will turn the LED off. The bottom row shows the status of the request, while the top row displays the status of the digital output as reported by the device.
# Test the digital input by disconnecting the wire end connected to the digital input. connector. The tick mark in the box will go away.
# Click on the Ratiometric Box if your sensor is ratiometric. Check the sensor product manual if you are not sure.
# Test the analog input sensor by observing the sensor value as you activate the Phidget  sensor.
# You can adjust the input sensitivity by moving the slider pointer.
# Click on Sensors to launch the Advanced Sensor Form.
| [[File:1019_1_InterfaceKit_Screen.jpg|400px|link=]]
|
# In the drop down menu, select the Sensor you have attached to the analog input port 3 of the1019.  In our case we select the 1124 - Precision Temperature Sensor.
# The ambient temperature sensed by the 1124.
# Formula used to convert the analog input sensorval into temperature


'''Note:''' If you have connected a sensor that uses a formula, the calculated value and the formula are displayed under the drop down menu.
{{ugDigitalOutput|1010_1018_1019|}}
|[[File:1018 1 Advanced Sensor Screen.jpg|400px|link=]]
}}


===Testing Using Mac OS X===
{{ugAddressingInformation}}


{{UGmac|Phidget InterfaceKit 8/8/8|InterfaceKit-full}}
{{ugUsingYourOwnProgram|1019}}
 
===Using Linux===
 
{{UGlinux}}
 
===Using Windows Mobile / CE 5.0 / CE 6.0===
 
{{UGce}}


==Technical Details==
==Technical Details==
===Powering the PhidgetInterfaceKit===
===Powering the PhidgetInterfaceKit===
The PhidgetInterfaceKit with 6-port Hub is not powered from the PC-USB bus. An external 6 - 15V supply must used to power the PhidgetInterfaceKit and any attached USB devices. However, the USB hub will not actually be powered until a USB connection is made.  The reason for this is that the voltage regulator chip on the 1019 is what routes power to the hub, and it gets its power from the USB line. The 1019 will consume a maximum of 10mA from the USB host cable - allowing it to be directly connected to small hosts that do not provide full USB power.
The 1019 is not powered from the PC-USB bus. An external 6-15V supply must used to power the 1019 and any attached USB devices. However, the USB hub will not actually be powered until a USB connection is made.  The reason for this is that the voltage regulator chip on the 1019 is what routes power to the hub, and it gets its power from the USB line. The 1019 will consume a maximum of 10mA from the USB host cable - allowing it to be directly connected to small hosts that do not provide full USB power.


Connecting additional USB devices to the PhidgetInterfaceKit is as easy as plugging them into the on-board 6-port hub.  Each USB port on the hub has a maximum current supply of 500mA.  Ensure the power supply selected has a high enough current output to supply the required current to all external USB devices as well as the PhidgetInterfaceKit and any sensors or devices connected to it.  The worst case requirement is 3 Watts input power per USB device. A 24 Watt 12VDC / 2 Amp power supply is provided with the 1019 - more than sufficient.
Connecting additional USB devices to the 1019 is as easy as plugging them into the on-board 6-port hub.  Each USB port on the hub has a maximum current supply of 500mA.  Ensure the power supply selected has a high enough current output to supply the required current to all external USB devices as well as the 1019 and any sensors or devices connected to it.  The worst case requirement is 3 Watts input power per USB device. A 24 Watt 12VDC / 2 Amp power supply would be more than sufficient.


The USB Hub actually has 7 ports, but only 6 of them are used for connecting additional devices since one port is dedicated to the internal 8/8/8 InterfaceKit.
The USB Hub actually has 7 ports, but only 6 of them are used for connecting additional devices since one port is dedicated to the internal 8/8/8 InterfaceKit.
Line 84: Line 49:


To summarize the power distribution of this board:
To summarize the power distribution of this board:
* Each USB port has 500 mA available
* Each USB port has 500 mA available
* All analog inputs share a total of 500 mA
* All analog inputs share a total of 500 mA
Line 91: Line 55:


===Connections===
===Connections===
The ports and terminal blocks on this board are labelled on the underside to save space:
The ports and terminal blocks on this board are labelled on the underside to save space:
[[File:1019_1_Under.jpg|link=|400px|center]]


[[File:1019_1_Under.jpg|link=|400px]]


===Chaining the USB Hubs===
===Chaining the USB Hubs===
The 1019 follows USB specifications and can be daisy chained to the maximum hub depth of 5. A sixth PhidgetInterfaceKit with a hub plugged into the fifth hub will not be usable at all because the InterfaceKit portion is connected after the hub. However, other Phidgets plugged into the fifth hub will operate normally.
The 1019 follows USB specifications and can be daisy chained to the maximum hub depth of 5. A sixth 1019 with a hub plugged into the fifth hub will not be usable at all because the 1019 portion is connected after the hub. However, other Phidgets plugged into the fifth hub will operate normally.


===Further Reading===
===Further Reading===
If you want to know more about the input/output capabilities of the 1019 InterfaceKit, check the [[Digital Input Primer]], [[InterfaceKit Digital Outputs]] page, and the [[Analog Input Primer]].


If you want to know more about the input/output capabilities of the 1019 InterfaceKit, check the [[Digital Input Primer]], [[Digital Output Primer]], and the [[Analog Input Primer]].
{{UGnext|}}
 
==API==
{{UGapih}}
 
===Functions===
{{UGapi|int InputCount() [get] : Constant <nowiki>=</nowiki> 8
|Returns the number of digital inputs supported by this PhidgetInterfaceKit.
}}
 
{{UGapi|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.
}}
 
{{UGapi|int OutputCount() [get] : Constant <nowiki>=</nowiki> 8
|Returns the number of digital outputs supported by this PhidgetInterfaceKit.
}}
 
{{UGapi|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.
}}
 
{{UGapi|int SensorCount() [get] : Constant <nowiki>=</nowiki> 8
|Returns the number of sensors (Analog Inputs) supported by this PhidgetInterfaceKit.  Note that there is no way of determining is a sensor is attached, and what sensor is attached.
}}
 
{{UGapi|int SensorValue(int SensorIndex) [get]
|Returns the sensed value of a particular Analog Input.  SensorValue varies between 0-1000, corresponding to the 0-5V input range of the Analog Input. If you are using an Analog Sensor from Phidgets Inc., it’s manual will specify the formula used to convert SensorValue into the measured property.
}}
 
{{UGapi|int SensorRawValue (int SensorIndex) [get]
|Returns the full resolution of the Analog Input.  This is a more accurate version of SensorValue.  The valid range is 0-4095. Note however that the analog outputs on the Interface Kit 8/8/8 are only 10-bit values and this value represents an oversampling to 12-bit.
}}
 
{{UGapi|double SensorChangeTrigger (int SensorIndex) [get,set]
|Returns the change trigger for an analog input. This is the amount that an inputs must change between successive SensorChangeEvents. This is based on the 0-1000 range provided by getSensorValue. This value is by default set to 10 for most Interface Kits with analog inputs. SensorChangeTrigger is sometimes referred to as sensitivity.
}}
 
{{UGapi|int DataRate (int SensorIndex) [get,set]
|Gets/sets the data rate for an analog input. This is corresponds to the fastest rate at which SensorChange events will be fired. The data rate is superseded by SensorChangeTrigger, which can be set to   0 if a constant data rate is required. Data Rate is in milliseconds and corresponds to the amount of time between events. Data Rate is bounded by DataRateMax and DataRateMin. The analog inputs cannot all be set to the fastest data rate at the same time - if this is attempted, an exception will be thrown when the data bandwidth has been exceeded. For data rates less then the maximum, data is still sampled at the maximum speed, and averaged between events for the user. Supported data rates are: 1, 2, 4, 8, and every multiple of 8 until DataRateMin. Setting an unsupported data rate (ie. 3, 9, 17) will result in a thrown exception. Note that data rate is limited to 16ms when opening over the Phidget Webservice.
}}
 
{{UGapi|int DataRateMax (int SensorIndex) [get]
|The maximum data rate that can be set for an analog input, in milliseconds.
}}
 
{{UGapi|int DataRateMin (int SensorIndex) [get]
|The minimum data rate that can be set for an analog input, in milliseconds. This is usually 1000.
}}
 
{{UGapi|bool Ratiometric() [get,set]
|Sets/returns the state of Ratiometric. Ratiometric <nowiki>=</nowiki> true configures the Analog Inputs to measure relative to VCC (nominal 5V). Ratiometric <nowiki>=</nowiki> false configures the Analog Inputs to measure relative to an internal precision 5V reference. Ratiometric is not updated from the Phidget.  It is recommended to explicitly set Ratiometric when the Interfacekit is opened. After changing the ratiometric state, wait until the ratiometric property matches what was set before reading analog data.
}}
 
===Events===
{{UGapi|OnInputChange(int InputIndex, bool State) [event]
|An event that is issued when the state of a digital input changes.
}}
 
{{UGapi|OnOutputChange(int OutputIndex, bool State),  [event]
|An event that is issued when the state of a digital output changes.
}}
 
{{UGapi|OnSensorChange(int SensorIndex, int SensorValue),  [event]
|An event that is issued when the returned value from a sensor (Analog Input) varies by more than the SensorChangeTrigger property.
}}
 
==Product History==
{{UGhist}}
{{UGrow|January 2009 |0|826|Product Release}}
{{UGrow|November 2011|1|902|Replace USB connector with Mini-USB connector. Configurable data sampling speed. Smaller PCB size.}}
{{UGrow|November 2011|1|904|getLabelString fixed for labels longer than 7 characters.}}

Revision as of 16:05, 17 October 2019


Getting Started

Welcome to the 1019 user guide! In order to get started, make sure you have the following hardware on hand:

  • 1019 Phidget InterfaceKit
  • USB cable and computer
  • power supply
  • something to use with the 1019 (e.g. LEDs, switches, analog sensors, etc.)


Next, you will need to connect the pieces:

1019 1 Connecting the Hardware.jpg
  1. Connect any sensors to the voltage inputs on the 1019.
  2. Connect the 1019 to the computer using a USB cable.
  3. Connect a switch or a piece of wire connecting ground to one of the digital input terminals.
  4. Connect an LED to one of the digital outputs by inserting the long LED wire into the digital output 0 and the shorter wire into ground.
  5. Connect the power supply to the barrel jack.
  6. If your power supply does not have a barrel connector, you can connect the wires to the terminal block beside the jack. Be careful to observe correct polarity when connecting the power supply's cables.
  7. You can connect other USB devices to the USB hub.


Now that you have everything together, let's start using the 1019!

Using the 1019

Phidget Control Panel

In order to demonstrate the functionality of the 1019, the Phidget Control Panel running on a Windows machine will be used.


The Phidget Control Panel is available for use on both macOS and Windows machines.

Windows

To open the Phidget Control Panel on Windows, find the Ph.jpg icon in the taskbar. If it is not there, open up the start menu and search for Phidget Control Panel

Windows PhidgetTaskbar.PNG

macOS

To open the Phidget Control Panel on macOS, open Finder and navigate to the Phidget Control Panel in the Applications list. Double click on the Ph.jpg icon to bring up the Phidget Control Panel.


For more information, take a look at the getting started guide for your operating system:


Linux users can follow the getting started with Linux guide and continue reading here for more information about the 1019.

First Look

After plugging the 1019 into your computer and opening the Phidget Control Panel, you will see something like this:

1019 Panel.jpg


The Phidget Control Panel will list all connected Phidgets and associated objects, as well as the following information:

  • Serial number: allows you to differentiate between similar Phidgets.
  • Channel: allows you to differentiate between similar objects on a Phidget.
  • Version number: corresponds to the firmware version your Phidget is running. If your Phidget is listed in red, your firmware is out of date. Update the firmware by double-clicking the entry.


The Phidget Control Panel can also be used to test your device. Double-clicking on an object will open an example.

Voltage Input

Double-click on a Voltage Input object in order to run the example:

1010 1018 1019 VoltageInputSensor Example.jpg


General information about the selected object will be displayed at the top of the window. You can also experiment with the following functionality:

  • Modify the change trigger and/or data interval value by dragging the sliders. For more information on these settings, see the data interval/change trigger page.
  • If you have an analog sensor connected that you bought from us, you can select it from the Sensor Type drop-down menu. The example will then convert the voltage into a more meaningful value based on your sensor, with units included, and display it beside the Sensor Value label. Converting voltage to a Sensor Value is not specific to this example, it is handled by the Phidget libraries, with functions you have access to when you begin developing!


For more information about Voltage Inputs, check out the Voltage Input Primer.

Voltage Ratio Input

Double-click on a Voltage Ratio Input object in order to run the example:

1010 1018 1019 VoltageRatioSensor Example.jpg


General information about the selected object will be displayed at the top of the window. You can also experiment with the following functionality:

  • The voltage ratio is reported in Volts per Volt. For example, if the Phidget is providing 5V and the sensor is sending back 2.5V, the ratio will be 0.5V/V.
  • Modify the change trigger and/or data interval value by dragging the sliders. For more information on these settings, see the data interval/change trigger page.
  • If you have an analog sensor connected that you bought from us, you can select it from the Sensor Type drop-down menu. The example will then convert the voltage into a more meaningful value based on your sensor, with units included, and display it beside the Sensor Value label. Converting voltage to a Sensor Value is not specific to this example, it is handled by the Phidget libraries, with functions you have access to when you begin developing!


For more information about Voltage Ratio Inputs, check out the Voltage Ratio Input Primer.

Digital Input

Double-click on a Digital Input object in order to run the example:

1010 1018 1019 DigitalInput Example.jpg

General information about the selected object will be displayed at the top of the window. You can also experiment with the following functionality:

  • This is an active-low device, therefore, it will be true when connected to ground, and false when connected to a high voltage.

For more information about Digital Inputs, take a look at the Digital Input Primer

Digital Output

Double-click on a Digital Output object in order to run the example:

1010 1018 1019 DigitalOutput Example.jpg


General information about the selected object will be displayed at the top of the window. You can also experiment with the following functionality:

  • Toggle the state of the digital output by pressing the button.

Finding The Addressing Information

Before you can access the device in your own code, and from our examples, you'll need to take note of the addressing parameters for your Phidget. These will indicate how the Phidget is physically connected to your application. For simplicity, these parameters can be found by clicking the button at the top of the Control Panel example for that Phidget.

The locate Phidget button is found in the device information box

In the Addressing Information window, the section above the line displays information you will need to connect to your Phidget from any application. In particular, note the Channel Class field as this will be the API you will need to use with your Phidget, and the type of example you should use to get started with it. The section below the line provides information about the network the Phidget is connected on if it is attached remotely. Keep track of these parameters moving forward, as you will need them once you start running our examples or your own code.

All the information you need to address your Phidget

Using Your Own Program

You are now ready to start writing your own code for the device. The best way to do that is to start from our Code Samples.

Select your programming language of choice from the drop-down list to get an example for your device. You can use the options provided to further customize the example to best suit your needs.

Code Sample Choose Language.png


Once you have your example, you will need to follow the instructions on the page for your programming language to get it running. To find these instructions, select your programming language from the Programming Languages page.

Technical Details

Powering the PhidgetInterfaceKit

The 1019 is not powered from the PC-USB bus. An external 6-15V supply must used to power the 1019 and any attached USB devices. However, the USB hub will not actually be powered until a USB connection is made. The reason for this is that the voltage regulator chip on the 1019 is what routes power to the hub, and it gets its power from the USB line. The 1019 will consume a maximum of 10mA from the USB host cable - allowing it to be directly connected to small hosts that do not provide full USB power.

Connecting additional USB devices to the 1019 is as easy as plugging them into the on-board 6-port hub. Each USB port on the hub has a maximum current supply of 500mA. Ensure the power supply selected has a high enough current output to supply the required current to all external USB devices as well as the 1019 and any sensors or devices connected to it. The worst case requirement is 3 Watts input power per USB device. A 24 Watt 12VDC / 2 Amp power supply would be more than sufficient.

The USB Hub actually has 7 ports, but only 6 of them are used for connecting additional devices since one port is dedicated to the internal 8/8/8 InterfaceKit.

The USB Hub is a full-speed hub with a transfer rate of 12Mbits/second. We chose to go with a full speed implementation since it is fast enough to handle traffic from Phidgets; an added benefit is lower power consumption.

To summarize the power distribution of this board:

  • Each USB port has 500 mA available
  • All analog inputs share a total of 500 mA
  • The digital outputs, +5V terminals, USB controller, and pull-ups all share a total of 500 mA
  • The power inbound from the USB line does not contribute to any of the above

Connections

The ports and terminal blocks on this board are labelled on the underside to save space:

1019 1 Under.jpg


Chaining the USB Hubs

The 1019 follows USB specifications and can be daisy chained to the maximum hub depth of 5. A sixth 1019 with a hub plugged into the fifth hub will not be usable at all because the 1019 portion is connected after the hub. However, other Phidgets plugged into the fifth hub will operate normally.

Further Reading

If you want to know more about the input/output capabilities of the 1019 InterfaceKit, check the Digital Input Primer, InterfaceKit Digital Outputs page, and the Analog Input Primer.

What to do Next

  • Programming Languages - Find your preferred programming language here and learn how to write your own code with Phidgets!
  • Phidget Programming Basics - Once you have set up Phidgets to work with your programming environment, we recommend you read our page on to learn the fundamentals of programming with Phidgets.