1011 User Guide: Difference between revisions

From Phidgets Support
No edit summary
(21 intermediate revisions by 5 users not shown)
Line 1: Line 1:
__NOINDEX__
<metadesc>This Phidget InterfaceKit USB Dongle has 2 Analog Inputs, 2 Digital Inputs and 2 Digital Outputs. Ideal when when space is limited.</metadesc>
[[Category:UserGuide]]
[[Category:UserGuide]]
{{UserguideTOC|1011.jpg|1011}}
==Getting Started==
==Getting Started==
{{UGIntro|1011}}
*[{{SERVER}}/products.php?product_id=1011 1011 Phidget InterfaceKit] and [{{SERVER}}/products.php?product_id=3013 12-Wire Custom Cable]
*computer
*something to use with the 1011 (e.g. LEDs, switches, analog sensor, etc.)


===Checking the Contents===
{{UGbox|
'''You should have received:'''
* A PhidgetInterfaceKit 2/2/2 board
* A 12-Wire Cable
|
'''In order to test your new Phidget you will also need:'''
* An LED to test the digital outputs.
* An Analog Sensor to test the analog inputs.
* A sensor cable.
* A piece of wire or a switch to test the digital inputs.
||}}
===Connecting the Pieces===
{{UGbox|
# Connect the 12-Wire cable to the PhidgetInterfaceKit 2/2/2.
# Plug the PhidgetInterfaceKit 2/2/2 into a USB port on your computer.
# Connect the Analog Sensor to an analog input female connector using a Phidgets sensor cable. We are using both connectors since we are plugging in a Temperature/Humidity Sensor.
# If you are using a wire, connect one end of your wire to the yellow wire (Digital Input 0) and the other end to the black wire (Ground). If you are using a switch, connect the black wire to the switch ground terminal, and connect the yellow wire to one of the switched terminals.
# Connect the LED by soldering the long LED leg (Anode) to the Green Wire (Digital Output 0) and the shorter leg (cathode) to the black wire (Ground).
|
[[File:1011_0_Connecting_The_Hardware.jpg|400px|link=]]
||}}
===Testing Using Windows 2000 / XP / Vista / 7===


{{UGwin}}
Next, you will need to connect the pieces:
[[Image:1011_0_Connecting_The_Hardware.jpg|500px|right|link=]]
#Connect the 12-Wire Custom Cable to the 1011
#Connect any/all test hardware to the 1011. View the [[#Technical_Details|technical section]] for help.
#Connect the 1010 to the computer.
<br clear="all">
{{UGIntroDone|1011}}
==Using the 1011==


===Running Phidgets Sample Program===
{{UGcontrolpanel|1011}}


{{UGwin2|'''InterfaceKit-Full'''}}
{{ugVoltageInputSensor|1011}}


{{UGbox6|
{{ugVoltageRatioSensor|1011}}
Double Click on the [[File:Ph.jpg|link=]] icon to activate the Phidget Control Panel and make sure that the Phidget InterfaceKit 2/2/2  is properly attached  to your PC.
|[[File:1011_0_Control_Panel_Screen.jpg|400px|link=]]
|
# Double Click on PhidgetInterfaceKit 2/2/2 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 white 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 wire. The tick mark in the box will go away. If you are using a switch, turn the switch on and off, and the tick mark in the box will appear and go away.
# Click on the Ratiometric Box if your sensor is ratiometric. Check the sensor product manual if you are not sure.
# The data from your sensor is displayed in the Analog In boxes.
# You can adjust the input sensitivity by moving the slider pointer. This is the amount that an input must change to trigger an event that will modify the value in the Analog In box.
# Click on Sensors to launch the Advanced Sensor Form.
|[[File:1011_0_InterfaceKit_Screen.jpg|400px|link=]]
|
# In the drop down menu, select the Sensor you have attached to the analog input port 0 of the 1018. In our case we select the "1125  - Temperature/Humidity Sensor".
# The ambient temperature and humidity is shown here.
# Formula used to convert SensorValue into Temperature or Humidity
|[[File:1011_0_Advanced_Sensor_Screen.jpg|400px|link=]]
}}


===Testing Using Mac OS X===
{{ugDigitalInput|1011|{{UGDigitalInputActiveLow}}}}


{{UGmac|Phidget InterfaceKit 2/2/2|InterfaceKit-Full}}
{{ugDigitalOutput|1011|}}


===Using Linux===
{{ugAddressingInformation}}


{{UGlinux}}
{{ugUsingYourOwnProgram|1011}}
 
===Using Windows Mobile / CE 5.0 / CE 6.0===
 
{{UGce}}


==Technical Details==
==Technical Details==
[[File:1011_0_Connector_Diagram.jpg|500px|link=|center]]


===I/O Wiring Diagram===
[[File:1011_0_Connector_Diagram.jpg|500px|link=]]


===Replacing the I/O Interface Cable===
===Replacing the I/O Interface Cable===


If your I/O interface cable gets damaged, you can remove it and replace it with 3013 - PhidgetInterfaceKit 2/2/2 Replacement Cable. Pull hard on the connector until it comes out.   
If your I/O interface cable gets damaged, you can remove it and replace it with [{{SERVER}}/products.php?product_id=3013 PhidgetInterfaceKit 2/2/2 replacement cable]. Pull hard on the connector until it comes out.   
*Note: the cable is designed to be permanently attached to the 1011. We strongly recommend that you limit the number of times you remove the assembly from the 1011.


You can also remove individual wires from the cable if they are not needed. Detach the wire assembly from the 1011, delicately pry up the plastic tab with a small flat-head screwdriver, and pull out the wire. This should only be done for wires that you never plan on needing as it is very easy to break the plastic tab.


'''Warning:''' The cable has been designed to be permanently attached to the 1011.  We strongly recommend that you limit the number of times you remove the wire assembly from the 1011 to as few times as possible since repeated removals and insertions will eventually damage both connectors.
These connectors are also commonly available. Their part numbers are listed below:
 
{| class="wikitable"
These connectors are commonly available- their part numbers are listed below. For part numbers on the analog sensor cables, see the mechanical section of the [[Analog Input Primer#Mechanical Specifications|Analog Input Primer]].
|align="center" style="background:#f0f0f0;"|'''Manufacturer'''  
 
|align="center" style="background:#f0f0f0;"|'''Part Number'''
 
|align="center" style="background:#f0f0f0;"|'''Description'''
{| style="border:1px solid darkgray;" cellpadding="7px;"
|+'''Cable Connectors'''
|-style="background: #d1d1d1" align=center
! Manufacturer|| Part Number || Description
|-
|-
|style="background: #f0f0f0" align=center| Hirose Electric
|align=center| Hirose Electric
|style="background: #f0f0f0" align=center| DF11-12DP-2DS(24)  
|align=center| DF11-12DP-2DS(24)  
|style="background: #f0f0f0" align=left  | 2mm Double-Row Connector (Right Angle Pin Header)
|align=left  | 2mm Double-Row Connector (Right Angle Pin Header)
|-
|-
|style="background: #f0f0f0" align=center| Hirose Electric  
|align=center| Hirose Electric  
|style="background: #f0f0f0" align=center| DF11-12DS-2C  
|align=center| DF11-12DS-2C  
|style="background: #f0f0f0" align=left  | 2mm Double-Row Connector (Crimping Socket)
|align=left  | 2mm Double-Row Connector (Crimping Socket)
|}
|}


 
For part numbers on the analog sensor cables, see the mechanical section of the [[Analog Input Primer#Mechanical Specifications|Analog Input Primer]].
Note: Most of the above components can be bought at [http://www.digikey.com www.digikey.com].
<br clear=all>


===Further Reading===
===Further Reading===


If you want to know more about the input/output capabilities of the 1011 InterfaceKit, check the [[Digital Input Primer]], [[Digital Output Primer]], and the [[Analog Input Primer]].
If you want to know more about the input/output capabilities of the 1011 InterfaceKit, check the [[Digital Input Primer]], [[InterfaceKit Digital Outputs]] page, and the [[Analog Input Primer]].
 
==API==
{{UGapih}}
 
===Functions===
{{UGapi|int InputCount() [get] : Constant <nowiki>=</nowiki> 2
|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> 2
|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> 2
|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.
}}
 
{{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==
{{UGnext|}}
{{UGhist}}
{{UGrow|April 2011|0|100|Product Release}}
{{UGrow|May 2011  |0|101|getLabelString fix for lables > 7 characters}}

Revision as of 16:02, 17 October 2019


Getting Started

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


Next, you will need to connect the pieces:

1011 0 Connecting The Hardware.jpg
  1. Connect the 12-Wire Custom Cable to the 1011
  2. Connect any/all test hardware to the 1011. View the technical section for help.
  3. Connect the 1010 to the computer.


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

Using the 1011

Phidget Control Panel

In order to demonstrate the functionality of the 1011, 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 1011.

First Look

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

1011 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:

1011 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:

1011 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:

1011 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:

1011 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

1011 0 Connector Diagram.jpg


Replacing the I/O Interface Cable

If your I/O interface cable gets damaged, you can remove it and replace it with PhidgetInterfaceKit 2/2/2 replacement cable. Pull hard on the connector until it comes out.

  • Note: the cable is designed to be permanently attached to the 1011. We strongly recommend that you limit the number of times you remove the assembly from the 1011.


These connectors are also commonly available. Their part numbers are listed below:

Manufacturer Part Number Description
Hirose Electric DF11-12DP-2DS(24) 2mm Double-Row Connector (Right Angle Pin Header)
Hirose Electric DF11-12DS-2C 2mm Double-Row Connector (Crimping Socket)

For part numbers on the analog sensor cables, see the mechanical section of the Analog Input Primer.

Further Reading

If you want to know more about the input/output capabilities of the 1011 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.