1018 User Guide: Difference between revisions

From Phidgets Support
No edit summary
No edit summary
 
(27 intermediate revisions by 4 users not shown)
Line 1: Line 1:
__NOINDEX__
__NOTOC__
<metadesc>The Phidgets workhorse. Connect sensors, control outputs, and read in digital inputs.</metadesc>
[[Category:UserGuide]]
[[Category:UserGuide]]
==Part 1: Setup==
<div class="phd-deck-sequence">
{{PT1_1018_CHOOSE}}
{{PT1_1018_WIN}}{{PT1_1018_MAC}}{{PT1_1018_LNX}}
</div>


==Getting Started==
== Part 2: Using Your Phidget ==


===Checking the Contents===
===About===
{{UGbox|
The 1018 PhidgetInterfaceKit 8/8/8 has:
'''You should have received:'''
* '''8 Digital Inputs''' for reading switches or logic-level sensors
* A PhidgetInterfaceKit 8/8/8 board
* '''8 Digital Outputs''' for LEDs or simple logic-level output
* A Mini-USB Cable
* '''8 Analog Inputs''' for reading 0-5V sensors
|
'''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.
||}}


===Connecting the Pieces===
Each analog port can be opened as a '''VoltageInput''' or a '''VoltageRatioInput''' object, depending on what kind of sensor you're connecting to.
{{UGbox|
# Connect the Analog Sensor to the analog input port 6 using a Phidgets sensor cable. The analog ports are numbered from 0 to 7 starting from the left.
# Connect the InterfaceKit board to the PC using the Mini-USB cable.
# Connect one end of the wire to digital input port 0 and the other end to the ground  connection.
# Connect the LED by inserting the long LED wire into the digital output 0 and the shorter wire into Ground.
|[[File:1018_2_Connecting_The_Hardware.jpg|400px|link=]]
||}}


===Testing Using Windows 2000 / XP / Vista / 7===
===Explore Your Phidget Channels Using The Control Panel===


{{UGwin}}
You can use your Control Panel to explore your Phidget's channels.


===Running Phidgets Sample Program===
'''1.''' Open your Control Panel, and you will find the following channels:


{{UGwin2|'''InterfaceKit-full'''}}
[[Image:1018_Panel.jpg|link=|center]]


{{UGbox6|
'''2.''' Double click on a channel to open an example program. Each channel belongs to the '''Digital Input''', '''Digital Output''', '''Voltage Input''' or '''Voltage Ratio Input''' channel class:
Double Click on the [[File:Ph.jpg|link=]] icon to activate the Phidget Control Panel and make sure that the Phidget InterfaceKit 8/8/8  is properly attached  to your PC. 
|[[File:1018_2_Control_Panel_Screen.jpg|400px|link=]]
|
# Double Click on '''PhidgetInterfaceKit 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 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 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 by activating your sensor and check your results in Analog In number 6.
# 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:1018_2_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 1129 - Touch Sensor.
# The state of the Touch Sensor is shown here.


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


===Testing Using Mac OS X===
{{UGC-Entry|Digital Input:| Read the state of a switch
|
In your Control Panel, double click on "Digital Input":


{{UGmac|Phidget InterfaceKit 8/8/8|InterfaceKit-full }}
[[Image:1018-DigitalInput.jpg|center|link=]]}}


===Using Linux===
{{UGC-Entry|Digital Output:| Control LEDs, relays, digital circuits, and other simple electronics
|
In your Control Panel, double click on "Digital Output":


{{UGlinux}}
[[Image:1018-DigitalOutput.jpg|center|link=]]}}


===Using Windows Mobile / CE 5.0 / CE 6.0===
{{UGC-Entry|Voltage Input:| Non-ratiometric Analog sensors and monitoring 5V digital circuits
|
In your Control Panel, double click on "Voltage Input":


{{UGce}}
[[Image:1018-VoltageInput.jpg|center|link=]]}}


==Technical Details==
{{UGC-Entry|Voltage Ratio Input:| Analog ratiometric sensors
|
In your Control Panel, double click on "Voltage Ratio Input":


If you want to know more about the input/output capabilities of the 1018 InterfaceKit, check the [[Digital Input Primer]], [[Digital Input Primer]], and the [[Analog Input Primer]].
[[Image:1018-VoltageRatioInput.jpg|center|link=]]}}


==API==
{{UGC-End}}
{{UGapih}}


===Functions===
{{UG-Part3}}
{{UGapi|int InputCount() [get] : Constant <nowiki>=</nowiki> 8
|Returns the number of digital inputs supported by this PhidgetInterfaceKit.
}}


{{UGapi|bool InputState(int InputIndex) [get]
== Part 4: Advanced Topics and Troubleshooting ==
|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.
{{UGC-Start}}
{{UGC-Addressing}}
{{UGC-Graphing}}
{{UGC-DataInterval}}
{{UGC-Firmware}}
{{UGC-Entry|Analog Inputs||
If you want to know more about the capabilities of the analog inputs on this device, check the [[Analog Input Guide]].
}}
}}
 
{{UGC-Entry|Digital Inputs||
{{UGapi|int OutputCount() [get] : Constant <nowiki>=</nowiki> 8
If you want to know more about the capabilities of the digital inputs on this device, check the [[Digital Input Guide]].
|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.
}}
}}
 
{{UGC-Entry|Digital Outputs||
{{UGapi|int SensorRawValue (int SensorIndex) [get]
If you want to know more about the capabilities of the digital outputs on this device, check the [[InterfaceKit Digital Outputs]].
|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==
{{UGC-End}}
{{UGhist}}
{{UGrow|July 2007    |0|824|Product Release}}
{{UGrow|September 2007|0|825|SPI Overclocking issue fixed}}
{{UGrow|May 2008      |1|826|Added RC Filtering to Digital Inputs, PCB X Dimension increased to 3.27” }}
{{UGrow|April 2010    |2|900|Configurable data sampling speed. Replace USB connector with Mini-USB connector }}

Latest revision as of 19:57, 1 June 2023


Part 1: Setup

PhidgetInterfaceKit 8/8/8 - Select OS

PhidgetInterfaceKit 8/8/8

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

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

Select your Operating System:

«
»

PhidgetInterfaceKit 8/8/8 - Windows

Step 1: Install Phidgets Library

Step 2: Connect Devices

Step 3: Verify Connection

Step 1: Install Phidgets Library

Before you begin using your Phidgets, you will need to install the Phidget Library.

1. Download the installer for your system:

● 32-bit Installer Download

● 64-bit Installer Download

If you're unsure which one you should get, press ⊞ WIN + Pause/Break:

Before installing our libraries, be sure to read our Software License.

Step 1: Install Phidgets Library

2. Open the download. If it asks you for permission, select Run

Step 1: Install Phidgets Library

3a. Select Next

Step 1: Install Phidgets Library

3b. Read the Licence Agreement. Select Next.

Step 1: Install Phidgets Library

3c. Choose Installation Location. Select Next.

Step 1: Install Phidgets Library

3d. Confirm Install

Step 1: Install Phidgets Library

3e. Wait for Installation to complete. This should only take a few moments.

Step 1: Install Phidgets Library

3f. Installation Complete. Close installation Window.

Step 2: Connect Devices

● Connect USB Cable to your computer and PhidgetInterfaceKit

● Connect any sensors or LEDs you want to use

Step 3: Verify Connection

1. Open the Phidgets Control Panel:

If your Control Panel does not open, look in your taskbar. Double click the Phidget Icon.

Step 3: Verify Connection

2. If connected, your Phidgets will appear in the Phidget Control Panel.

Done!

If you're able to see and interact with your devices in the Phidget Control Panel, you're done with the Setup part of this guide.

Scroll down to Part 2: Using Your Phidget for the next step.


For more help installing in Windows (e.g. manual install, using a VM, etc.), visit this page:

Windows Advanced Information

«
»

PhidgetInterfaceKit 8/8/8 - MacOS

Step 1: Install Phidgets Library

Step 2: Connect Devices

Step 3: Verify Connection

Step 1: Install Phidgets Library

Before you begin using your Phidgets, you will need to install the Phidget Library.

1. Download the installer for your system:

● OS X 10.11+: Installer Download

● Mac OS X 10.7 - OS X 10.10: Installer Download

● Mac OS X 10.5 - OS X 10.6: Installer Download


Before installing our libraries, be sure to read our Software License.

Step 1: Install Phidgets Library

2. Open the download and double click on Phidgets.pkg

Step 1: Install Phidgets Library

3a. Select Continue

Step 1: Install Phidgets Library

3b. Read and continue. Read the License and click Agree.

Step 1: Install Phidgets Library

3c. Here, you have the option to select the installation location. Select Install to continue.

Step 1: Install Phidgets Library

3d. MacOS may ask for permission to install. Enter your username and password and Install Software.

Step 1: Install Phidgets Library

3e. Wait for Installation to complete. This should only take a few moments.

Step 1: Install Phidgets Library

3f. You may see a message that the extension has been blocked. Select Open Security Preferences.

Step 1: Install Phidgets Library

3g. Beside the message for Phidgets Inc, Click Allow.

Step 1: Install Phidgets Library

3h. Installation Complete, Click Close.

Step 1: Install Phidgets Library

3i. To delete the installer, click Move to Trash.

Step 2: Connect Devices

● Connect USB Cable to your computer and PhidgetInterfaceKit

● Connect any sensors or LEDs you want to use

Step 3: Verify Connection

1. Open the Phidgets Control Panel:

Step 3: Verify Connection

2. If connected, your Phidgets will appear in the Phidget Control Panel.

Done!

If you're able to see and interact with your devices in the Phidget Control Panel, you're done with the Setup part of this guide.

Scroll down to Part 2: Using Your Phidget for the next step.


For more info installing in MacOS (e.g. developer tools, driver extension, etc.), visit this page:

MacOS Advanced Information

«
»

Phidget InterfaceKit 8/8/8 - Linux

Step 1: Install Phidgets Library

Step 2: Connect Devices

Step 3: Verify Connection

Step 1: Install Phidgets Library

1. First, you need to install the libusb-1.0 development libraries. For example, in Debian based distributions:

apt-get install libusb-1.0-0-dev


You’ll also need a C compiler and builder, if you don’t already have one installed.

apt-get install gcc
apt-get install make

Step 1: Install Phidgets Library

2. Next, download and unpack the Phidgets library:

libphidget22

Step 1: Install Phidgets Library

3. Use the following commands in the location you unpacked to install the library:

./configure
make
sudo make install

Step 1: Install Phidgets Library

4. (Optional) You can also download and unpack the following optional packages:

phidget22networkserver - Phidget Network Server, which enables the use of Phidgets over your network

phidget22admin - Admin tool to track who is connected to your Phidgets when using the network server

libphidget22extra - Required for phidget22networkserver and phidget22admin

libphidget22java - The Java libraries for Phidget22


For installation instructions for these packages, see the README file included with each one.

Step 2: Connect Devices

● Connect USB Cable to your computer and PhidgetInterfaceKit

● Connect any sensors or LEDs you want to use

Step 3: Verify Connection

1. The easiest way to verify that your libraries are working properly is to compile and run an example program. Download and unpack this C example that will detect any Phidget:

HelloWorld C Example

Step 3: Verify Connection

2. Next, open the terminal in the location where you unpacked the example. Compile and run using:

gcc HelloWorld.c -o HelloWorld -lphidget22
sudo ./HelloWorld

ou should receive a “Hello” line for each Phidget channel that is discovered:

I don’t see any Phidgets show up in the HelloWorld example

You need to run it with sudo in order to be able to access USB devices. In order to use Phidgets without sudo, you need to set your udev rules. See the Advanced Information page on the final slide of this guide for details.

Done!

If you're able to see your devices in the Hello World example, you're done with the Setup part of this guide.

Scroll down to Part 2: Using Your Phidget for the next step.


For more info installing in Linux (e.g. Udev rules, old versions, etc.), visit this page:

Linux Advanced Information

«
»

Part 2: Using Your Phidget

About

The 1018 PhidgetInterfaceKit 8/8/8 has:

  • 8 Digital Inputs for reading switches or logic-level sensors
  • 8 Digital Outputs for LEDs or simple logic-level output
  • 8 Analog Inputs for reading 0-5V sensors

Each analog port can be opened as a VoltageInput or a VoltageRatioInput object, depending on what kind of sensor you're connecting to.

Explore Your Phidget Channels Using The Control Panel

You can use your Control Panel to explore your Phidget's channels.

1. Open your Control Panel, and you will find the following channels:

1018 Panel.jpg

2. Double click on a channel to open an example program. Each channel belongs to the Digital Input, Digital Output, Voltage Input or Voltage Ratio Input channel class:

Expand All
Digital Input: Read the state of a switch

In your Control Panel, double click on "Digital Input":

1018-DigitalInput.jpg
Digital Output: Control LEDs, relays, digital circuits, and other simple electronics

In your Control Panel, double click on "Digital Output":

1018-DigitalOutput.jpg
Voltage Input: Non-ratiometric Analog sensors and monitoring 5V digital circuits

In your Control Panel, double click on "Voltage Input":

1018-VoltageInput.jpg
Voltage Ratio Input: Analog ratiometric sensors

In your Control Panel, double click on "Voltage Ratio Input":

1018-VoltageRatioInput.jpg

Part 3: Create your Program

1. Setting up your Programming Environment

2. Phidget Programming Basics

Part 4: Advanced Topics and Troubleshooting

Expand All
How do I know what channel, serial number, or hub port to use in my program?

Before you open a Phidget channel in your program, you can set these properties to specify which channel to open. You can find this information through the Control Panel.

1. Open the Control Panel and double-click on the red map pin icon:

The locate Phidget button is found in the device information box

2. The Addressing Information window will open. Here you will find all the information you need to address your Phidget in your program.

All the information you need to address your Phidget


See the Phidget22 API for your language to determine exact syntax for each property.

How can I plot or record sensor data?

Note: Graphing and logging is currently only supported in the Windows version of the Phidget Control Panel.

In the Phidget Control Panel, open the channel for your device and click on the Plot.jpg icon next to the data type that you want to plot. This will open up a new window:

Plot2.jpg

If you need more complex functionality such as logging multiple sensors to the same sheet or performing calculations on the data, you'll need to write your own program. Generally this will involve addressing the correct channel, opening it, and then creating an Event Handler and adding graphing/logging code to it.

The quickest way to get started is to download some sample code for your desired programming language and then search google for logging or plotting in that language (e.g. "how to log to csv in python") and add the code to the existing change handler.

Filtering

You can perform filtering on the raw data in order to reduce noise in your graph. For more information, see the Control Panel Graphing page.

Graph Type

You can perform a transform on the incoming data to get different graph types that may provide insights into your sensor data. For more information on how to use these graph types, see the Control Panel Graphing page.

Setting the Change Trigger and Data Interval

The Change Trigger is the minimum change in the sensor data needed to trigger a new data event.

The Data Interval is the time (in ms) between data events sent out from your Phidget.

The Data Rate is the reciprocal of Data Interval (measured in Hz), and setting it will set the reciprocal value for Data Interval and vice-versa.

You can modify one or both of these values to achieve different data outputs. You can learn more about these properties here.

Upgrading or Downgrading Device Firmware

Firmware Upgrade

MacOS users can upgrade device firmware by double-clicking the device row in the Phidget Control Panel.

Linux users can upgrade via the phidget22admin tool (see included readme for instructions).

Windows users can upgrade the firmware for this device using the Phidget Control Panel as shown below.

ControlpanelFWup.jpg

Firmware Downgrade

Firmware upgrades include important bug fixes and performance improvements, but there are some situations where you may want to revert to an old version of the firmware (for instance, when an application you're using is compiled using an older version of phidget22 that doesn't recognize the new firmware).

MacOS and Linux users can downgrade using the phidget22admin tool in the terminal (see included readme for instructions).

Windows users can downgrade directly from the Phidget Control Panel if they have driver version 1.9.20220112 or newer:

ControlpanelFWdown.jpg

Firmware Version Numbering Schema

Phidgets device firmware is represented by a 3-digit number. For firmware patch notes, see the device history section on the Specifications tab on your device's product page.

FWversion.jpg

  • If the digit in the 'ones' spot changes, it means there have been bug fixes or optimizations. Sometimes these changes can drastically improve the performance of the device, so you should still upgrade whenever possible. These upgrades are backwards compatible, meaning you can still use this Phidget on a computer that has Phidget22 drivers from before this firmware upgrade was released.
  • If the digit in the 'tens' spot changes, it means some features were added (e.g. new API commands or events). These upgrades are also backwards compatible, in the sense that computers running old Phidget22 drivers will still be able to use the device, but they will not be able to use any of the new features this version added.
  • If the digit in the 'hundreds' spot changes, it means a major change has occurred (e.g. a complete rewrite of the firmware or moving to a new architecture). These changes are not backwards compatible, so if you try to use the upgraded board on a computer with old Phidget22 drivers, it will show up as unsupported in the Control Panel and any applications build using the old libraries won't recognize it either. Sometimes, when a Phidget has a new hardware revision (e.g. 1018_2 -> 1018_3), the firmware version's hundreds digit will change because entirely new firmware was needed (usually because a change in the processor). In this case, older hardware revisions won't be able to be upgraded to the higher version number and instead continue to get bug fixes within the same major revision.
Analog Inputs

If you want to know more about the capabilities of the analog inputs on this device, check the Analog Input Guide.

Digital Inputs

If you want to know more about the capabilities of the digital inputs on this device, check the Digital Input Guide.

Digital Outputs

If you want to know more about the capabilities of the digital outputs on this device, check the InterfaceKit Digital Outputs.