Difference between revisions of "1010 User Guide"

From Phidgets Support
Jump to: navigation, search
(Getting Started)
 
(23 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
__NOINDEX__
 +
<metadesc>This Phidget InterfaceKit ideal product for OEMs and Systems Integrators. The small DIP-36 package will plug right into your own designed board.</metadesc>
 +
 
[[Category:UserGuide]]
 
[[Category:UserGuide]]
{{UserguideTOC|1010.jpg|1010}}
 
 
==Getting Started==
 
==Getting Started==
 +
{{UGIntro|1010}}
 +
*[{{SERVER}}/products.php?product_id=1010 1010 Phidget InterfaceKit]
 +
*USB cable and computer
 +
*breadboard/prototyping board
 +
*something to use with the 1010 (e.g. LEDs, switches, analog sensors, etc.)
  
In order to use the 1010, you must be comfortable with designing your own circuit.  You will need to understand the “signals” coming from and going to the 1010.
 
  
If you are not familiar with Phidgets, we recommend purchasing a [[1018 User Guide|1018]] to familiarize yourself with Phidget concepts before attempting to design the 1010 into your system.
+
Next, you will need to connect the pieces:
 +
[[Image:1010_0_Connecting_The_Hardware.jpg|400px|right|link=]]
 +
#Plug the 1010 into the prototyping board.
 +
#Connect any/all test hardware to the 1010. View the pinout in the [[#Technical_Details|technical section]] for help.
 +
#Connect the 1010 to the computer using the USB cable.
 +
<br clear="all">
  
Here is an example of a small board we have built for internal testing purposes.  We have some LEDs, 2 relays, a power jack, and a couple of connectors.
+
{{UGIntroDone|1010}}
  
[[File:1010_0_Connecting_The_Hardware.jpg|300px|link=]]
 
  
The schematic for this board is available here:
+
==Using the 1010==
 +
{{UGcontrolpanel|1010}}
  
[http://www.phidgets.com/wiki/images/4/46/1010_EUE_P1_0.pdf]
+
{{ugVoltageInputSensor|1010_1018_1019}}
  
==Technical Details==
+
{{ugVoltageRatioSensor|1010_1018_1019}}
  
[[File:1010_0_PinOut.jpg|300px|link=]]
+
{{ugDigitalInput|1010_1018_1019|{{UGDigitalInputActiveLow}} }}
  
'''5V''' is the USB Power Supply - made available to your application if it requires a small amount of current (<400mA). All 5V pins are connected together internally.
+
{{ugDigitalOutput|1010_1018_1019|}}
  
'''GND''' is the USB Ground - all ground pins are connected together internally.
+
{{ugAddressingInformation}}
  
'''D+''' and '''D-''' are the differential USB data lines.
+
{{ugUsingYourOwnProgram|1010}}
  
'''IN0 - IN7''' are digital inputs. For more information, see the [[Digital Input Primer]].
+
==Technical Details==
  
'''OUT0 - OUT7''' are digital outputs. For more information, see the [[Digital Output Primer]].
+
[[File:1010_0_PinOut.jpg|left|link=|462x562px]]
 +
{| class="wikitable"
 +
| align="center" style="background:#f0f0f0;"|'''Pin'''
 +
| align="center" style="background:#f0f0f0;"|'''Description'''
 +
|-
 +
|align="center"|5V||USB Power Supply - made available to your application if it requires a small amount of current (<400mA). All 5V pins are connected together internally.
 +
|-
 +
|align="center"|GND||USB Ground - all ground pins are connected together internally.
 +
|-
 +
|align="center"|D+ and D-||differential USB data lines
 +
|-
 +
|align="center"|IN0 - IN7||digital inputs. For more information, see the [[Digital Input Primer]].
 +
|-
 +
|align="center"|OUT0 - OUT7||digital outputs. For more information, see the [[InterfaceKit Digital Outputs]] page.
 +
|-
 +
|align="center"|AIN0 - AIN7||analog inputs. For more information, see the [[Analog Input Primer]].
 +
|}
  
'''AIN0 - AIN7''' are analog inputs. For more information, see the [[Analog Input Primer]].
 
  
 
For dimensions, please refer to the Mechanical Drawing on the Product Page.
 
For dimensions, please refer to the Mechanical Drawing on the Product Page.
  
==API==
+
{{UGnext|}}
{{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 with respect to VCC (nominal 5V). Ratiometric <nowiki>=</nowiki> false configures the Analog Inputs to measure with respect 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| | }}
+
 
+
{{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|April 2011|0|902|Product Release}}
+

Latest revision as of 16:01, 17 October 2019


Getting Started

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

  • 1010 Phidget InterfaceKit
  • USB cable and computer
  • breadboard/prototyping board
  • something to use with the 1010 (e.g. LEDs, switches, analog sensors, etc.)


Next, you will need to connect the pieces:

1010 0 Connecting The Hardware.jpg
  1. Plug the 1010 into the prototyping board.
  2. Connect any/all test hardware to the 1010. View the pinout in the technical section for help.
  3. Connect the 1010 to the computer using the USB cable.


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


Using the 1010

Phidget Control Panel

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

First Look

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

1010 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

1010 0 PinOut.jpg
Pin Description
5V USB Power Supply - made available to your application if it requires a small amount of current (<400mA). All 5V pins are connected together internally.
GND USB Ground - all ground pins are connected together internally.
D+ and D- differential USB data lines
IN0 - IN7 digital inputs. For more information, see the Digital Input Primer.
OUT0 - OUT7 digital outputs. For more information, see the InterfaceKit Digital Outputs page.
AIN0 - AIN7 analog inputs. For more information, see the Analog Input Primer.


For dimensions, please refer to the Mechanical Drawing on the Product Page.

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.