<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.phidgets.com/docs21/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mparadis</id>
	<title>Phidgets Legacy Support - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.phidgets.com/docs21/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mparadis"/>
	<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/Special:Contributions/Mparadis"/>
	<updated>2026-04-10T12:05:59Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=4-20mA_Sensor_Interface_Primer&amp;diff=24118</id>
		<title>4-20mA Sensor Interface Primer</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=4-20mA_Sensor_Interface_Primer&amp;diff=24118"/>
		<updated>2018-10-22T19:42:19Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Primer]]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- valign=middle&lt;br /&gt;
| align=center width=300px| __TOC__ &lt;br /&gt;
| [[Image:1132_0.jpg|400px|link=]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
A 4-20mA sensor interface is a small device that adapts a 2-wire 4-20mA sensor&#039;s output to an analog output. &lt;br /&gt;
&lt;br /&gt;
Normally, 4-20mA sensors are intended for industrial use and are difficult to use with a computer. &lt;br /&gt;
However, with a 4-20mA sensor interface and a Phidgets Interface Kit (or any device with an {{LinksNeeded|Analog Input port|[[Analog Input Primer]]}}), these sensors can be used as easily as an ordinary analog sensor.&lt;br /&gt;
&lt;br /&gt;
==How it works==&lt;br /&gt;
&lt;br /&gt;
Before understanding what the 4-20mA sensor interface does, it&#039;s useful to know how a 4-20mA sensor is different from an analog sensor. &lt;br /&gt;
&lt;br /&gt;
====4-20mA Sensors====&lt;br /&gt;
&lt;br /&gt;
[[Image:420Interface.png|400px|link=|thumb|Traditional setup for reading a 4-20mA sensor.&amp;lt;br/&amp;gt;[[Media:420Interface.png|Full-sized Image]]]]&lt;br /&gt;
&lt;br /&gt;
4-20mA is an electrical standard for connecting sensors to a &#039;&#039;&#039;data acquisition device&#039;&#039;&#039; (DAQ). A 4-20mA sensor has two wires. One wire is used to power the sensor, and the other is a ground. The sensor sends data to the DAQ in the form of the amount of current it consumes. For example, a 4-20mA velocity sensor might consume 4mA when it is sensing zero movement, and would output 20mA when the sensor is moving at the maximum velocity it can sense.  4-20mA sensors are usually expensive and intended for industrial purposes. There are often less expensive 0-5V analog versions available. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Advantages of a 4-20mA Sensor:&#039;&#039;&#039;&lt;br /&gt;
* You can use longer wires with a 4-20mA sensor, since the data values are sent in the form of current rather than voltage levels that drop off with distance. However, you should ensure that the minimum voltage required to power the sensor is present at the end of the wire. To check, use a multimeter to measure the voltage across the two wires connecting to the sensor, when the sensor is measuring it&#039;s maximum value (and therefore drawing close to 20mA of current). If the voltage is higher than the minimum required voltage of the sensor (found in the sensor&#039;s data sheet), then it should be fine. Please note that twisted pair wire is the best for these long wire applications.&lt;br /&gt;
&lt;br /&gt;
* 4-20mA sensors are less susceptible to electromagnetic interference (EMI) . This is because the data is sent in the form of current, which is less susceptible to EMI than voltage. &lt;br /&gt;
&lt;br /&gt;
* It is easier to tell when your system has failed with a 4-20mA sensor. When a 4-20mA sensor senses its minimum value, it consumes 4mA of current. If it ever consumes zero current, it means there is a broken wire or some other failure in the system. When a 0-5V sensor fails in this way, the data line would read zero volts, which could mean it&#039;s just sensing zero. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Disadvantages of a 4-20mA Sensor:&#039;&#039;&#039;&lt;br /&gt;
* Usually more expensive than 0-5V analog sensors&lt;br /&gt;
* 4-20mA sensors are not very efficient, because they only need 4mA to function, and any additional current draw exists solely to communicate the value it is sensing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When to use a 4-20mA Sensor:&#039;&#039;&#039;&lt;br /&gt;
* If you already own a 4-20mA sensor and don&#039;t want to buy an analog version&lt;br /&gt;
* You need to use a very long wire between the sensor and the power source&lt;br /&gt;
* The environment has a lot of electromagnetic interference&lt;br /&gt;
* The sensor is only available in the 4-20mA format&lt;br /&gt;
&lt;br /&gt;
====4-20mA Sensor Interface====&lt;br /&gt;
&lt;br /&gt;
Now that we&#039;ve covered how a 4-20mA sensor is different from a 0-5V analog sensor, the basic operation of a 4-20mA sensor interface should be clear. It simply powers the sensor and monitors the current consumption on the power line. It then converts the 4-20mA value to a 0-5V analog signal at its output. &lt;br /&gt;
&lt;br /&gt;
===Basic Use===&lt;br /&gt;
&lt;br /&gt;
[[Image:420InterfacePhidgets.png|400px|link=|thumb|Reading a 4-20mA sensor with Phidgets.&amp;lt;br/&amp;gt;[[Media:420InterfacePhidgets.png|Full-sized Image]]]]&lt;br /&gt;
&lt;br /&gt;
Using a 4-20mA sensor interface with Phidgets is very simple. Simple connect the positive wire of the sensor to the +15V output on the 4-20mA interface, and connect the ground wire of the sensor to the ground wire of the interface. Then, the analog output of the 4-20mA interface can be read by any interface kit with an {{LinksNeeded|Analog Input port|[[Analog Input Primer]]}}, which can send the value to your computer via USB. Check the sensor&#039;s data sheet to determine how your program should interpret the data it is receiving. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Using a 24V 4-20mA Sensor with Phidgets====&lt;br /&gt;
&lt;br /&gt;
[[Image:420InterfacePhidget24V.png|400px|link=|thumb|Reading a 24-volt 4-20mA sensor with Phidgets.&amp;lt;br/&amp;gt;[[Media:420InterfacePhidget24V.png|Full-sized Image]]]]&lt;br /&gt;
&lt;br /&gt;
The Phidgets 4-20mA interface can only supply the sensor with 15V. If you need to use a 24V sensor, you can still use a 4-20mA interface as long as you have an external 24V power supply. Connect the wires as shown in the diagram. The +15V terminal of the 4-20mA interface remains unused, but don&#039;t worry, the interface won&#039;t draw power that it doesn&#039;t need.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=USB_Webcam_Primer&amp;diff=24117</id>
		<title>USB Webcam Primer</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=USB_Webcam_Primer&amp;diff=24117"/>
		<updated>2018-10-22T19:41:16Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Primer]]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- valign=middle&lt;br /&gt;
| align=center width=300px| __TOC__ &lt;br /&gt;
| {{SERVER}}/images/3402_0_Web.jpg&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Webcams come in many forms, but the USB ones usually come as UVC (USB Video Class) devices.  This primer gives a very brief overview of what they are and how to use them.&lt;br /&gt;
&lt;br /&gt;
==Advantages==&lt;br /&gt;
&lt;br /&gt;
The advantage of UVC devices is their cross-platform compatibility, especially within the various flavours of Linux.  &lt;br /&gt;
&lt;br /&gt;
*[http://en.wikipedia.org/wiki/USB_video_device_class Wikpedia] gives a good overview of their levels of compatibility&lt;br /&gt;
* Many devices other than the Phidget webcam use the same protocol, please refer to [http://www.ideasonboard.org/uvc/#devices a compatibility list]&lt;br /&gt;
&lt;br /&gt;
==Use==&lt;br /&gt;
&lt;br /&gt;
A UVC device should be truly plug and play.  Even on the [{{SERVER}}/products.php?product_id=1072 Phidget Single Board Computer], the drivers are already installed.  You can almost immediately begin using video capture programs on your operating system to record video or pictures.&lt;br /&gt;
&lt;br /&gt;
Examples include:&lt;br /&gt;
&lt;br /&gt;
* Capture from Windows media players and creators&lt;br /&gt;
* Use iMovie on Mac OS X&lt;br /&gt;
* Use Cheese on Linux ({{Code|sudo apt-get install cheese}})&lt;br /&gt;
&lt;br /&gt;
However, these programs are usually graphical programs which don&#039;t help if you want to use the webcam in code.&lt;br /&gt;
&lt;br /&gt;
===Code===&lt;br /&gt;
&lt;br /&gt;
Regardless of your platform, a good place to start is [http://docs.opencv.org/ OpenCV].  It is a library for C/C++ that focuses solely on processing images and video.  It also has bindings to other languages like Python.&lt;br /&gt;
&lt;br /&gt;
We also offer a programming example in C# to use the webcam:&lt;br /&gt;
&lt;br /&gt;
*[{{SERVER}}/downloads/misc/MJPEGDecoder.zip C# Program]&lt;br /&gt;
&lt;br /&gt;
Additional advice by operating system is below.&lt;br /&gt;
&lt;br /&gt;
====Phidget SBC====&lt;br /&gt;
&lt;br /&gt;
Any UVC webcam device should work interchangeably with any other UVC webcam device, So you don&#039;t have to use the Phidget one, you can find one that fits your needs. &lt;br /&gt;
&lt;br /&gt;
On our Single Board Computer (SBC) page, we give an example of how to use a UVC webcam to take pictures using the SBC and OpenCV in code:&lt;br /&gt;
*[[OS - Phidget SBC#Taking Pictures With the Webcam|Taking Pictures with the Webcam]]&lt;br /&gt;
&lt;br /&gt;
====Windows====&lt;br /&gt;
&lt;br /&gt;
On Windows, [http://docs.opencv.org/ OpenCV] is your best bet.&lt;br /&gt;
&lt;br /&gt;
====Linux====&lt;br /&gt;
&lt;br /&gt;
On full Linux systems, you can possibly use OpenCV, though there have been some problems on standard Ubuntu distributions.&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively, you can use the program {{Code|streamer}} which can then be used in code:&lt;br /&gt;
:{{Code|sudo apt-get install streamer}}&lt;br /&gt;
:{{Code|streamer -c /dev/video0 -b 16 -o output.jpg}}&lt;br /&gt;
&lt;br /&gt;
==Did You Know==&lt;br /&gt;
&lt;br /&gt;
The UVC standard outlines more than just picture taking - it can control pan, tilt, resolution, etc depending on the functionality for your camera.  This is how the Phidget SBC controls what resolution is displayed on its [[1072_User_Guide#SBC Web Interface|Web Interface]].  &lt;br /&gt;
&lt;br /&gt;
If you want to play with these advanced features, and you own an SBC, you can look at the scripts in {{Code|/var/www/}} on the SBC.&lt;br /&gt;
&lt;br /&gt;
[[File:sbc_gs_webcam.png|link=|alt=]]&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=4-20mA_Sensor_Interface_Primer&amp;diff=24116</id>
		<title>4-20mA Sensor Interface Primer</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=4-20mA_Sensor_Interface_Primer&amp;diff=24116"/>
		<updated>2018-10-22T19:40:22Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Primer]]&lt;br /&gt;
[[USB_Webcam_Primer#test]]&lt;br /&gt;
{|&lt;br /&gt;
|- valign=middle&lt;br /&gt;
| align=center width=300px| __TOC__ &lt;br /&gt;
| [[Image:1132_0.jpg|400px|link=]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
A 4-20mA sensor interface is a small device that adapts a 2-wire 4-20mA sensor&#039;s output to an analog output. &lt;br /&gt;
&lt;br /&gt;
Normally, 4-20mA sensors are intended for industrial use and are difficult to use with a computer. &lt;br /&gt;
However, with a 4-20mA sensor interface and a Phidgets Interface Kit (or any device with an {{LinksNeeded|Analog Input port|[[Analog Input Primer]]}}), these sensors can be used as easily as an ordinary analog sensor.&lt;br /&gt;
&lt;br /&gt;
==How it works==&lt;br /&gt;
&lt;br /&gt;
Before understanding what the 4-20mA sensor interface does, it&#039;s useful to know how a 4-20mA sensor is different from an analog sensor. &lt;br /&gt;
&lt;br /&gt;
====4-20mA Sensors====&lt;br /&gt;
&lt;br /&gt;
[[Image:420Interface.png|400px|link=|thumb|Traditional setup for reading a 4-20mA sensor.&amp;lt;br/&amp;gt;[[Media:420Interface.png|Full-sized Image]]]]&lt;br /&gt;
&lt;br /&gt;
4-20mA is an electrical standard for connecting sensors to a &#039;&#039;&#039;data acquisition device&#039;&#039;&#039; (DAQ). A 4-20mA sensor has two wires. One wire is used to power the sensor, and the other is a ground. The sensor sends data to the DAQ in the form of the amount of current it consumes. For example, a 4-20mA velocity sensor might consume 4mA when it is sensing zero movement, and would output 20mA when the sensor is moving at the maximum velocity it can sense.  4-20mA sensors are usually expensive and intended for industrial purposes. There are often less expensive 0-5V analog versions available. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Advantages of a 4-20mA Sensor:&#039;&#039;&#039;&lt;br /&gt;
* You can use longer wires with a 4-20mA sensor, since the data values are sent in the form of current rather than voltage levels that drop off with distance. However, you should ensure that the minimum voltage required to power the sensor is present at the end of the wire. To check, use a multimeter to measure the voltage across the two wires connecting to the sensor, when the sensor is measuring it&#039;s maximum value (and therefore drawing close to 20mA of current). If the voltage is higher than the minimum required voltage of the sensor (found in the sensor&#039;s data sheet), then it should be fine. Please note that twisted pair wire is the best for these long wire applications.&lt;br /&gt;
&lt;br /&gt;
* 4-20mA sensors are less susceptible to electromagnetic interference (EMI) . This is because the data is sent in the form of current, which is less susceptible to EMI than voltage. &lt;br /&gt;
&lt;br /&gt;
* It is easier to tell when your system has failed with a 4-20mA sensor. When a 4-20mA sensor senses its minimum value, it consumes 4mA of current. If it ever consumes zero current, it means there is a broken wire or some other failure in the system. When a 0-5V sensor fails in this way, the data line would read zero volts, which could mean it&#039;s just sensing zero. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Disadvantages of a 4-20mA Sensor:&#039;&#039;&#039;&lt;br /&gt;
* Usually more expensive than 0-5V analog sensors&lt;br /&gt;
* 4-20mA sensors are not very efficient, because they only need 4mA to function, and any additional current draw exists solely to communicate the value it is sensing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When to use a 4-20mA Sensor:&#039;&#039;&#039;&lt;br /&gt;
* If you already own a 4-20mA sensor and don&#039;t want to buy an analog version&lt;br /&gt;
* You need to use a very long wire between the sensor and the power source&lt;br /&gt;
* The environment has a lot of electromagnetic interference&lt;br /&gt;
* The sensor is only available in the 4-20mA format&lt;br /&gt;
&lt;br /&gt;
====4-20mA Sensor Interface====&lt;br /&gt;
&lt;br /&gt;
Now that we&#039;ve covered how a 4-20mA sensor is different from a 0-5V analog sensor, the basic operation of a 4-20mA sensor interface should be clear. It simply powers the sensor and monitors the current consumption on the power line. It then converts the 4-20mA value to a 0-5V analog signal at its output. &lt;br /&gt;
&lt;br /&gt;
===Basic Use===&lt;br /&gt;
&lt;br /&gt;
[[Image:420InterfacePhidgets.png|400px|link=|thumb|Reading a 4-20mA sensor with Phidgets.&amp;lt;br/&amp;gt;[[Media:420InterfacePhidgets.png|Full-sized Image]]]]&lt;br /&gt;
&lt;br /&gt;
Using a 4-20mA sensor interface with Phidgets is very simple. Simple connect the positive wire of the sensor to the +15V output on the 4-20mA interface, and connect the ground wire of the sensor to the ground wire of the interface. Then, the analog output of the 4-20mA interface can be read by any interface kit with an {{LinksNeeded|Analog Input port|[[Analog Input Primer]]}}, which can send the value to your computer via USB. Check the sensor&#039;s data sheet to determine how your program should interpret the data it is receiving. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Using a 24V 4-20mA Sensor with Phidgets====&lt;br /&gt;
&lt;br /&gt;
[[Image:420InterfacePhidget24V.png|400px|link=|thumb|Reading a 24-volt 4-20mA sensor with Phidgets.&amp;lt;br/&amp;gt;[[Media:420InterfacePhidget24V.png|Full-sized Image]]]]&lt;br /&gt;
&lt;br /&gt;
The Phidgets 4-20mA interface can only supply the sensor with 15V. If you need to use a 24V sensor, you can still use a 4-20mA interface as long as you have an external 24V power supply. Connect the wires as shown in the diagram. The +15V terminal of the 4-20mA interface remains unused, but don&#039;t worry, the interface won&#039;t draw power that it doesn&#039;t need.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=USB_Webcam_Primer&amp;diff=24115</id>
		<title>USB Webcam Primer</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=USB_Webcam_Primer&amp;diff=24115"/>
		<updated>2018-10-22T19:40:03Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Primer]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 C#=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=csharp&amp;gt;&lt;br /&gt;
  using Phidgets;&lt;br /&gt;
  using Phidgets.Events;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Java=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
import com.phidgets.*;&lt;br /&gt;
import com.phidgets.event.*;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 VB.Net=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=vbnet&amp;gt;&lt;br /&gt;
Public Class Form1&lt;br /&gt;
   &#039;The Phidget object declaration&lt;br /&gt;
		&lt;br /&gt;
   Dim WithEvents ifKit As Phidgets.InterfaceKit&lt;br /&gt;
		&lt;br /&gt;
   &#039;... Form1_Load and Form1_OnClosing here&lt;br /&gt;
End Class&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 C#=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=csharp&amp;gt;&lt;br /&gt;
  using Phidgets;&lt;br /&gt;
  using Phidgets.Events;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Java=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
import com.phidgets.*;&lt;br /&gt;
import com.phidgets.event.*;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 VB.Net=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=vbnet&amp;gt;&lt;br /&gt;
Public Class Form1&lt;br /&gt;
   &#039;The Phidget object declaration&lt;br /&gt;
		&lt;br /&gt;
   Dim WithEvents ifKit As Phidgets.InterfaceKit&lt;br /&gt;
		&lt;br /&gt;
   &#039;... Form1_Load and Form1_OnClosing here&lt;br /&gt;
End Class&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 C#=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=csharp&amp;gt;&lt;br /&gt;
  using Phidgets;&lt;br /&gt;
  using Phidgets.Events;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Java=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
import com.phidgets.*;&lt;br /&gt;
import com.phidgets.event.*;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 VB.Net=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=vbnet&amp;gt;&lt;br /&gt;
Public Class Form1&lt;br /&gt;
   &#039;The Phidget object declaration&lt;br /&gt;
		&lt;br /&gt;
   Dim WithEvents ifKit As Phidgets.InterfaceKit&lt;br /&gt;
		&lt;br /&gt;
   &#039;... Form1_Load and Form1_OnClosing here&lt;br /&gt;
End Class&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 C#=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=csharp&amp;gt;&lt;br /&gt;
  using Phidgets;&lt;br /&gt;
  using Phidgets.Events;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Java=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
import com.phidgets.*;&lt;br /&gt;
import com.phidgets.event.*;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 VB.Net=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=vbnet&amp;gt;&lt;br /&gt;
Public Class Form1&lt;br /&gt;
   &#039;The Phidget object declaration&lt;br /&gt;
		&lt;br /&gt;
   Dim WithEvents ifKit As Phidgets.InterfaceKit&lt;br /&gt;
		&lt;br /&gt;
   &#039;... Form1_Load and Form1_OnClosing here&lt;br /&gt;
End Class&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 C#=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=csharp&amp;gt;&lt;br /&gt;
  using Phidgets;&lt;br /&gt;
  using Phidgets.Events;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Java=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
import com.phidgets.*;&lt;br /&gt;
import com.phidgets.event.*;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 VB.Net=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=vbnet&amp;gt;&lt;br /&gt;
Public Class Form1&lt;br /&gt;
   &#039;The Phidget object declaration&lt;br /&gt;
		&lt;br /&gt;
   Dim WithEvents ifKit As Phidgets.InterfaceKit&lt;br /&gt;
		&lt;br /&gt;
   &#039;... Form1_Load and Form1_OnClosing here&lt;br /&gt;
End Class&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 C#=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=csharp&amp;gt;&lt;br /&gt;
  using Phidgets;&lt;br /&gt;
  using Phidgets.Events;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Java=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
import com.phidgets.*;&lt;br /&gt;
import com.phidgets.event.*;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 VB.Net=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=vbnet&amp;gt;&lt;br /&gt;
Public Class Form1&lt;br /&gt;
   &#039;The Phidget object declaration&lt;br /&gt;
		&lt;br /&gt;
   Dim WithEvents ifKit As Phidgets.InterfaceKit&lt;br /&gt;
		&lt;br /&gt;
   &#039;... Form1_Load and Form1_OnClosing here&lt;br /&gt;
End Class&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 C#=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=csharp&amp;gt;&lt;br /&gt;
  using Phidgets;&lt;br /&gt;
  using Phidgets.Events;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Java=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
import com.phidgets.*;&lt;br /&gt;
import com.phidgets.event.*;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 VB.Net=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=vbnet&amp;gt;&lt;br /&gt;
Public Class Form1&lt;br /&gt;
   &#039;The Phidget object declaration&lt;br /&gt;
		&lt;br /&gt;
   Dim WithEvents ifKit As Phidgets.InterfaceKit&lt;br /&gt;
		&lt;br /&gt;
   &#039;... Form1_Load and Form1_OnClosing here&lt;br /&gt;
End Class&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
==test==&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 C#=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=csharp&amp;gt;&lt;br /&gt;
  using Phidgets;&lt;br /&gt;
  using Phidgets.Events;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Java=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
import com.phidgets.*;&lt;br /&gt;
import com.phidgets.event.*;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 VB.Net=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=vbnet&amp;gt;&lt;br /&gt;
Public Class Form1&lt;br /&gt;
   &#039;The Phidget object declaration&lt;br /&gt;
		&lt;br /&gt;
   Dim WithEvents ifKit As Phidgets.InterfaceKit&lt;br /&gt;
		&lt;br /&gt;
   &#039;... Form1_Load and Form1_OnClosing here&lt;br /&gt;
End Class&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 C#=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=csharp&amp;gt;&lt;br /&gt;
  using Phidgets;&lt;br /&gt;
  using Phidgets.Events;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Java=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
import com.phidgets.*;&lt;br /&gt;
import com.phidgets.event.*;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 VB.Net=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=vbnet&amp;gt;&lt;br /&gt;
Public Class Form1&lt;br /&gt;
   &#039;The Phidget object declaration&lt;br /&gt;
		&lt;br /&gt;
   Dim WithEvents ifKit As Phidgets.InterfaceKit&lt;br /&gt;
		&lt;br /&gt;
   &#039;... Form1_Load and Form1_OnClosing here&lt;br /&gt;
End Class&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 C#=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=csharp&amp;gt;&lt;br /&gt;
  using Phidgets;&lt;br /&gt;
  using Phidgets.Events;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Java=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
import com.phidgets.*;&lt;br /&gt;
import com.phidgets.event.*;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 VB.Net=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=vbnet&amp;gt;&lt;br /&gt;
Public Class Form1&lt;br /&gt;
   &#039;The Phidget object declaration&lt;br /&gt;
		&lt;br /&gt;
   Dim WithEvents ifKit As Phidgets.InterfaceKit&lt;br /&gt;
		&lt;br /&gt;
   &#039;... Form1_Load and Form1_OnClosing here&lt;br /&gt;
End Class&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 C#=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=csharp&amp;gt;&lt;br /&gt;
  using Phidgets;&lt;br /&gt;
  using Phidgets.Events;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Java=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
import com.phidgets.*;&lt;br /&gt;
import com.phidgets.event.*;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 VB.Net=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=vbnet&amp;gt;&lt;br /&gt;
Public Class Form1&lt;br /&gt;
   &#039;The Phidget object declaration&lt;br /&gt;
		&lt;br /&gt;
   Dim WithEvents ifKit As Phidgets.InterfaceKit&lt;br /&gt;
		&lt;br /&gt;
   &#039;... Form1_Load and Form1_OnClosing here&lt;br /&gt;
End Class&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 C#=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=csharp&amp;gt;&lt;br /&gt;
  using Phidgets;&lt;br /&gt;
  using Phidgets.Events;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Java=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
import com.phidgets.*;&lt;br /&gt;
import com.phidgets.event.*;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 VB.Net=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=vbnet&amp;gt;&lt;br /&gt;
Public Class Form1&lt;br /&gt;
   &#039;The Phidget object declaration&lt;br /&gt;
		&lt;br /&gt;
   Dim WithEvents ifKit As Phidgets.InterfaceKit&lt;br /&gt;
		&lt;br /&gt;
   &#039;... Form1_Load and Form1_OnClosing here&lt;br /&gt;
End Class&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- valign=middle&lt;br /&gt;
| align=center width=300px| __TOC__ &lt;br /&gt;
| {{SERVER}}/images/3402_0_Web.jpg&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Webcams come in many forms, but the USB ones usually come as UVC (USB Video Class) devices.  This primer gives a very brief overview of what they are and how to use them.&lt;br /&gt;
&lt;br /&gt;
==Advantages==&lt;br /&gt;
&lt;br /&gt;
The advantage of UVC devices is their cross-platform compatibility, especially within the various flavours of Linux.  &lt;br /&gt;
&lt;br /&gt;
*[http://en.wikipedia.org/wiki/USB_video_device_class Wikpedia] gives a good overview of their levels of compatibility&lt;br /&gt;
* Many devices other than the Phidget webcam use the same protocol, please refer to [http://www.ideasonboard.org/uvc/#devices a compatibility list]&lt;br /&gt;
&lt;br /&gt;
==Use==&lt;br /&gt;
&lt;br /&gt;
A UVC device should be truly plug and play.  Even on the [{{SERVER}}/products.php?product_id=1072 Phidget Single Board Computer], the drivers are already installed.  You can almost immediately begin using video capture programs on your operating system to record video or pictures.&lt;br /&gt;
&lt;br /&gt;
Examples include:&lt;br /&gt;
&lt;br /&gt;
* Capture from Windows media players and creators&lt;br /&gt;
* Use iMovie on Mac OS X&lt;br /&gt;
* Use Cheese on Linux ({{Code|sudo apt-get install cheese}})&lt;br /&gt;
&lt;br /&gt;
However, these programs are usually graphical programs which don&#039;t help if you want to use the webcam in code.&lt;br /&gt;
&lt;br /&gt;
===Code===&lt;br /&gt;
&lt;br /&gt;
Regardless of your platform, a good place to start is [http://docs.opencv.org/ OpenCV].  It is a library for C/C++ that focuses solely on processing images and video.  It also has bindings to other languages like Python.&lt;br /&gt;
&lt;br /&gt;
We also offer a programming example in C# to use the webcam:&lt;br /&gt;
&lt;br /&gt;
*[{{SERVER}}/downloads/misc/MJPEGDecoder.zip C# Program]&lt;br /&gt;
&lt;br /&gt;
Additional advice by operating system is below.&lt;br /&gt;
&lt;br /&gt;
====Phidget SBC====&lt;br /&gt;
&lt;br /&gt;
Any UVC webcam device should work interchangeably with any other UVC webcam device, So you don&#039;t have to use the Phidget one, you can find one that fits your needs. &lt;br /&gt;
&lt;br /&gt;
On our Single Board Computer (SBC) page, we give an example of how to use a UVC webcam to take pictures using the SBC and OpenCV in code:&lt;br /&gt;
*[[OS - Phidget SBC#Taking Pictures With the Webcam|Taking Pictures with the Webcam]]&lt;br /&gt;
&lt;br /&gt;
====Windows====&lt;br /&gt;
&lt;br /&gt;
On Windows, [http://docs.opencv.org/ OpenCV] is your best bet.&lt;br /&gt;
&lt;br /&gt;
====Linux====&lt;br /&gt;
&lt;br /&gt;
On full Linux systems, you can possibly use OpenCV, though there have been some problems on standard Ubuntu distributions.&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively, you can use the program {{Code|streamer}} which can then be used in code:&lt;br /&gt;
:{{Code|sudo apt-get install streamer}}&lt;br /&gt;
:{{Code|streamer -c /dev/video0 -b 16 -o output.jpg}}&lt;br /&gt;
&lt;br /&gt;
==Did You Know==&lt;br /&gt;
&lt;br /&gt;
The UVC standard outlines more than just picture taking - it can control pan, tilt, resolution, etc depending on the functionality for your camera.  This is how the Phidget SBC controls what resolution is displayed on its [[1072_User_Guide#SBC Web Interface|Web Interface]].  &lt;br /&gt;
&lt;br /&gt;
If you want to play with these advanced features, and you own an SBC, you can look at the scripts in {{Code|/var/www/}} on the SBC.&lt;br /&gt;
&lt;br /&gt;
[[File:sbc_gs_webcam.png|link=|alt=]]&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=USB_Webcam_Primer&amp;diff=24114</id>
		<title>USB Webcam Primer</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=USB_Webcam_Primer&amp;diff=24114"/>
		<updated>2018-10-22T19:38:54Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Primer]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 C#=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=csharp&amp;gt;&lt;br /&gt;
  using Phidgets;&lt;br /&gt;
  using Phidgets.Events;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Java=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
import com.phidgets.*;&lt;br /&gt;
import com.phidgets.event.*;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 VB.Net=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=vbnet&amp;gt;&lt;br /&gt;
Public Class Form1&lt;br /&gt;
   &#039;The Phidget object declaration&lt;br /&gt;
		&lt;br /&gt;
   Dim WithEvents ifKit As Phidgets.InterfaceKit&lt;br /&gt;
		&lt;br /&gt;
   &#039;... Form1_Load and Form1_OnClosing here&lt;br /&gt;
End Class&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 C#=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=csharp&amp;gt;&lt;br /&gt;
  using Phidgets;&lt;br /&gt;
  using Phidgets.Events;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Java=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
import com.phidgets.*;&lt;br /&gt;
import com.phidgets.event.*;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 VB.Net=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=vbnet&amp;gt;&lt;br /&gt;
Public Class Form1&lt;br /&gt;
   &#039;The Phidget object declaration&lt;br /&gt;
		&lt;br /&gt;
   Dim WithEvents ifKit As Phidgets.InterfaceKit&lt;br /&gt;
		&lt;br /&gt;
   &#039;... Form1_Load and Form1_OnClosing here&lt;br /&gt;
End Class&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 C#=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=csharp&amp;gt;&lt;br /&gt;
  using Phidgets;&lt;br /&gt;
  using Phidgets.Events;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Java=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
import com.phidgets.*;&lt;br /&gt;
import com.phidgets.event.*;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 VB.Net=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=vbnet&amp;gt;&lt;br /&gt;
Public Class Form1&lt;br /&gt;
   &#039;The Phidget object declaration&lt;br /&gt;
		&lt;br /&gt;
   Dim WithEvents ifKit As Phidgets.InterfaceKit&lt;br /&gt;
		&lt;br /&gt;
   &#039;... Form1_Load and Form1_OnClosing here&lt;br /&gt;
End Class&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 C#=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=csharp&amp;gt;&lt;br /&gt;
  using Phidgets;&lt;br /&gt;
  using Phidgets.Events;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Java=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
import com.phidgets.*;&lt;br /&gt;
import com.phidgets.event.*;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 VB.Net=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=vbnet&amp;gt;&lt;br /&gt;
Public Class Form1&lt;br /&gt;
   &#039;The Phidget object declaration&lt;br /&gt;
		&lt;br /&gt;
   Dim WithEvents ifKit As Phidgets.InterfaceKit&lt;br /&gt;
		&lt;br /&gt;
   &#039;... Form1_Load and Form1_OnClosing here&lt;br /&gt;
End Class&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 C#=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=csharp&amp;gt;&lt;br /&gt;
  using Phidgets;&lt;br /&gt;
  using Phidgets.Events;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Java=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
import com.phidgets.*;&lt;br /&gt;
import com.phidgets.event.*;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 VB.Net=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=vbnet&amp;gt;&lt;br /&gt;
Public Class Form1&lt;br /&gt;
   &#039;The Phidget object declaration&lt;br /&gt;
		&lt;br /&gt;
   Dim WithEvents ifKit As Phidgets.InterfaceKit&lt;br /&gt;
		&lt;br /&gt;
   &#039;... Form1_Load and Form1_OnClosing here&lt;br /&gt;
End Class&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 C#=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=csharp&amp;gt;&lt;br /&gt;
  using Phidgets;&lt;br /&gt;
  using Phidgets.Events;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Java=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
import com.phidgets.*;&lt;br /&gt;
import com.phidgets.event.*;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 VB.Net=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=vbnet&amp;gt;&lt;br /&gt;
Public Class Form1&lt;br /&gt;
   &#039;The Phidget object declaration&lt;br /&gt;
		&lt;br /&gt;
   Dim WithEvents ifKit As Phidgets.InterfaceKit&lt;br /&gt;
		&lt;br /&gt;
   &#039;... Form1_Load and Form1_OnClosing here&lt;br /&gt;
End Class&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 C#=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=csharp&amp;gt;&lt;br /&gt;
  using Phidgets;&lt;br /&gt;
  using Phidgets.Events;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Java=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
import com.phidgets.*;&lt;br /&gt;
import com.phidgets.event.*;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 VB.Net=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=vbnet&amp;gt;&lt;br /&gt;
Public Class Form1&lt;br /&gt;
   &#039;The Phidget object declaration&lt;br /&gt;
		&lt;br /&gt;
   Dim WithEvents ifKit As Phidgets.InterfaceKit&lt;br /&gt;
		&lt;br /&gt;
   &#039;... Form1_Load and Form1_OnClosing here&lt;br /&gt;
End Class&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 C#=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=csharp&amp;gt;&lt;br /&gt;
  using Phidgets;&lt;br /&gt;
  using Phidgets.Events;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Java=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
import com.phidgets.*;&lt;br /&gt;
import com.phidgets.event.*;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 VB.Net=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=vbnet&amp;gt;&lt;br /&gt;
Public Class Form1&lt;br /&gt;
   &#039;The Phidget object declaration&lt;br /&gt;
		&lt;br /&gt;
   Dim WithEvents ifKit As Phidgets.InterfaceKit&lt;br /&gt;
		&lt;br /&gt;
   &#039;... Form1_Load and Form1_OnClosing here&lt;br /&gt;
End Class&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 C#=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=csharp&amp;gt;&lt;br /&gt;
  using Phidgets;&lt;br /&gt;
  using Phidgets.Events;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Java=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
import com.phidgets.*;&lt;br /&gt;
import com.phidgets.event.*;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 VB.Net=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=vbnet&amp;gt;&lt;br /&gt;
Public Class Form1&lt;br /&gt;
   &#039;The Phidget object declaration&lt;br /&gt;
		&lt;br /&gt;
   Dim WithEvents ifKit As Phidgets.InterfaceKit&lt;br /&gt;
		&lt;br /&gt;
   &#039;... Form1_Load and Form1_OnClosing here&lt;br /&gt;
End Class&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 C#=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=csharp&amp;gt;&lt;br /&gt;
  using Phidgets;&lt;br /&gt;
  using Phidgets.Events;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Java=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
import com.phidgets.*;&lt;br /&gt;
import com.phidgets.event.*;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 VB.Net=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=vbnet&amp;gt;&lt;br /&gt;
Public Class Form1&lt;br /&gt;
   &#039;The Phidget object declaration&lt;br /&gt;
		&lt;br /&gt;
   Dim WithEvents ifKit As Phidgets.InterfaceKit&lt;br /&gt;
		&lt;br /&gt;
   &#039;... Form1_Load and Form1_OnClosing here&lt;br /&gt;
End Class&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 C#=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=csharp&amp;gt;&lt;br /&gt;
  using Phidgets;&lt;br /&gt;
  using Phidgets.Events;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Java=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
import com.phidgets.*;&lt;br /&gt;
import com.phidgets.event.*;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 VB.Net=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=vbnet&amp;gt;&lt;br /&gt;
Public Class Form1&lt;br /&gt;
   &#039;The Phidget object declaration&lt;br /&gt;
		&lt;br /&gt;
   Dim WithEvents ifKit As Phidgets.InterfaceKit&lt;br /&gt;
		&lt;br /&gt;
   &#039;... Form1_Load and Form1_OnClosing here&lt;br /&gt;
End Class&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 C#=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=csharp&amp;gt;&lt;br /&gt;
  using Phidgets;&lt;br /&gt;
  using Phidgets.Events;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Java=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
import com.phidgets.*;&lt;br /&gt;
import com.phidgets.event.*;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 VB.Net=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=vbnet&amp;gt;&lt;br /&gt;
Public Class Form1&lt;br /&gt;
   &#039;The Phidget object declaration&lt;br /&gt;
		&lt;br /&gt;
   Dim WithEvents ifKit As Phidgets.InterfaceKit&lt;br /&gt;
		&lt;br /&gt;
   &#039;... Form1_Load and Form1_OnClosing here&lt;br /&gt;
End Class&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- valign=middle&lt;br /&gt;
| align=center width=300px| __TOC__ &lt;br /&gt;
| {{SERVER}}/images/3402_0_Web.jpg&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Webcams come in many forms, but the USB ones usually come as UVC (USB Video Class) devices.  This primer gives a very brief overview of what they are and how to use them.&lt;br /&gt;
&lt;br /&gt;
==Advantages==&lt;br /&gt;
&lt;br /&gt;
The advantage of UVC devices is their cross-platform compatibility, especially within the various flavours of Linux.  &lt;br /&gt;
&lt;br /&gt;
*[http://en.wikipedia.org/wiki/USB_video_device_class Wikpedia] gives a good overview of their levels of compatibility&lt;br /&gt;
* Many devices other than the Phidget webcam use the same protocol, please refer to [http://www.ideasonboard.org/uvc/#devices a compatibility list]&lt;br /&gt;
&lt;br /&gt;
==Use==&lt;br /&gt;
&lt;br /&gt;
A UVC device should be truly plug and play.  Even on the [{{SERVER}}/products.php?product_id=1072 Phidget Single Board Computer], the drivers are already installed.  You can almost immediately begin using video capture programs on your operating system to record video or pictures.&lt;br /&gt;
&lt;br /&gt;
Examples include:&lt;br /&gt;
&lt;br /&gt;
* Capture from Windows media players and creators&lt;br /&gt;
* Use iMovie on Mac OS X&lt;br /&gt;
* Use Cheese on Linux ({{Code|sudo apt-get install cheese}})&lt;br /&gt;
&lt;br /&gt;
However, these programs are usually graphical programs which don&#039;t help if you want to use the webcam in code.&lt;br /&gt;
&lt;br /&gt;
===Code===&lt;br /&gt;
&lt;br /&gt;
Regardless of your platform, a good place to start is [http://docs.opencv.org/ OpenCV].  It is a library for C/C++ that focuses solely on processing images and video.  It also has bindings to other languages like Python.&lt;br /&gt;
&lt;br /&gt;
We also offer a programming example in C# to use the webcam:&lt;br /&gt;
&lt;br /&gt;
*[{{SERVER}}/downloads/misc/MJPEGDecoder.zip C# Program]&lt;br /&gt;
&lt;br /&gt;
Additional advice by operating system is below.&lt;br /&gt;
&lt;br /&gt;
====Phidget SBC====&lt;br /&gt;
&lt;br /&gt;
Any UVC webcam device should work interchangeably with any other UVC webcam device, So you don&#039;t have to use the Phidget one, you can find one that fits your needs. &lt;br /&gt;
&lt;br /&gt;
On our Single Board Computer (SBC) page, we give an example of how to use a UVC webcam to take pictures using the SBC and OpenCV in code:&lt;br /&gt;
*[[OS - Phidget SBC#Taking Pictures With the Webcam|Taking Pictures with the Webcam]]&lt;br /&gt;
&lt;br /&gt;
====Windows====&lt;br /&gt;
&lt;br /&gt;
On Windows, [http://docs.opencv.org/ OpenCV] is your best bet.&lt;br /&gt;
&lt;br /&gt;
====Linux====&lt;br /&gt;
&lt;br /&gt;
On full Linux systems, you can possibly use OpenCV, though there have been some problems on standard Ubuntu distributions.&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively, you can use the program {{Code|streamer}} which can then be used in code:&lt;br /&gt;
:{{Code|sudo apt-get install streamer}}&lt;br /&gt;
:{{Code|streamer -c /dev/video0 -b 16 -o output.jpg}}&lt;br /&gt;
&lt;br /&gt;
==Did You Know==&lt;br /&gt;
&lt;br /&gt;
The UVC standard outlines more than just picture taking - it can control pan, tilt, resolution, etc depending on the functionality for your camera.  This is how the Phidget SBC controls what resolution is displayed on its [[1072_User_Guide#SBC Web Interface|Web Interface]].  &lt;br /&gt;
&lt;br /&gt;
If you want to play with these advanced features, and you own an SBC, you can look at the scripts in {{Code|/var/www/}} on the SBC.&lt;br /&gt;
&lt;br /&gt;
[[File:sbc_gs_webcam.png|link=|alt=]]&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=USB_Webcam_Primer&amp;diff=24113</id>
		<title>USB Webcam Primer</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=USB_Webcam_Primer&amp;diff=24113"/>
		<updated>2018-10-22T19:38:11Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Primer]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 C#=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=csharp&amp;gt;&lt;br /&gt;
  using Phidgets;&lt;br /&gt;
  using Phidgets.Events;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Java=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
import com.phidgets.*;&lt;br /&gt;
import com.phidgets.event.*;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 VB.Net=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=vbnet&amp;gt;&lt;br /&gt;
Public Class Form1&lt;br /&gt;
   &#039;The Phidget object declaration&lt;br /&gt;
		&lt;br /&gt;
   Dim WithEvents ifKit As Phidgets.InterfaceKit&lt;br /&gt;
		&lt;br /&gt;
   &#039;... Form1_Load and Form1_OnClosing here&lt;br /&gt;
End Class&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 C#=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=csharp&amp;gt;&lt;br /&gt;
  using Phidgets;&lt;br /&gt;
  using Phidgets.Events;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Java=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
import com.phidgets.*;&lt;br /&gt;
import com.phidgets.event.*;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 VB.Net=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=vbnet&amp;gt;&lt;br /&gt;
Public Class Form1&lt;br /&gt;
   &#039;The Phidget object declaration&lt;br /&gt;
		&lt;br /&gt;
   Dim WithEvents ifKit As Phidgets.InterfaceKit&lt;br /&gt;
		&lt;br /&gt;
   &#039;... Form1_Load and Form1_OnClosing here&lt;br /&gt;
End Class&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 C#=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=csharp&amp;gt;&lt;br /&gt;
  using Phidgets;&lt;br /&gt;
  using Phidgets.Events;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Java=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
import com.phidgets.*;&lt;br /&gt;
import com.phidgets.event.*;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 VB.Net=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=vbnet&amp;gt;&lt;br /&gt;
Public Class Form1&lt;br /&gt;
   &#039;The Phidget object declaration&lt;br /&gt;
		&lt;br /&gt;
   Dim WithEvents ifKit As Phidgets.InterfaceKit&lt;br /&gt;
		&lt;br /&gt;
   &#039;... Form1_Load and Form1_OnClosing here&lt;br /&gt;
End Class&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 C#=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=csharp&amp;gt;&lt;br /&gt;
  using Phidgets;&lt;br /&gt;
  using Phidgets.Events;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Java=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
import com.phidgets.*;&lt;br /&gt;
import com.phidgets.event.*;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 VB.Net=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=vbnet&amp;gt;&lt;br /&gt;
Public Class Form1&lt;br /&gt;
   &#039;The Phidget object declaration&lt;br /&gt;
		&lt;br /&gt;
   Dim WithEvents ifKit As Phidgets.InterfaceKit&lt;br /&gt;
		&lt;br /&gt;
   &#039;... Form1_Load and Form1_OnClosing here&lt;br /&gt;
End Class&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 C#=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=csharp&amp;gt;&lt;br /&gt;
  using Phidgets;&lt;br /&gt;
  using Phidgets.Events;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Java=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
import com.phidgets.*;&lt;br /&gt;
import com.phidgets.event.*;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 VB.Net=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=vbnet&amp;gt;&lt;br /&gt;
Public Class Form1&lt;br /&gt;
   &#039;The Phidget object declaration&lt;br /&gt;
		&lt;br /&gt;
   Dim WithEvents ifKit As Phidgets.InterfaceKit&lt;br /&gt;
		&lt;br /&gt;
   &#039;... Form1_Load and Form1_OnClosing here&lt;br /&gt;
End Class&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 C#=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=csharp&amp;gt;&lt;br /&gt;
  using Phidgets;&lt;br /&gt;
  using Phidgets.Events;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Java=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
import com.phidgets.*;&lt;br /&gt;
import com.phidgets.event.*;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 VB.Net=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=vbnet&amp;gt;&lt;br /&gt;
Public Class Form1&lt;br /&gt;
   &#039;The Phidget object declaration&lt;br /&gt;
		&lt;br /&gt;
   Dim WithEvents ifKit As Phidgets.InterfaceKit&lt;br /&gt;
		&lt;br /&gt;
   &#039;... Form1_Load and Form1_OnClosing here&lt;br /&gt;
End Class&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 C#=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=csharp&amp;gt;&lt;br /&gt;
  using Phidgets;&lt;br /&gt;
  using Phidgets.Events;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Java=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
import com.phidgets.*;&lt;br /&gt;
import com.phidgets.event.*;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 VB.Net=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=vbnet&amp;gt;&lt;br /&gt;
Public Class Form1&lt;br /&gt;
   &#039;The Phidget object declaration&lt;br /&gt;
		&lt;br /&gt;
   Dim WithEvents ifKit As Phidgets.InterfaceKit&lt;br /&gt;
		&lt;br /&gt;
   &#039;... Form1_Load and Form1_OnClosing here&lt;br /&gt;
End Class&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 C#=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=csharp&amp;gt;&lt;br /&gt;
  using Phidgets;&lt;br /&gt;
  using Phidgets.Events;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Java=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
import com.phidgets.*;&lt;br /&gt;
import com.phidgets.event.*;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 VB.Net=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=vbnet&amp;gt;&lt;br /&gt;
Public Class Form1&lt;br /&gt;
   &#039;The Phidget object declaration&lt;br /&gt;
		&lt;br /&gt;
   Dim WithEvents ifKit As Phidgets.InterfaceKit&lt;br /&gt;
		&lt;br /&gt;
   &#039;... Form1_Load and Form1_OnClosing here&lt;br /&gt;
End Class&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 C#=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=csharp&amp;gt;&lt;br /&gt;
  using Phidgets;&lt;br /&gt;
  using Phidgets.Events;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Java=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
import com.phidgets.*;&lt;br /&gt;
import com.phidgets.event.*;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 VB.Net=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=vbnet&amp;gt;&lt;br /&gt;
Public Class Form1&lt;br /&gt;
   &#039;The Phidget object declaration&lt;br /&gt;
		&lt;br /&gt;
   Dim WithEvents ifKit As Phidgets.InterfaceKit&lt;br /&gt;
		&lt;br /&gt;
   &#039;... Form1_Load and Form1_OnClosing here&lt;br /&gt;
End Class&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 C#=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=csharp&amp;gt;&lt;br /&gt;
  using Phidgets;&lt;br /&gt;
  using Phidgets.Events;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Java=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
import com.phidgets.*;&lt;br /&gt;
import com.phidgets.event.*;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 VB.Net=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=vbnet&amp;gt;&lt;br /&gt;
Public Class Form1&lt;br /&gt;
   &#039;The Phidget object declaration&lt;br /&gt;
		&lt;br /&gt;
   Dim WithEvents ifKit As Phidgets.InterfaceKit&lt;br /&gt;
		&lt;br /&gt;
   &#039;... Form1_Load and Form1_OnClosing here&lt;br /&gt;
End Class&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 C#=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=csharp&amp;gt;&lt;br /&gt;
  using Phidgets;&lt;br /&gt;
  using Phidgets.Events;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Java=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
import com.phidgets.*;&lt;br /&gt;
import com.phidgets.event.*;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 VB.Net=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=vbnet&amp;gt;&lt;br /&gt;
Public Class Form1&lt;br /&gt;
   &#039;The Phidget object declaration&lt;br /&gt;
		&lt;br /&gt;
   Dim WithEvents ifKit As Phidgets.InterfaceKit&lt;br /&gt;
		&lt;br /&gt;
   &#039;... Form1_Load and Form1_OnClosing here&lt;br /&gt;
End Class&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 C#=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=csharp&amp;gt;&lt;br /&gt;
  using Phidgets;&lt;br /&gt;
  using Phidgets.Events;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Java=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
import com.phidgets.*;&lt;br /&gt;
import com.phidgets.event.*;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 VB.Net=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=vbnet&amp;gt;&lt;br /&gt;
Public Class Form1&lt;br /&gt;
   &#039;The Phidget object declaration&lt;br /&gt;
		&lt;br /&gt;
   Dim WithEvents ifKit As Phidgets.InterfaceKit&lt;br /&gt;
		&lt;br /&gt;
   &#039;... Form1_Load and Form1_OnClosing here&lt;br /&gt;
End Class&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- valign=middle&lt;br /&gt;
| align=center width=300px| __TOC__ &lt;br /&gt;
| {{SERVER}}/images/3402_0_Web.jpg&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Webcams come in many forms, but the USB ones usually come as UVC (USB Video Class) devices.  This primer gives a very brief overview of what they are and how to use them.&lt;br /&gt;
&lt;br /&gt;
==Advantages==&lt;br /&gt;
&lt;br /&gt;
The advantage of UVC devices is their cross-platform compatibility, especially within the various flavours of Linux.  &lt;br /&gt;
&lt;br /&gt;
*[http://en.wikipedia.org/wiki/USB_video_device_class Wikpedia] gives a good overview of their levels of compatibility&lt;br /&gt;
* Many devices other than the Phidget webcam use the same protocol, please refer to [http://www.ideasonboard.org/uvc/#devices a compatibility list]&lt;br /&gt;
&lt;br /&gt;
==Use==&lt;br /&gt;
&lt;br /&gt;
A UVC device should be truly plug and play.  Even on the [{{SERVER}}/products.php?product_id=1072 Phidget Single Board Computer], the drivers are already installed.  You can almost immediately begin using video capture programs on your operating system to record video or pictures.&lt;br /&gt;
&lt;br /&gt;
Examples include:&lt;br /&gt;
&lt;br /&gt;
* Capture from Windows media players and creators&lt;br /&gt;
* Use iMovie on Mac OS X&lt;br /&gt;
* Use Cheese on Linux ({{Code|sudo apt-get install cheese}})&lt;br /&gt;
&lt;br /&gt;
However, these programs are usually graphical programs which don&#039;t help if you want to use the webcam in code.&lt;br /&gt;
&lt;br /&gt;
===Code===&lt;br /&gt;
&lt;br /&gt;
Regardless of your platform, a good place to start is [http://docs.opencv.org/ OpenCV].  It is a library for C/C++ that focuses solely on processing images and video.  It also has bindings to other languages like Python.&lt;br /&gt;
&lt;br /&gt;
We also offer a programming example in C# to use the webcam:&lt;br /&gt;
&lt;br /&gt;
*[{{SERVER}}/downloads/misc/MJPEGDecoder.zip C# Program]&lt;br /&gt;
&lt;br /&gt;
Additional advice by operating system is below.&lt;br /&gt;
&lt;br /&gt;
====Phidget SBC====&lt;br /&gt;
&lt;br /&gt;
Any UVC webcam device should work interchangeably with any other UVC webcam device, So you don&#039;t have to use the Phidget one, you can find one that fits your needs. &lt;br /&gt;
&lt;br /&gt;
On our Single Board Computer (SBC) page, we give an example of how to use a UVC webcam to take pictures using the SBC and OpenCV in code:&lt;br /&gt;
*[[OS - Phidget SBC#Taking Pictures With the Webcam|Taking Pictures with the Webcam]]&lt;br /&gt;
&lt;br /&gt;
====Windows====&lt;br /&gt;
&lt;br /&gt;
On Windows, [http://docs.opencv.org/ OpenCV] is your best bet.&lt;br /&gt;
&lt;br /&gt;
====Linux====&lt;br /&gt;
&lt;br /&gt;
On full Linux systems, you can possibly use OpenCV, though there have been some problems on standard Ubuntu distributions.&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively, you can use the program {{Code|streamer}} which can then be used in code:&lt;br /&gt;
:{{Code|sudo apt-get install streamer}}&lt;br /&gt;
:{{Code|streamer -c /dev/video0 -b 16 -o output.jpg}}&lt;br /&gt;
&lt;br /&gt;
==Did You Know==&lt;br /&gt;
&lt;br /&gt;
The UVC standard outlines more than just picture taking - it can control pan, tilt, resolution, etc depending on the functionality for your camera.  This is how the Phidget SBC controls what resolution is displayed on its [[1072_User_Guide#SBC Web Interface|Web Interface]].  &lt;br /&gt;
&lt;br /&gt;
If you want to play with these advanced features, and you own an SBC, you can look at the scripts in {{Code|/var/www/}} on the SBC.&lt;br /&gt;
&lt;br /&gt;
[[File:sbc_gs_webcam.png|link=|alt=]]&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=4-20mA_Sensor_Interface_Primer&amp;diff=24112</id>
		<title>4-20mA Sensor Interface Primer</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=4-20mA_Sensor_Interface_Primer&amp;diff=24112"/>
		<updated>2018-10-22T19:34:13Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Primer]]&lt;br /&gt;
[[USB_Webcam_Primer#Code]]&lt;br /&gt;
{|&lt;br /&gt;
|- valign=middle&lt;br /&gt;
| align=center width=300px| __TOC__ &lt;br /&gt;
| [[Image:1132_0.jpg|400px|link=]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
A 4-20mA sensor interface is a small device that adapts a 2-wire 4-20mA sensor&#039;s output to an analog output. &lt;br /&gt;
&lt;br /&gt;
Normally, 4-20mA sensors are intended for industrial use and are difficult to use with a computer. &lt;br /&gt;
However, with a 4-20mA sensor interface and a Phidgets Interface Kit (or any device with an {{LinksNeeded|Analog Input port|[[Analog Input Primer]]}}), these sensors can be used as easily as an ordinary analog sensor.&lt;br /&gt;
&lt;br /&gt;
==How it works==&lt;br /&gt;
&lt;br /&gt;
Before understanding what the 4-20mA sensor interface does, it&#039;s useful to know how a 4-20mA sensor is different from an analog sensor. &lt;br /&gt;
&lt;br /&gt;
====4-20mA Sensors====&lt;br /&gt;
&lt;br /&gt;
[[Image:420Interface.png|400px|link=|thumb|Traditional setup for reading a 4-20mA sensor.&amp;lt;br/&amp;gt;[[Media:420Interface.png|Full-sized Image]]]]&lt;br /&gt;
&lt;br /&gt;
4-20mA is an electrical standard for connecting sensors to a &#039;&#039;&#039;data acquisition device&#039;&#039;&#039; (DAQ). A 4-20mA sensor has two wires. One wire is used to power the sensor, and the other is a ground. The sensor sends data to the DAQ in the form of the amount of current it consumes. For example, a 4-20mA velocity sensor might consume 4mA when it is sensing zero movement, and would output 20mA when the sensor is moving at the maximum velocity it can sense.  4-20mA sensors are usually expensive and intended for industrial purposes. There are often less expensive 0-5V analog versions available. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Advantages of a 4-20mA Sensor:&#039;&#039;&#039;&lt;br /&gt;
* You can use longer wires with a 4-20mA sensor, since the data values are sent in the form of current rather than voltage levels that drop off with distance. However, you should ensure that the minimum voltage required to power the sensor is present at the end of the wire. To check, use a multimeter to measure the voltage across the two wires connecting to the sensor, when the sensor is measuring it&#039;s maximum value (and therefore drawing close to 20mA of current). If the voltage is higher than the minimum required voltage of the sensor (found in the sensor&#039;s data sheet), then it should be fine. Please note that twisted pair wire is the best for these long wire applications.&lt;br /&gt;
&lt;br /&gt;
* 4-20mA sensors are less susceptible to electromagnetic interference (EMI) . This is because the data is sent in the form of current, which is less susceptible to EMI than voltage. &lt;br /&gt;
&lt;br /&gt;
* It is easier to tell when your system has failed with a 4-20mA sensor. When a 4-20mA sensor senses its minimum value, it consumes 4mA of current. If it ever consumes zero current, it means there is a broken wire or some other failure in the system. When a 0-5V sensor fails in this way, the data line would read zero volts, which could mean it&#039;s just sensing zero. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Disadvantages of a 4-20mA Sensor:&#039;&#039;&#039;&lt;br /&gt;
* Usually more expensive than 0-5V analog sensors&lt;br /&gt;
* 4-20mA sensors are not very efficient, because they only need 4mA to function, and any additional current draw exists solely to communicate the value it is sensing&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When to use a 4-20mA Sensor:&#039;&#039;&#039;&lt;br /&gt;
* If you already own a 4-20mA sensor and don&#039;t want to buy an analog version&lt;br /&gt;
* You need to use a very long wire between the sensor and the power source&lt;br /&gt;
* The environment has a lot of electromagnetic interference&lt;br /&gt;
* The sensor is only available in the 4-20mA format&lt;br /&gt;
&lt;br /&gt;
====4-20mA Sensor Interface====&lt;br /&gt;
&lt;br /&gt;
Now that we&#039;ve covered how a 4-20mA sensor is different from a 0-5V analog sensor, the basic operation of a 4-20mA sensor interface should be clear. It simply powers the sensor and monitors the current consumption on the power line. It then converts the 4-20mA value to a 0-5V analog signal at its output. &lt;br /&gt;
&lt;br /&gt;
===Basic Use===&lt;br /&gt;
&lt;br /&gt;
[[Image:420InterfacePhidgets.png|400px|link=|thumb|Reading a 4-20mA sensor with Phidgets.&amp;lt;br/&amp;gt;[[Media:420InterfacePhidgets.png|Full-sized Image]]]]&lt;br /&gt;
&lt;br /&gt;
Using a 4-20mA sensor interface with Phidgets is very simple. Simple connect the positive wire of the sensor to the +15V output on the 4-20mA interface, and connect the ground wire of the sensor to the ground wire of the interface. Then, the analog output of the 4-20mA interface can be read by any interface kit with an {{LinksNeeded|Analog Input port|[[Analog Input Primer]]}}, which can send the value to your computer via USB. Check the sensor&#039;s data sheet to determine how your program should interpret the data it is receiving. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Using a 24V 4-20mA Sensor with Phidgets====&lt;br /&gt;
&lt;br /&gt;
[[Image:420InterfacePhidget24V.png|400px|link=|thumb|Reading a 24-volt 4-20mA sensor with Phidgets.&amp;lt;br/&amp;gt;[[Media:420InterfacePhidget24V.png|Full-sized Image]]]]&lt;br /&gt;
&lt;br /&gt;
The Phidgets 4-20mA interface can only supply the sensor with 15V. If you need to use a 24V sensor, you can still use a 4-20mA interface as long as you have an external 24V power supply. Connect the wires as shown in the diagram. The +15V terminal of the 4-20mA interface remains unused, but don&#039;t worry, the interface won&#039;t draw power that it doesn&#039;t need.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=USB_Webcam_Primer&amp;diff=24111</id>
		<title>USB Webcam Primer</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=USB_Webcam_Primer&amp;diff=24111"/>
		<updated>2018-10-22T19:30:01Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Primer]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 C#=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=csharp&amp;gt;&lt;br /&gt;
  using Phidgets;&lt;br /&gt;
  using Phidgets.Events;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 Java=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
import com.phidgets.*;&lt;br /&gt;
import com.phidgets.event.*;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 VB.Net=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=vbnet&amp;gt;&lt;br /&gt;
Public Class Form1&lt;br /&gt;
   &#039;The Phidget object declaration&lt;br /&gt;
		&lt;br /&gt;
   Dim WithEvents ifKit As Phidgets.InterfaceKit&lt;br /&gt;
		&lt;br /&gt;
   &#039;... Form1_Load and Form1_OnClosing here&lt;br /&gt;
End Class&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- valign=middle&lt;br /&gt;
| align=center width=300px| __TOC__ &lt;br /&gt;
| {{SERVER}}/images/3402_0_Web.jpg&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Webcams come in many forms, but the USB ones usually come as UVC (USB Video Class) devices.  This primer gives a very brief overview of what they are and how to use them.&lt;br /&gt;
&lt;br /&gt;
==Advantages==&lt;br /&gt;
&lt;br /&gt;
The advantage of UVC devices is their cross-platform compatibility, especially within the various flavours of Linux.  &lt;br /&gt;
&lt;br /&gt;
*[http://en.wikipedia.org/wiki/USB_video_device_class Wikpedia] gives a good overview of their levels of compatibility&lt;br /&gt;
* Many devices other than the Phidget webcam use the same protocol, please refer to [http://www.ideasonboard.org/uvc/#devices a compatibility list]&lt;br /&gt;
&lt;br /&gt;
==Use==&lt;br /&gt;
&lt;br /&gt;
A UVC device should be truly plug and play.  Even on the [{{SERVER}}/products.php?product_id=1072 Phidget Single Board Computer], the drivers are already installed.  You can almost immediately begin using video capture programs on your operating system to record video or pictures.&lt;br /&gt;
&lt;br /&gt;
Examples include:&lt;br /&gt;
&lt;br /&gt;
* Capture from Windows media players and creators&lt;br /&gt;
* Use iMovie on Mac OS X&lt;br /&gt;
* Use Cheese on Linux ({{Code|sudo apt-get install cheese}})&lt;br /&gt;
&lt;br /&gt;
However, these programs are usually graphical programs which don&#039;t help if you want to use the webcam in code.&lt;br /&gt;
&lt;br /&gt;
===Code===&lt;br /&gt;
&lt;br /&gt;
Regardless of your platform, a good place to start is [http://docs.opencv.org/ OpenCV].  It is a library for C/C++ that focuses solely on processing images and video.  It also has bindings to other languages like Python.&lt;br /&gt;
&lt;br /&gt;
We also offer a programming example in C# to use the webcam:&lt;br /&gt;
&lt;br /&gt;
*[{{SERVER}}/downloads/misc/MJPEGDecoder.zip C# Program]&lt;br /&gt;
&lt;br /&gt;
Additional advice by operating system is below.&lt;br /&gt;
&lt;br /&gt;
====Phidget SBC====&lt;br /&gt;
&lt;br /&gt;
Any UVC webcam device should work interchangeably with any other UVC webcam device, So you don&#039;t have to use the Phidget one, you can find one that fits your needs. &lt;br /&gt;
&lt;br /&gt;
On our Single Board Computer (SBC) page, we give an example of how to use a UVC webcam to take pictures using the SBC and OpenCV in code:&lt;br /&gt;
*[[OS - Phidget SBC#Taking Pictures With the Webcam|Taking Pictures with the Webcam]]&lt;br /&gt;
&lt;br /&gt;
====Windows====&lt;br /&gt;
&lt;br /&gt;
On Windows, [http://docs.opencv.org/ OpenCV] is your best bet.&lt;br /&gt;
&lt;br /&gt;
====Linux====&lt;br /&gt;
&lt;br /&gt;
On full Linux systems, you can possibly use OpenCV, though there have been some problems on standard Ubuntu distributions.&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively, you can use the program {{Code|streamer}} which can then be used in code:&lt;br /&gt;
:{{Code|sudo apt-get install streamer}}&lt;br /&gt;
:{{Code|streamer -c /dev/video0 -b 16 -o output.jpg}}&lt;br /&gt;
&lt;br /&gt;
==Did You Know==&lt;br /&gt;
&lt;br /&gt;
The UVC standard outlines more than just picture taking - it can control pan, tilt, resolution, etc depending on the functionality for your camera.  This is how the Phidget SBC controls what resolution is displayed on its [[1072_User_Guide#SBC Web Interface|Web Interface]].  &lt;br /&gt;
&lt;br /&gt;
If you want to play with these advanced features, and you own an SBC, you can look at the scripts in {{Code|/var/www/}} on the SBC.&lt;br /&gt;
&lt;br /&gt;
[[File:sbc_gs_webcam.png|link=|alt=]]&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=USB_Webcam_Primer&amp;diff=24110</id>
		<title>USB Webcam Primer</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=USB_Webcam_Primer&amp;diff=24110"/>
		<updated>2018-10-22T19:26:14Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Primer]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 C#=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=csharp&amp;gt;&lt;br /&gt;
  using Phidgets;&lt;br /&gt;
  using Phidgets.Events;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 tab2=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=java&amp;gt;&lt;br /&gt;
import com.phidgets.*;&lt;br /&gt;
import com.phidgets.event.*;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 tab3=&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=vbnet&amp;gt;&lt;br /&gt;
Public Class Form1&lt;br /&gt;
   &#039;The Phidget object declaration&lt;br /&gt;
		&lt;br /&gt;
   Dim WithEvents ifKit As Phidgets.InterfaceKit&lt;br /&gt;
		&lt;br /&gt;
   &#039;... Form1_Load and Form1_OnClosing here&lt;br /&gt;
End Class&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- valign=middle&lt;br /&gt;
| align=center width=300px| __TOC__ &lt;br /&gt;
| {{SERVER}}/images/3402_0_Web.jpg&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Webcams come in many forms, but the USB ones usually come as UVC (USB Video Class) devices.  This primer gives a very brief overview of what they are and how to use them.&lt;br /&gt;
&lt;br /&gt;
==Advantages==&lt;br /&gt;
&lt;br /&gt;
The advantage of UVC devices is their cross-platform compatibility, especially within the various flavours of Linux.  &lt;br /&gt;
&lt;br /&gt;
*[http://en.wikipedia.org/wiki/USB_video_device_class Wikpedia] gives a good overview of their levels of compatibility&lt;br /&gt;
* Many devices other than the Phidget webcam use the same protocol, please refer to [http://www.ideasonboard.org/uvc/#devices a compatibility list]&lt;br /&gt;
&lt;br /&gt;
==Use==&lt;br /&gt;
&lt;br /&gt;
A UVC device should be truly plug and play.  Even on the [{{SERVER}}/products.php?product_id=1072 Phidget Single Board Computer], the drivers are already installed.  You can almost immediately begin using video capture programs on your operating system to record video or pictures.&lt;br /&gt;
&lt;br /&gt;
Examples include:&lt;br /&gt;
&lt;br /&gt;
* Capture from Windows media players and creators&lt;br /&gt;
* Use iMovie on Mac OS X&lt;br /&gt;
* Use Cheese on Linux ({{Code|sudo apt-get install cheese}})&lt;br /&gt;
&lt;br /&gt;
However, these programs are usually graphical programs which don&#039;t help if you want to use the webcam in code.&lt;br /&gt;
&lt;br /&gt;
===Code===&lt;br /&gt;
&lt;br /&gt;
Regardless of your platform, a good place to start is [http://docs.opencv.org/ OpenCV].  It is a library for C/C++ that focuses solely on processing images and video.  It also has bindings to other languages like Python.&lt;br /&gt;
&lt;br /&gt;
We also offer a programming example in C# to use the webcam:&lt;br /&gt;
&lt;br /&gt;
*[{{SERVER}}/downloads/misc/MJPEGDecoder.zip C# Program]&lt;br /&gt;
&lt;br /&gt;
Additional advice by operating system is below.&lt;br /&gt;
&lt;br /&gt;
====Phidget SBC====&lt;br /&gt;
&lt;br /&gt;
Any UVC webcam device should work interchangeably with any other UVC webcam device, So you don&#039;t have to use the Phidget one, you can find one that fits your needs. &lt;br /&gt;
&lt;br /&gt;
On our Single Board Computer (SBC) page, we give an example of how to use a UVC webcam to take pictures using the SBC and OpenCV in code:&lt;br /&gt;
*[[OS - Phidget SBC#Taking Pictures With the Webcam|Taking Pictures with the Webcam]]&lt;br /&gt;
&lt;br /&gt;
====Windows====&lt;br /&gt;
&lt;br /&gt;
On Windows, [http://docs.opencv.org/ OpenCV] is your best bet.&lt;br /&gt;
&lt;br /&gt;
====Linux====&lt;br /&gt;
&lt;br /&gt;
On full Linux systems, you can possibly use OpenCV, though there have been some problems on standard Ubuntu distributions.&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively, you can use the program {{Code|streamer}} which can then be used in code:&lt;br /&gt;
:{{Code|sudo apt-get install streamer}}&lt;br /&gt;
:{{Code|streamer -c /dev/video0 -b 16 -o output.jpg}}&lt;br /&gt;
&lt;br /&gt;
==Did You Know==&lt;br /&gt;
&lt;br /&gt;
The UVC standard outlines more than just picture taking - it can control pan, tilt, resolution, etc depending on the functionality for your camera.  This is how the Phidget SBC controls what resolution is displayed on its [[1072_User_Guide#SBC Web Interface|Web Interface]].  &lt;br /&gt;
&lt;br /&gt;
If you want to play with these advanced features, and you own an SBC, you can look at the scripts in {{Code|/var/www/}} on the SBC.&lt;br /&gt;
&lt;br /&gt;
[[File:sbc_gs_webcam.png|link=|alt=]]&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=USB_Webcam_Primer&amp;diff=24109</id>
		<title>USB Webcam Primer</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=USB_Webcam_Primer&amp;diff=24109"/>
		<updated>2018-10-22T19:23:57Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Primer]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabber&amp;gt;&lt;br /&gt;
 tab1=Some neat text here&lt;br /&gt;
|-|&lt;br /&gt;
 tab2=&lt;br /&gt;
 [http://www.google.com Google]&amp;lt;br&amp;gt;&lt;br /&gt;
 [http://www.cnn.com Cnn]&amp;lt;br&amp;gt;&lt;br /&gt;
|-|&lt;br /&gt;
 tab3={{Template:SomeTemplate}}&lt;br /&gt;
&amp;lt;/tabber&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|- valign=middle&lt;br /&gt;
| align=center width=300px| __TOC__ &lt;br /&gt;
| {{SERVER}}/images/3402_0_Web.jpg&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Webcams come in many forms, but the USB ones usually come as UVC (USB Video Class) devices.  This primer gives a very brief overview of what they are and how to use them.&lt;br /&gt;
&lt;br /&gt;
==Advantages==&lt;br /&gt;
&lt;br /&gt;
The advantage of UVC devices is their cross-platform compatibility, especially within the various flavours of Linux.  &lt;br /&gt;
&lt;br /&gt;
*[http://en.wikipedia.org/wiki/USB_video_device_class Wikpedia] gives a good overview of their levels of compatibility&lt;br /&gt;
* Many devices other than the Phidget webcam use the same protocol, please refer to [http://www.ideasonboard.org/uvc/#devices a compatibility list]&lt;br /&gt;
&lt;br /&gt;
==Use==&lt;br /&gt;
&lt;br /&gt;
A UVC device should be truly plug and play.  Even on the [{{SERVER}}/products.php?product_id=1072 Phidget Single Board Computer], the drivers are already installed.  You can almost immediately begin using video capture programs on your operating system to record video or pictures.&lt;br /&gt;
&lt;br /&gt;
Examples include:&lt;br /&gt;
&lt;br /&gt;
* Capture from Windows media players and creators&lt;br /&gt;
* Use iMovie on Mac OS X&lt;br /&gt;
* Use Cheese on Linux ({{Code|sudo apt-get install cheese}})&lt;br /&gt;
&lt;br /&gt;
However, these programs are usually graphical programs which don&#039;t help if you want to use the webcam in code.&lt;br /&gt;
&lt;br /&gt;
===Code===&lt;br /&gt;
&lt;br /&gt;
Regardless of your platform, a good place to start is [http://docs.opencv.org/ OpenCV].  It is a library for C/C++ that focuses solely on processing images and video.  It also has bindings to other languages like Python.&lt;br /&gt;
&lt;br /&gt;
We also offer a programming example in C# to use the webcam:&lt;br /&gt;
&lt;br /&gt;
*[{{SERVER}}/downloads/misc/MJPEGDecoder.zip C# Program]&lt;br /&gt;
&lt;br /&gt;
Additional advice by operating system is below.&lt;br /&gt;
&lt;br /&gt;
====Phidget SBC====&lt;br /&gt;
&lt;br /&gt;
Any UVC webcam device should work interchangeably with any other UVC webcam device, So you don&#039;t have to use the Phidget one, you can find one that fits your needs. &lt;br /&gt;
&lt;br /&gt;
On our Single Board Computer (SBC) page, we give an example of how to use a UVC webcam to take pictures using the SBC and OpenCV in code:&lt;br /&gt;
*[[OS - Phidget SBC#Taking Pictures With the Webcam|Taking Pictures with the Webcam]]&lt;br /&gt;
&lt;br /&gt;
====Windows====&lt;br /&gt;
&lt;br /&gt;
On Windows, [http://docs.opencv.org/ OpenCV] is your best bet.&lt;br /&gt;
&lt;br /&gt;
====Linux====&lt;br /&gt;
&lt;br /&gt;
On full Linux systems, you can possibly use OpenCV, though there have been some problems on standard Ubuntu distributions.&amp;lt;br&amp;gt;&lt;br /&gt;
Alternatively, you can use the program {{Code|streamer}} which can then be used in code:&lt;br /&gt;
:{{Code|sudo apt-get install streamer}}&lt;br /&gt;
:{{Code|streamer -c /dev/video0 -b 16 -o output.jpg}}&lt;br /&gt;
&lt;br /&gt;
==Did You Know==&lt;br /&gt;
&lt;br /&gt;
The UVC standard outlines more than just picture taking - it can control pan, tilt, resolution, etc depending on the functionality for your camera.  This is how the Phidget SBC controls what resolution is displayed on its [[1072_User_Guide#SBC Web Interface|Web Interface]].  &lt;br /&gt;
&lt;br /&gt;
If you want to play with these advanced features, and you own an SBC, you can look at the scripts in {{Code|/var/www/}} on the SBC.&lt;br /&gt;
&lt;br /&gt;
[[File:sbc_gs_webcam.png|link=|alt=]]&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=Language_-_Visual_Basic_for_Applications&amp;diff=24108</id>
		<title>Language - Visual Basic for Applications</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=Language_-_Visual_Basic_for_Applications&amp;diff=24108"/>
		<updated>2018-07-31T18:00:23Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: /* Use Our Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Language]]&lt;br /&gt;
{{OSLang|[[File:Icon-Visual Basic for Applications.png|64x64px|alt=|link=]]|&#039;&#039;&#039;Visual Basic for Applications&#039;&#039;&#039; (&#039;&#039;&#039;VBA&#039;&#039;&#039;) is an implementation of [http://msdn.microsoft.com/en-ca/office Microsoft]&#039;s event-driven programming language [[Language_-_Visual_Basic_6.0|Visual Basic 6.0]] and its associated integrated development environment (IDE), which are built into most [http://office.microsoft.com Microsoft Office] applications.}}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
{{LanguageSupport|Visual Basic for Applications|the complete Phidget API, including events|Accelerometer (not Spatial), Encoder, InterfaceKit, RFID, TemperatureSensor and Servo.|Microsoft Office on Windows|}}&lt;br /&gt;
&lt;br /&gt;
==Quick Downloads==&lt;br /&gt;
&lt;br /&gt;
{{QuickDownloads|Visual Basic for Applications|&lt;br /&gt;
{{APIQuickDownloads|{{SERVER}}/documentation/COM_API_Manual.pdf .COM}}|&lt;br /&gt;
&#039;&#039;Note: Example code is programmed to run in Microsoft Excel.&#039;&#039;&lt;br /&gt;
{{ExampleQuickDownloads|{{SERVER}}/downloads/phidget21/examples/com/VBA.zip|}}|&lt;br /&gt;
{{WindowsQuickDownloads}}}}&lt;br /&gt;
&lt;br /&gt;
==Getting Started with Visual Basic for Applications (VBA)==&lt;br /&gt;
&lt;br /&gt;
If you are new to writing code for Phidgets, we recommend starting by running, then modifying existing examples. This will allow you to:&lt;br /&gt;
{{ExampleCodeReasons}}&lt;br /&gt;
&lt;br /&gt;
Support for VBA is only on [[#Windows(2000/XP/Vista/7)|Windows 2000 / XP / Vista / 7]].&lt;br /&gt;
&lt;br /&gt;
==Windows (XP/Vista/7/8)==&lt;br /&gt;
&lt;br /&gt;
For a description of the Phidget library files, please see the main [[OS - Windows|Windows page]].&lt;br /&gt;
&lt;br /&gt;
The Phidget examples were written using Microsoft Excel 2000 and this tutorial assumes its use. Other environments such as Microsoft Office should work provided they support VBA, and each would be set up in a similar manner.&lt;br /&gt;
&lt;br /&gt;
===Use Our Examples===&lt;br /&gt;
&lt;br /&gt;
First, open the command prompt in administrator mode and type the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
regsvr32 &amp;quot;C:\Progarm Files\Phidgets\Phidget21COM.dll&amp;quot;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you installed the Phidgets libraries in a different location, you&#039;ll have to modify the command.&lt;br /&gt;
&lt;br /&gt;
Then, download and unpack the [{{SERVER}}/downloads/phidget21/examples/com/VBA.zip VBA Examples].  Here you will find an example called HelloWorld which is a simple, high-level example which will work with any Phidget device.  You will also find specific, in-depth examples for some of our other devices. {{FindYourDevice}}  &lt;br /&gt;
&lt;br /&gt;
The easiest example to start with is the HelloWorld example.  Find it in the unpacked examples folder:&lt;br /&gt;
&lt;br /&gt;
[[Image:Vba openexample.png|border|link=|alt=]]&lt;br /&gt;
&lt;br /&gt;
And then double click on it to open it in Excel.  It contains Macros, so you may get a message that you can&#039;t run the program without changing your security settings.  The settings can be found in Office XP under Tools &amp;amp;rarr; Options &amp;amp;rarr; Security (tab).  Then you can set the security level to Medium so you can choose to run the Phidget Examples:&lt;br /&gt;
&lt;br /&gt;
[[Image:Vba_setsecurity.png|link=|alt=]]&lt;br /&gt;
&lt;br /&gt;
This will bring up the example itself.  Hello and goodbye messages are printed to the screen as Phidgets are plugged in (attached) and unplugged (detached).  Here, we plugged a Phidget Interface Kit in:&lt;br /&gt;
&lt;br /&gt;
[[Image:Vba_runhelloworld.png|link=|alt=]]&lt;br /&gt;
&lt;br /&gt;
===Write Your Own Code===&lt;br /&gt;
&lt;br /&gt;
To begin, launch Excel with a new workbook for our project. Launch the VBA editor (Tools | Macro | Visual Basic Editor) and open “ThisWorkbook” in the navigator.  &lt;br /&gt;
&lt;br /&gt;
Before you can use the Phidget in your code, you must include the library in your project. This can be accomplished from the references screen (Tools | References...) by checking the box beside “Phidget Library 2.1”, or by browsing to the location the framework was installed and choosing the Phidget21COM.dll.&lt;br /&gt;
&lt;br /&gt;
Afterwards, the Phidget object will need to be declared and then initialized inside the new workbook (“ThisWorkbook”). For example, we can declare and create a PhidgetInterfaceKit at the top of the code with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&amp;lt;syntaxhighlight lang=vb&amp;gt;&lt;br /&gt;
  Public WithEvents phid As PhidgetInterfaceKit&lt;br /&gt;
  Private Sub Workbook_Open()&lt;br /&gt;
      Set phid = New PhidgetInterfaceKit&lt;br /&gt;
  End Sub&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The object name for any type of Phidget is listed in the API manual. Each Phidget (Spatial, Temperature Sensor, Motor Controller, Interface Kit) has a different software object named similarly to its own name.   If you are not sure what the software object for your device is, find your Phidget on our [{{SERVER}} webpage], and then check the API documentation for it.  Every type of Phidget also inherits functionality from the Phidget base class.&lt;br /&gt;
&lt;br /&gt;
You can now play around with the examples and basic code, and when you are ready to begin writing your project you can go through our instructional section on what [[#Follow The Examples|code is in the examples]].&lt;br /&gt;
&lt;br /&gt;
==Follow The Examples==&lt;br /&gt;
&lt;br /&gt;
By following the instructions above, you probably now have a working example and want to understand it better so you can change it to do what you want.  This teaching section has resources for you to learn from the examples and write your own.&lt;br /&gt;
&lt;br /&gt;
Your main reference for writing VBA code will be our .COM API information, with syntax for all of our functions:&lt;br /&gt;
&lt;br /&gt;
{{UsingAPhidgetInCodeGeneral|both of which are available in VBA|[{{SERVER}}/documentation/COM_API_Manual.pdf .COM API]}}&lt;br /&gt;
&lt;br /&gt;
===Code Snippets===&lt;br /&gt;
&lt;br /&gt;
Specific calls in VBA will differ in syntax from those on the [[General Phidget Programming]] page, but the concepts stay the same.  &lt;br /&gt;
&lt;br /&gt;
It may help to have the [[General Phidget Programming]] page and this section open at the same time, because they parallel each other and you can refer to the .COM/VBA syntax.  However, &#039;&#039;many&#039;&#039; additional concepts are covered on the General Phidget Programming page on a high level, such as using multiple Phidgets, handling errors, and different styles of programming.&lt;br /&gt;
&lt;br /&gt;
====Step One: Initialize and Open====&lt;br /&gt;
&lt;br /&gt;
Be sure you have set up access to your Phidget in the section [[#Write Your Own Code|Write Your Own Code]].  That section also includes an initialization of the Phidget, i.e. a creation of the variable (phid) that will allow access to our Phidget, in this case an Interface Kit:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&amp;lt;syntaxhighlight lang=vb&amp;gt;&lt;br /&gt;
  Public WithEvents phid As PhidgetInterfaceKit&lt;br /&gt;
  Private Sub Workbook_Open()&lt;br /&gt;
      Set phid = New PhidgetInterfaceKit&lt;br /&gt;
  End Sub&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also within that Sub, we can open the new Phidget variable:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&amp;lt;syntaxhighlight lang=vb&amp;gt;&lt;br /&gt;
  phid.Open&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Open will continuously try to connect to a Phidget, based on the parameters given, even trying to reconnect if it gets disconnected. There are many different forms of open - by serial number, or even over a network using the [[Phidget WebService]].  You can check the .COM API manual for all the types of open available and how to use them.&lt;br /&gt;
&lt;br /&gt;
One important thing to remember is that when working with Phidgets, a local connection will reserve the device until closed. This prevents any other instances from retrieving data from the Phidget, including other programs. The one connection per device limit does not apply when exclusively using the Phidget WebService.&lt;br /&gt;
&lt;br /&gt;
====Step Two: Wait for Attachment (plugging in) of the Phidget====&lt;br /&gt;
&lt;br /&gt;
To use the Phidget, it must be plugged in (attached).  This means that simply calling open does not guarantee you can use the Phidget immediately.  We can handle this by using event driven programming and tracking the AttachEvents and DetachEvents, or we can handle this by calling waitForAttachment. This function works for any Phidget. WaitForAttachment will block indefinitely until a connection is made to the Phidget, or an optional timeout is exceeded:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&amp;lt;syntaxhighlight lang=vb&amp;gt;&lt;br /&gt;
  phid.WaitForAttachment(3000)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Step Three: Do Things with the Phidget====&lt;br /&gt;
&lt;br /&gt;
We recommend the use of event driven programming when working with Phidgets. In Visual Basic, we hook an event handler with the following code:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&amp;lt;syntaxhighlight lang=vb&amp;gt;&lt;br /&gt;
    Private Sub phid_OnSensorChange(ByVal Index As Long, ByVal SensorValue As Long)&lt;br /&gt;
        Range(&amp;quot;A2&amp;quot;).Select&lt;br /&gt;
        ActiveCell.Offset(Index, 0).Value = SensorValue&lt;br /&gt;
    End Sub&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With this method, the code inside onSensorChange will get executed every time the - in this case - Interface Kit reports a change on one of its analog inputs. You can let the editor generate the procedure declaration for you through the drop down menu at the top of the code window.&lt;br /&gt;
&lt;br /&gt;
Some events such as Attach and Detach belong to the base Phidget object and thus are common to all types of Phidgets.  Other events, such as this one to read a sensor change, are specific to the type of Phidget (for example, a Temperature Sensor would have a temperature change event).  Please refer to the API manual for a full list of events and their usage. &lt;br /&gt;
&lt;br /&gt;
Some values can be directly read and set on the Phidget, and inside polling loops used as an alternative to event driven programming. Simply use the instance properties such as SensorValue(Index as Long) or OutputState(Index as Long) for Interface Kits:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&amp;lt;syntaxhighlight lang=vb&amp;gt;&lt;br /&gt;
  phid.OutputState(4) = True&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Step Four: Close and Delete====&lt;br /&gt;
&lt;br /&gt;
At the end of your program, don’t forget to call close to free any locks on the Phidget:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&amp;lt;syntaxhighlight lang=vb&amp;gt;&lt;br /&gt;
  Private Sub Workbook_BeforeClose(Cancel As Boolean)&lt;br /&gt;
     phid.Close&lt;br /&gt;
  End Sub&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MoreHowTos}}&lt;br /&gt;
&lt;br /&gt;
==Common Problems and Solutions/Workarounds==&lt;br /&gt;
&lt;br /&gt;
None at this time.&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=Language_-_Python_Linux_Terminal&amp;diff=24107</id>
		<title>Language - Python Linux Terminal</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=Language_-_Python_Linux_Terminal&amp;diff=24107"/>
		<updated>2018-07-06T20:00:30Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: Redirected page to Language - Python&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Language_-_Python]]&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=Language_-_Python_macOS_Terminal&amp;diff=24106</id>
		<title>Language - Python macOS Terminal</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=Language_-_Python_macOS_Terminal&amp;diff=24106"/>
		<updated>2018-07-06T19:59:28Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: Redirected page to Language - Python&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Language_-_Python]]&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=Language_-_Python_Windows_LiClipse&amp;diff=24105</id>
		<title>Language - Python Windows LiClipse</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=Language_-_Python_Windows_LiClipse&amp;diff=24105"/>
		<updated>2018-07-06T19:59:09Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: Redirected page to Language - Python&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Language_-_Python]]&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=Language_-_Python_Windows_Visual_Studio&amp;diff=24104</id>
		<title>Language - Python Windows Visual Studio</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=Language_-_Python_Windows_Visual_Studio&amp;diff=24104"/>
		<updated>2018-07-06T19:58:10Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: Redirected page to Language - Python&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Language_-_Python]]&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=Language_-_Python_Windows_IDLE&amp;diff=24103</id>
		<title>Language - Python Windows IDLE</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=Language_-_Python_Windows_IDLE&amp;diff=24103"/>
		<updated>2018-07-06T19:55:36Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: Redirected page to Language - Python&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Language_-_Python]]&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=Language_-_Python_Windows_Command_Line&amp;diff=24102</id>
		<title>Language - Python Windows Command Line</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=Language_-_Python_Windows_Command_Line&amp;diff=24102"/>
		<updated>2018-07-06T19:54:43Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: Redirected page to Language - Python&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Language_-_Python]]&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=Language_-_C_Sharp_Linux_Mono&amp;diff=24101</id>
		<title>Language - C Sharp Linux Mono</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=Language_-_C_Sharp_Linux_Mono&amp;diff=24101"/>
		<updated>2018-07-06T19:53:49Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: Redirected page to Language - C Sharp&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Language_-_C_Sharp]]&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=Language_-_C_Sharp_macOS_Mono&amp;diff=24100</id>
		<title>Language - C Sharp macOS Mono</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=Language_-_C_Sharp_macOS_Mono&amp;diff=24100"/>
		<updated>2018-07-06T19:53:26Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: Redirected page to Language - C Sharp&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Language_-_C_Sharp]]&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=Language_-_C_Sharp_Windows_MonoDevelop&amp;diff=24099</id>
		<title>Language - C Sharp Windows MonoDevelop</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=Language_-_C_Sharp_Windows_MonoDevelop&amp;diff=24099"/>
		<updated>2018-07-06T19:53:02Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: Redirected page to Language - C Sharp&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Language_-_C_Sharp]]&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=Language_-_C_Sharp_Windows_Mono&amp;diff=24098</id>
		<title>Language - C Sharp Windows Mono</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=Language_-_C_Sharp_Windows_Mono&amp;diff=24098"/>
		<updated>2018-07-06T19:52:39Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: Redirected page to Language - C Sharp&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Language_-_C_Sharp]]&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=Language_-_C_Sharp_Windows_Visual_Studio&amp;diff=24097</id>
		<title>Language - C Sharp Windows Visual Studio</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=Language_-_C_Sharp_Windows_Visual_Studio&amp;diff=24097"/>
		<updated>2018-07-06T19:52:13Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: Redirected page to Language - C Sharp&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Language_-_C_Sharp]]&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=Language_-_C_Linux_GCC&amp;diff=24096</id>
		<title>Language - C Linux GCC</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=Language_-_C_Linux_GCC&amp;diff=24096"/>
		<updated>2018-07-06T19:51:36Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: Redirected page to Language - C&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Language_-_C]]&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=Language_-_C_macOS_GCC&amp;diff=24095</id>
		<title>Language - C macOS GCC</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=Language_-_C_macOS_GCC&amp;diff=24095"/>
		<updated>2018-07-06T19:50:47Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: Redirected page to Language - C&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Language_-_C]]&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=Language_-_C_Windows_CodeBlocks&amp;diff=24094</id>
		<title>Language - C Windows CodeBlocks</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=Language_-_C_Windows_CodeBlocks&amp;diff=24094"/>
		<updated>2018-07-06T18:54:46Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: Redirected page to Language - C&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Language_-_C]]&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=Language_-_C_Windows_GCC&amp;diff=24093</id>
		<title>Language - C Windows GCC</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=Language_-_C_Windows_GCC&amp;diff=24093"/>
		<updated>2018-07-06T18:54:23Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: Redirected page to Language - C&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Language_-_C]]&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=Language_-_C_Windows_Visual_Studio&amp;diff=24092</id>
		<title>Language - C Windows Visual Studio</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=Language_-_C_Windows_Visual_Studio&amp;diff=24092"/>
		<updated>2018-07-06T18:29:52Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: Redirected page to Language - C&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Language_-_C]]&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=3051_User_Guide&amp;diff=24089</id>
		<title>3051 User Guide</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=3051_User_Guide&amp;diff=24089"/>
		<updated>2018-05-09T14:37:06Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOINDEX__&lt;br /&gt;
[[Category:UserGuide]]&lt;br /&gt;
{{UserguideTOC|3051.jpg|3051}}&lt;br /&gt;
==Getting Started==&lt;br /&gt;
&lt;br /&gt;
===Checking the Contents===&lt;br /&gt;
{{UGbox|&lt;br /&gt;
&#039;&#039;&#039;You should have received:&#039;&#039;&#039;&lt;br /&gt;
* A Dual Relay board&lt;br /&gt;
* A sensor cable &lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;In order to test your new Phidget you will also need:&#039;&#039;&#039;&lt;br /&gt;
* A PhidgetInterfaceKit 8/8/8 or a PhidgetTextLCD&lt;br /&gt;
* A USB cable&lt;br /&gt;
*A 9V battery, a battery connector&lt;br /&gt;
*A piece of wire&lt;br /&gt;
*An incandescent bulb&lt;br /&gt;
||}}&lt;br /&gt;
&lt;br /&gt;
===Connecting the Pieces===&lt;br /&gt;
{{UGbox|&lt;br /&gt;
#Connect the black/negative(-) wire from battery connector to one of the bulb wire. &lt;br /&gt;
#Connect the red/positive (+) wire from the battery connector to the 1C (Common) connector on the Dual Relay Board.&lt;br /&gt;
#Connect the other bulb wire to the NO (Normally Open) connector on the  Dual Relay Board.&lt;br /&gt;
#Connect the Dual Relay Board to the InterfaceKit 8/8/8 using the sensor cable. This provides 5V power to the relay board.&lt;br /&gt;
#Connect Control 1 on the Dual Relay Board to Digital Output 6 on the InterfaceKit 8/8/8 using a piece of wire.&lt;br /&gt;
#Connect the 1018 - PhidgetInterfacekit to your PC using the USB cable.&lt;br /&gt;
|&lt;br /&gt;
[[File:3051_1_Connecting_The_Hardware.jpg|400px|link=]]&lt;br /&gt;
||}}&lt;br /&gt;
&lt;br /&gt;
===Testing Using Windows 2000 / XP / Vista / 7===&lt;br /&gt;
&lt;br /&gt;
{{UGwin}}&lt;br /&gt;
&lt;br /&gt;
===Running Phidgets Sample Program===&lt;br /&gt;
&lt;br /&gt;
{{UGwin2|&#039;&#039;&#039;InterfaceKit-full&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
{{UGbox|&lt;br /&gt;
Double Click on the [[File:Ph.jpg|link=]] icon to activate the Phidget Control Panel and make sure that the &#039;&#039;&#039;Phidget InterfaceKit 8/8/8&#039;&#039;&#039; is properly attached  to your PC.  &lt;br /&gt;
|[[File:1018_2_Control_Panel_Screen.jpg|400px|link=]]&lt;br /&gt;
|&lt;br /&gt;
#Double Click on 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.&lt;br /&gt;
#Click on the Digital Out box. A tick mark appears in the box and the bulb lights up. Click on the box again. The tick mark goes away and light goes out. If you unplug the Dual Relay Board while the light is on, it will go off. Move the bulb wire from NO to NC (Normally Closed). Now the light is on when there is no tick mark and off when there is. If you unplug the Dual Relay Board when the light is on, it will stay on.&lt;br /&gt;
#The bottom row of the digital out shows the status of the request, while the top row displays the status of the digital output as reported by the 3051 Relay.&lt;br /&gt;
|&lt;br /&gt;
[[File:3051_1_InterfaceKit_Screen.jpg|link=|500px]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Testing Using Mac OS X===&lt;br /&gt;
&lt;br /&gt;
{{UGmac| | }}&lt;br /&gt;
&lt;br /&gt;
===Using Linux===&lt;br /&gt;
&lt;br /&gt;
{{UGlinux}}&lt;br /&gt;
&lt;br /&gt;
===Using Windows Mobile / CE 5.0 / CE 6.0===&lt;br /&gt;
&lt;br /&gt;
{{UGce}}&lt;br /&gt;
&lt;br /&gt;
==Technical Details==&lt;br /&gt;
===Relays===&lt;br /&gt;
{|&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|A relay is an electrically-controlled switch.  Although many types of electrical switches exist, a relay’s mechanical nature gives it the advantage of reliability and current-switching capacity.  The main disadvantage to using mechanical relays is their limited life-span, as opposed to solid state relays who do not suffer from this drawback.  For more information on mechanical relays refer to the [[Mechanical Relay Primer]]||[[image:3051 1 Relay Diagram.jpg|link=]]&lt;br /&gt;
|}&lt;br /&gt;
===Using a Digital Output Relay===&lt;br /&gt;
Relays have a connection scheme determined by the arrangement of contacts within the relay.  Because relays are a type of switch, they are defined in the same way other electromechanical switches are defined.  In switch schemes, the number of poles represents the number of common terminals a switch has, and the number of throws represents the number of switchable terminals that exist for each pole.  The relays used in the Dual Relay Board are SPDT relays:  single pole, double throw.  The internal construction of this type of relay is depicted in the diagram above.  Many other types of relays exist:  SPST, DPDT, and DPST, to name a few. In an SPDT relay, one of the throw terminals is labelled Normally Closed (NC), and the other is labelled Normally Open (NO).  As the name indicates, the normally closed terminal is the terminal connected to common when the relay coil is not powered.  When the relay coil is energized by the relay control circuit, the electromagnetic field of the coil forces the switch element inside the relay to break its contact with the normally closed terminal and make contact with the normally open terminal.  The switch element would then connect the normally open terminal and the common terminal.&lt;br /&gt;
===Using Relays as an H-Bridge to implement Forward/Reverse===&lt;br /&gt;
{|&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|Connect the load to the COM terminals, in this case the wires of a DC motor.  The NormallyOpen (NO) terminals are connected to the power supply (VCC), and the Normally-Closed (NC) terminals are connected to the ground (GND) of the power supply.  Connect the Control pins to a digital output.  You can toggle the corresponding output to switch the relays. Looking at the diagram, when LeftCtrl is enabled and RightCtrl is disabled, the current will flow from the NO terminal of relay K1 through the motor and into the NC terminal of relay K2.  This will cause the motor to rotate in one direction.  Similarily, if LeftCtrl is disabled and RightCtrl is enabled, the current will flow from the NO terminal of relay K2 through the motor and into the NC terminal of relay K1.  This will cause the motor to rotate in the opposite direction.  When both LeftCtrl and RightCtrl are disabled, both ends of the motor will be shorted to ground and no current will flow.  When both leftCtrl and RightCtrl are enabled, both ends of the motor will be shorted to VCC and again, no current will flow.||[[File:1014_1_Bridge_Diagram.jpg|500px|link=]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Wetting Current===&lt;br /&gt;
When a relay is in one switch position for a period of time, oxidation of the open contact(s) can occur.  Depending upon the internal coating material of the contacts, oxide films of varying density will be displaced upon the surface of open contacts; this film acts as an insulator to current flow.  When the relay is switched, a certain amount of current flowing through the contacts, known as the wetting current, is required to remove the film of oxides and ensure proper conduction.  Because of this requirement, these relays are &#039;&#039;&#039;not&#039;&#039;&#039; reliable for signal switching.  See the device specification on page 10 for detailed requirements.&lt;br /&gt;
&lt;br /&gt;
===Load Noise===&lt;br /&gt;
If highly inductive loads are used with the Dual Relay Board, it is recommended that a noise limiting component be used to prevent damage to the device.  An MOV, TVS diode, or kickback diode (for DC applications) shunted across the load will assist in dissipating voltage transients.&lt;br /&gt;
===Analog Input Cable Connectors===&lt;br /&gt;
&lt;br /&gt;
{{UGasens}}&lt;br /&gt;
&lt;br /&gt;
==Product History==&lt;br /&gt;
{{UGhist}}&lt;br /&gt;
{{UGrow2|3051_0|October 2007 |0 |N/A |Product Release }}&lt;br /&gt;
{{UGrow2|3051_1|September 2008|1|N/A|Bigger connectors, Bigger board}}&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=3052_User_Guide&amp;diff=24088</id>
		<title>3052 User Guide</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=3052_User_Guide&amp;diff=24088"/>
		<updated>2018-05-09T14:36:57Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOINDEX__&lt;br /&gt;
[[Category:UserGuide]]&lt;br /&gt;
{{UserguideTOC|3052.jpg|3052}}&lt;br /&gt;
==Getting Started==&lt;br /&gt;
&lt;br /&gt;
===Checking the Contents===&lt;br /&gt;
{{UGbox|&lt;br /&gt;
&#039;&#039;&#039;You should have received:&#039;&#039;&#039;&lt;br /&gt;
* An SSR Relay board&lt;br /&gt;
* An SSR Relay connector cable&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;In order to test your new Phidget you will also need:&#039;&#039;&#039;&lt;br /&gt;
* A PhidgetInterfaceKit 8/8/8 or PhidgetTextLCD&lt;br /&gt;
* A USB cable&lt;br /&gt;
*A 9V batter, a battery connector&lt;br /&gt;
*An incandescent bulb&lt;br /&gt;
||}}&lt;br /&gt;
&lt;br /&gt;
===Connecting the Pieces===&lt;br /&gt;
{{UGbox|&lt;br /&gt;
#Connect the positive/red wire from the battery to one output terminal of the SSR Board&lt;br /&gt;
#Connect negative/black wire from the battery to one of the bulb wire.&lt;br /&gt;
#Connect the bulb wire to the other output terminal of the SSR board.&lt;br /&gt;
#Attach the SSR Board to your PhidgetInterfaceKit by connecting a wire from the terminal block marked with a + to a digital output and another wire from the terminal block marked with a - to any ground terminal on the InterfaceKit.&lt;br /&gt;
#Connect the PhidgetInterfaceKit Board to your computer using the USB cable.&lt;br /&gt;
|&lt;br /&gt;
[[File:3052_1_Connecting_The_Hardware.jpg|400px|link=]]&lt;br /&gt;
||}}&lt;br /&gt;
&lt;br /&gt;
===Testing Using Windows 2000 / XP / Vista / 7===&lt;br /&gt;
&lt;br /&gt;
{{UGwin}}&lt;br /&gt;
&lt;br /&gt;
===Running Phidgets Sample Program===&lt;br /&gt;
&lt;br /&gt;
{{UGwin2|&#039;&#039;&#039;InterfaceKit-full&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
{{UGbox|&lt;br /&gt;
Double Click on the [[File:Ph.jpg|link=]] icon to activate the Phidget Control Panel and make sure that the &#039;&#039;&#039;Phidget InterfaceKit 8/8/8&#039;&#039;&#039; is properly attached  to your PC.  &lt;br /&gt;
|[[File:1018_2_Control_Panel_Screen.jpg|400px|link=]]&lt;br /&gt;
|&lt;br /&gt;
#Double Click on &#039;&#039;&#039;Phidget InterfaceKit 8/8/8&#039;&#039;&#039; in the Phidget Control Panel to bring up InterfaceKit-full and check that the box labelled Attached contains the word True.&lt;br /&gt;
#Turn the bulb on and off by clicking on the Digital output box.&lt;br /&gt;
#The bottom row of the digital out shows the status of the request, while the top row displays the status of the digital output as reported by the 3052 Relay.&lt;br /&gt;
&lt;br /&gt;
|[[File:3053 0 InterfaceKit Screen.jpg|link=|550px]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Testing Using Mac OS X===&lt;br /&gt;
&lt;br /&gt;
{{UGmac| | }}&lt;br /&gt;
&lt;br /&gt;
===Using Linux===&lt;br /&gt;
&lt;br /&gt;
{{UGlinux}}&lt;br /&gt;
&lt;br /&gt;
===Using Windows Mobile / CE 5.0 / CE 6.0===&lt;br /&gt;
&lt;br /&gt;
{{UGce}}&lt;br /&gt;
&lt;br /&gt;
==Technical Details==&lt;br /&gt;
===Solid State Relays===&lt;br /&gt;
Solid State Relays, or SSRs, are devices designed to operate like standard relays but without mechanical motion. Built instead out of silicon transistors, SSRs allow currents and voltages to be switched by simple digital signals from a microprocessor or any other device that can supply the small amount of current needed to activate the SSR’s internal switching mechanism.  For more information on solid state relays, refer to the [[Solid State Relay Primer|SSR Primer]].&lt;br /&gt;
===Protection Devices===&lt;br /&gt;
The SSR Board is safe to use with sensitive control devices like microprocessors, and will not damage a Phidget device or your PC.  Optoisolation between the control inputs and outputs of the SSR in the form of a GaAs LED paired with a set of optically-controlled MOSFETs provides protection from output to input.  An on-board 47V bidirectional transorb across the relay output protects the board from static electricity and surges from inductive loads.&lt;br /&gt;
&lt;br /&gt;
===Using the SSR Board===&lt;br /&gt;
{{UGbox|&lt;br /&gt;
Using the SSR Relay Board in your application is typically done according to the diagram on the right, though there are other implementations for it as well.&lt;br /&gt;
|&lt;br /&gt;
[[File:3052_0_Use_Diagram.jpg|400px|link=]]&lt;br /&gt;
||}}&lt;br /&gt;
&lt;br /&gt;
==Product History==&lt;br /&gt;
{{UGhist}}&lt;br /&gt;
{{UGrow2|3052_0|October 2007 |0 |N/A |Product Release }}&lt;br /&gt;
{{UGrow2|3052_1|October 2007 |1 |N/A |Replaced connector w/ terminal blocks }}&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=3053_User_Guide&amp;diff=24087</id>
		<title>3053 User Guide</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=3053_User_Guide&amp;diff=24087"/>
		<updated>2018-05-09T14:36:50Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOINDEX__&lt;br /&gt;
[[Category:UserGuide]]&lt;br /&gt;
{{UserguideTOC|3053.jpg|3053}}&lt;br /&gt;
==Getting Started==&lt;br /&gt;
&lt;br /&gt;
===Checking the Contents===&lt;br /&gt;
{{UGbox|&lt;br /&gt;
&#039;&#039;&#039;You should have received:&#039;&#039;&#039;&lt;br /&gt;
* A Dual SSR board&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;In order to test your new Phidget you will also need:&#039;&#039;&#039;&lt;br /&gt;
* A PhidgetInterfaceKit 8/8/8 or PhidgetTextLCD&lt;br /&gt;
* A USB cable&lt;br /&gt;
*A 9V batter, a battery connector&lt;br /&gt;
*An incandescent bulb&lt;br /&gt;
*2 pieces of wire&lt;br /&gt;
||}}&lt;br /&gt;
&lt;br /&gt;
===Connecting the Pieces===&lt;br /&gt;
{{UGbox|&lt;br /&gt;
#Connect the positive/red wire from the battery to one output terminal of the SSR Board&lt;br /&gt;
#Connect negative/black wire from the battery to one of the bulb wire.&lt;br /&gt;
#Connect the bulb wire to the other output terminal of the SSR board.&lt;br /&gt;
#Attach the SSR Board to your PhidgetInterfaceKit by connecting a wire from the terminal block marked with a + to a digital output and another wire from the terminal block marked with a - to any ground terminal on the InterfaceKit.&lt;br /&gt;
#Connect the PhidgetInterfaceKit Board to your computer using the USB cable.&lt;br /&gt;
|&lt;br /&gt;
[[File:3053_0_Connecting_The_Hardware.jpg|400px|link=]]&lt;br /&gt;
||}}&lt;br /&gt;
&lt;br /&gt;
===Testing Using Windows 2000 / XP / Vista / 7===&lt;br /&gt;
&lt;br /&gt;
{{UGwin}}&lt;br /&gt;
&lt;br /&gt;
===Running Phidgets Sample Program===&lt;br /&gt;
&lt;br /&gt;
{{UGwin2|&#039;&#039;&#039;InterfaceKit-full&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
{{UGbox|&lt;br /&gt;
Double Click on the [[File:Ph.jpg|link=]] icon to activate the Phidget Control Panel and make sure that the &#039;&#039;&#039;Phidget InterfaceKit 8/8/8&#039;&#039;&#039; is properly attached  to your PC.  &lt;br /&gt;
|[[File:1018_2_Control_Panel_Screen.jpg|400px|link=]]&lt;br /&gt;
|&lt;br /&gt;
#Double Click on &#039;&#039;&#039;Phidget InterfaceKit 8/8/8&#039;&#039;&#039; in the Phidget Control Panel to bring up InterfaceKit-full and check that the box labelled Attached contains the word True.&lt;br /&gt;
#Turn the bulb on and off by clicking on the Digital output box.&lt;br /&gt;
#The bottom row of the digital out shows the status of the request, while the top row displays the status of the digital output as reported by the 3053 Relay.&lt;br /&gt;
&lt;br /&gt;
|[[File:3053 0 InterfaceKit Screen.jpg|link=|550px]]||&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Testing Using Mac OS X===&lt;br /&gt;
&lt;br /&gt;
{{UGmac| | }}&lt;br /&gt;
&lt;br /&gt;
===Using Linux===&lt;br /&gt;
&lt;br /&gt;
{{UGlinux}}&lt;br /&gt;
&lt;br /&gt;
===Using Windows Mobile / CE 5.0 / CE 6.0===&lt;br /&gt;
&lt;br /&gt;
{{UGce}}&lt;br /&gt;
&lt;br /&gt;
==Technical Details==&lt;br /&gt;
===Solid State Relays===&lt;br /&gt;
Solid State Relays, or SSRs, are devices designed to operate like standard relays but without mechanical motion. Built instead out of silicon transistors, SSRs allow currents and voltages to be switched by simple digital signals from a microprocessor or any other device that can supply the small amount of current needed to activate the SSR’s internal switching mechanism.  For more information on solid state relays, refer to the [[Solid State Relay Primer|SSR Primer]].&lt;br /&gt;
===Using the SSR Board===&lt;br /&gt;
{{UGbox|&lt;br /&gt;
Using the SSR Relay Board in your application is typically done according to the diagram on the right, though there are other implementations for it as well.  The SSR control inputs can be controlled with a wide range of voltage levels between 3 and 30V.  Be sure to match the polarity of the control signal with the +/- labels on the input terminal blocks.  One concern with any type of relay is the turn-on and turn-off times.  Since the SSR Board uses optoisolation, the turn-on delay depends on how strong the control signal is, while the turn-off delay is quite constant, and quick.  The 3053 uses internal circuitry to keep the current of the control signal around 10mA, no matter how what voltage level is used.  To improve the turn-on time of the SSR, a short current spike (approximately 35mA for 300μs) at turn-on is possible if your control signal can provide it.  This allows the SSR to turn on quicker, reducing heating during the turn-on transition.  If your control signal is not able to provide the 35mA, the SSR will turn on anyway, but will take up to 50% longer. If the Phidget InterfaceKit 8/8/8 is being used to drive the input, the control signal has an output resistance of about 250 Ohms, and the SSR has a turn-on time of 1.90ms.  The turn-off time is approximately 160μs.&lt;br /&gt;
|&lt;br /&gt;
[[File:3053_0_Diagram.jpg|400px|link=]]&lt;br /&gt;
||}}&lt;br /&gt;
&lt;br /&gt;
===Isolation and Protection Devices===&lt;br /&gt;
The SSR Board is safe to use with sensitive control devices like microprocessors, and will not damage a Phidget device or your PC. This is achieved through the use of an optoisolation chip - creating a physical barrier between the SSR control inputs and the potentially high voltage and high current outputs. In addition to the optoisolation between the inputs and outputs, there is an on-board 47V voltage supression device &lt;br /&gt;
across the relay output that protects the board from static electricity and surges from inductive loads. To protect the optoisolation LEDs from potential overcurrent on the inputs, a transistor-based current limiting circuit has been added.  The circuit limits the constant current travelling through the LEDs to 10mA, regardless of the input voltage.  The transistors dissipate what would have been extra current in the form of heat. The 3053 Dual SSR Board comprises of two channels.  Both channels are electrically and physically isolated from each other, and are controlled individually.&lt;br /&gt;
====Warning====&lt;br /&gt;
The SSR Board is able to safely switch at a speed of 20Hz. This board is not intended as a high frequency switch due to the extreme heating that will occur.  Although it is possible to switch the SSR Board at up to 300Hz, it easily produces enough heat to liquefy the solder underneath the transistors (which requires at least 240ºC) at a 3A load.&lt;br /&gt;
&lt;br /&gt;
==Product History==&lt;br /&gt;
{{UGhist}}&lt;br /&gt;
{{UGrow|May 2010 |0 |N/A |Product Release }}&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=3054_User_Guide&amp;diff=24086</id>
		<title>3054 User Guide</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=3054_User_Guide&amp;diff=24086"/>
		<updated>2018-05-09T14:36:42Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOINDEX__&lt;br /&gt;
[[Category:UserGuide]]&lt;br /&gt;
{{UserguideTOC|3054.jpg|3054}}&lt;br /&gt;
==Getting Started==&lt;br /&gt;
&lt;br /&gt;
===Checking the Contents===&lt;br /&gt;
{{UGbox|&lt;br /&gt;
&#039;&#039;&#039;You should have received:&#039;&#039;&#039;&lt;br /&gt;
* An SSR Relay board&lt;br /&gt;
* An SSR Relay connector cable&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;In order to test your new Phidget you will also need:&#039;&#039;&#039;&lt;br /&gt;
* A PhidgetInterfaceKit 8/8/8 or PhidgetTextLCD&lt;br /&gt;
* A USB cable&lt;br /&gt;
*A 9V battery, a battery connector&lt;br /&gt;
*An incandescent bulb&lt;br /&gt;
||}}&lt;br /&gt;
&lt;br /&gt;
===Connecting the Pieces===&lt;br /&gt;
{{UGbox|&lt;br /&gt;
#Connect the positive/red wire from the battery to one output terminal of the SSR Board&lt;br /&gt;
#Connect negative/black wire from the battery to one of the bulb wire.&lt;br /&gt;
#Connect the bulb wire to the other output terminal of the SSR board.&lt;br /&gt;
#Attach the SSR Board to your PhidgetInterfaceKit by connecting a wire from the terminal block marked with a + to a digital output, and another wire from the terminal block marked with a &amp;quot;G&amp;quot; to any ground terminal on the InterfaceKit.&lt;br /&gt;
#Connect the PhidgetInterfaceKit Board to your computer using the USB cable.&lt;br /&gt;
|&lt;br /&gt;
[[File:3054_0_Connecting_The_Hardware.jpg|400px|link=]]&lt;br /&gt;
||}}&lt;br /&gt;
&lt;br /&gt;
===Testing Using Windows 2000 / XP / Vista / 7===&lt;br /&gt;
&lt;br /&gt;
{{UGwin}}&lt;br /&gt;
&lt;br /&gt;
===Running Phidgets Sample Program===&lt;br /&gt;
&lt;br /&gt;
{{UGwin2|&#039;&#039;&#039;InterfaceKit-full&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
{{UGbox|&lt;br /&gt;
Double Click on the [[File:Ph.jpg|link=]] icon to activate the Phidget Control Panel and make sure that the &#039;&#039;&#039;Phidget InterfaceKit 8/8/8&#039;&#039;&#039; is properly attached  to your PC.  &lt;br /&gt;
|[[File:1018_2_Control_Panel_Screen.jpg|400px|link=]]&lt;br /&gt;
|&lt;br /&gt;
#Double Click on &#039;&#039;&#039;Phidget InterfaceKit 8/8/8&#039;&#039;&#039; in the Phidget Control Panel to bring up InterfaceKit-full and check that the box labelled Attached contains the word True.&lt;br /&gt;
#Turn the bulb on and off by clicking on the Digital output box.&lt;br /&gt;
#The bottom row of the digital out shows the status of the request, while the top row displays the status of the digital output as reported by the 3054 Relay.&lt;br /&gt;
&lt;br /&gt;
|[[File:3053 0 InterfaceKit Screen.jpg|link=|550px]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Testing Using Mac OS X===&lt;br /&gt;
&lt;br /&gt;
{{UGmac| | }}&lt;br /&gt;
&lt;br /&gt;
===Using Linux===&lt;br /&gt;
&lt;br /&gt;
{{UGlinux}}&lt;br /&gt;
&lt;br /&gt;
===Using Windows Mobile / CE 5.0 / CE 6.0===&lt;br /&gt;
&lt;br /&gt;
{{UGce}}&lt;br /&gt;
&lt;br /&gt;
==Technical Details==&lt;br /&gt;
===Solid State Relays===&lt;br /&gt;
Solid State Relays, or SSRs, are devices designed to operate like standard relays but without mechanical motion. Built instead out of silicon transistors, SSRs allow currents and voltages to be switched by simple digital signals from a microprocessor or any other device that can supply the small amount of current needed to activate the SSR’s internal switching mechanism.  For more information on solid state relays, refer to the [[Solid State Relay Primer|SSR Primer]].&lt;br /&gt;
===Protection Devices===&lt;br /&gt;
The SSR Board is safe to use with sensitive control devices like microprocessors, and will not damage a Phidget device or your PC.  Optoisolation between the control inputs and outputs of the SSR in the form of a GaAs LED paired with a set of optically-controlled MOSFETs provides protection from output to input.  An on-board 47V bidirectional transorb across the relay output protects the board from static electricity and surges from inductive loads.&lt;br /&gt;
&lt;br /&gt;
===Using the SSR Board===&lt;br /&gt;
{{UGbox|&lt;br /&gt;
Using the SSR Relay Board in your application is typically done according to the diagram on the right, though there are other implementations for it as well.&lt;br /&gt;
|&lt;br /&gt;
[[File:3052_0_Use_Diagram.jpg|400px|link=]]&lt;br /&gt;
||}}&lt;br /&gt;
&lt;br /&gt;
==Product History==&lt;br /&gt;
{{UGhist}}&lt;br /&gt;
{{UGrow|January 2013 |0 |N/A |Product Release }}&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=3060_User_Guide&amp;diff=24085</id>
		<title>3060 User Guide</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=3060_User_Guide&amp;diff=24085"/>
		<updated>2018-05-09T14:36:34Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOINDEX__&lt;br /&gt;
[[Category:UserGuide]]&lt;br /&gt;
{{UserguideTOC|3060.jpg|3060}}&lt;br /&gt;
==Getting Started==&lt;br /&gt;
&lt;br /&gt;
===Checking the Contents===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You should have received:&#039;&#039;&#039;&lt;br /&gt;
* A 3060 - USB Isolator&lt;br /&gt;
&lt;br /&gt;
===Connection Examples===&lt;br /&gt;
The USB Isolator is designed to protect your PC from harmful voltage that can flow from attached devices to your PC through the USB cable.  The isolator is inserted between the Phidgets board and your PC.  Using the isolator you can protect your PC from relays, motor controllers, LED controllers, etc.  Any system that includes external power supplies, motors, ... etc is subject to potentially harmful voltage flowing into your PC.  The USB Isolator can also be used to eliminate problems caused by ground “voltage” differences between USB Host and USB devices.  Here are some examples showing how to connect the USB Isolator.&lt;br /&gt;
&lt;br /&gt;
{{UGbox|&lt;br /&gt;
&#039;&#039;&#039;Relays:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1014 - PhidgetInterfaceKit 0/0/4 (Low Speed)&lt;br /&gt;
||&lt;br /&gt;
#Connect the InterfaceKit to the USB type A connector on the USB Isolator board using a USB or mini-USB cable depending on the board version of your InterfaceKit.&lt;br /&gt;
#Select USB &#039;&#039;&#039;low&#039;&#039;&#039; speed using the toggle switch.&lt;br /&gt;
#Connect the USB ISolator to your PC using a mini-USB cable.&lt;br /&gt;
|[[File:3060_0_Connecting_The_Hardware_1014.jpg|400px|link=]]}}&lt;br /&gt;
&lt;br /&gt;
{{UGbox|&lt;br /&gt;
&#039;&#039;&#039;Relays:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
3051 - Dual Relay Board&lt;br /&gt;
&lt;br /&gt;
3052 - SSR Relay Board 2.5A&lt;br /&gt;
&lt;br /&gt;
3053 - Dual SSR Relay Board&lt;br /&gt;
&lt;br /&gt;
3054 - SSR Relay Board 0.5A&lt;br /&gt;
||&lt;br /&gt;
#Connect the Relay Board to a 1018 - PhidgetInterfaceKit Board.&lt;br /&gt;
#Connect the InterfaceKit to the USB typ A connector on the USB Isolator board using a USB or mini-USB cable depending on the board version of your InterfaceKit.&lt;br /&gt;
#Select USB full speed, using the toggle switch.&lt;br /&gt;
#Connect the USB Isolator to your PC using a mini-USB cable.&lt;br /&gt;
|[[File:3060_0_Connecting_The_Hardware_1051.jpg|400px|link=]]}}&lt;br /&gt;
&lt;br /&gt;
{{UGbox|&lt;br /&gt;
&#039;&#039;&#039;Motor Controllers:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1061 - PhidgetAdvancedServo 8-Motor (Full speed)&lt;br /&gt;
&lt;br /&gt;
1062 - PhidgetStepper Unipolar 4-Motor (Full speed)&lt;br /&gt;
&lt;br /&gt;
1063 - PhidgetStepper Bipolar 1-Motor (Full speed) &lt;br /&gt;
&lt;br /&gt;
1064 - PhidgetMotorControl HC (Low Speed)&lt;br /&gt;
&lt;br /&gt;
1066 - PhidgetAdvancedServo 1-Motor (Full Speed)&lt;br /&gt;
||&lt;br /&gt;
#Connect the Motor Controller to the USB typ A connector on the USB Isolator board using a USB or mini-USB cable depending on the board revision of your motor controller.&lt;br /&gt;
#Select the proper USB speed for your motor controller, using the toggle switch.&lt;br /&gt;
#Connect the USB Isolator to your PC using a mini-USB cable.&lt;br /&gt;
|[[File:3060_0_Connecting_The_Hardware_1063.jpg|400px|link=]]}}&lt;br /&gt;
&lt;br /&gt;
Note: The [[1067 User Guide|1067 - PhidgetStepper Bipolar HC]] is already isolated, and does not need a 3060.&lt;br /&gt;
&lt;br /&gt;
==Technical Details==&lt;br /&gt;
===Improving System Stability through Isolation===&lt;br /&gt;
USB assumes that the USB host and USB device are operating at almost exactly the same ground “voltage”.  If there is a substantial difference in voltage between the host and device, the USB connection will not be reliable.&lt;br /&gt;
&lt;br /&gt;
====Problem With Power Supplies====&lt;br /&gt;
As USB current travels back to the host, this current flow acts on the resistance of the cable to produce a slight voltage.  USB is designed such that during normal operation, this won’t cause problems.  However, if there are other sources of current, for example, a power supply powering a motor controller, and this power supply is on the same ground as the USB host, some of the current will flow back to the power supply through the USB cable.  Often, this can be controlled by using heavy wire between the power supply and the motor controller to “encourage” the current to take the path of least resistance, but some current will still flow on the USB cable.  USB Isolation is the ultimate solution to this, as no extra current can flow on the USB cable.&lt;br /&gt;
&lt;br /&gt;
For more information on how these ground loops work, check the [[Electricity_Primer#Shared_Grounds|Electricity Primer]].&lt;br /&gt;
&lt;br /&gt;
====Thermocouples, pH sensors====&lt;br /&gt;
If the USB device has to operate at a different ground than the USB host, isolation is the only option.  For example, if a thermocouple attached to a PhidgetTemperatureSensor is electrically connected to something that produces voltage - for example, a battery terminal, isolation is necessary to prevent destructive short circuits.  Another common example is a PH Sensor in an electrically “active” tank.  Even the presence of insulated electrical motors in the solution will affect the water.  If the PH measurement electronics are allowed to float with the voltage of the water by isolating them from the USB host ground, measurements can still be taken.  If they are not isolated, the weak short circuit between the water and the USB host will easily override the subtle PH signals being measured.&lt;br /&gt;
&lt;br /&gt;
====PhidgetAnalog====&lt;br /&gt;
Another example is using the PhidgetAnalog to produce a voltage feeding into an external device.  Unless this device can be easily set up to share the same ground with the USB host, current produced by the difference in ground between the two systems will flow, causing malfunction in some applications.  By using the USB isolator, the PhidgetAnalog will happily function at the ground of the device it’s producing the signal for.&lt;br /&gt;
&lt;br /&gt;
====Protecting your PC====&lt;br /&gt;
The USB isolator can also be used as extra protection against basic wiring errors.  There is little physical protection on USB, and wiring errors have been known to blow up USB ports or motherboards.  Not all systems require the USB isolator.  The 1064 PhidgetMotorControl has built in isolation, so further isolation would be a waste of money.&lt;br /&gt;
&lt;br /&gt;
===Selecting the USB speed===&lt;br /&gt;
The USB Isolator supports both Low-Speed (1.5Mbits/s) and Full-Speed (12Mbits/s) through a small toggle switch mounted on the board.  Here are the USB speed setting for the current version of our USB boards. If the device you&#039;re using is not listed, and is not specified for a specific speed, try both settings to determine which is better for that device.&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Low Speed&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Full Speed&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| 1012 - PhidgetInterfaceKit 0/16/16||1002 - PhidgetAnalog 4-Output&lt;br /&gt;
|-&lt;br /&gt;
| 1014 - PhidgetInterfaceKit 0/0/4||1010 - PhidgetInterfaceKit 8/8/8 Mini-Format&lt;br /&gt;
|-&lt;br /&gt;
| 1015 - PhidgetLinearTouch||1011 - PhidgetInterfaceKit 2/2/2&lt;br /&gt;
|-&lt;br /&gt;
| 1016 - PhidgetCircularTouch||1018 - PhidgetInterfaceKit 8/8/8&lt;br /&gt;
|-&lt;br /&gt;
| 1017 - PhidgetInterfaceKit 0/0/8||1019 - PhidgetInterfaceKit 0/0/8 w/6 Port Hub&lt;br /&gt;
|-&lt;br /&gt;
| 1023 - PhidgetRFID||1024 - PhidgetRFID Read/Write&lt;br /&gt;
|-&lt;br /&gt;
| 1052 - PhidgetEncoder||1031 - PhidgetLED-64 Advanced&lt;br /&gt;
|-&lt;br /&gt;
| 1057 - PhidgetEncoder HighSpeed||1032 - PhidgetLED-64 Advanced&lt;br /&gt;
|-&lt;br /&gt;
| 1059 - PhidgetAccelerometer 3-Axis||1040 - PhidgetGPS&lt;br /&gt;
|-&lt;br /&gt;
| || 1041 - PhidgetSpatial 0/0/3 Basic&lt;br /&gt;
|-&lt;br /&gt;
| || 1042 - PhidgetSpatial 3/3/3 Basic&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;17&amp;quot;|    || 1043 - PhidgetSpatioal Precision 0/0/3 High Resolution&lt;br /&gt;
|-&lt;br /&gt;
| 1044 - PhidgetSpatial Precision 3/3/3 High Resolution&lt;br /&gt;
|-&lt;br /&gt;
| 1045 - PhidgetTemperatureSensor IR&lt;br /&gt;
|-&lt;br /&gt;
| 1046 - PhidgetBridge 4-Input&lt;br /&gt;
|-&lt;br /&gt;
| 1047 - PhidgetEncoder HighSpeed 4-Input&lt;br /&gt;
|-&lt;br /&gt;
| 1048 - PhidgetTemperatureSensor 4-Input&lt;br /&gt;
|-&lt;br /&gt;
| 1049 - PhidgetSpatial 0/0/3&lt;br /&gt;
|-&lt;br /&gt;
| 1051 - PhidgetTemperatureSensor 1-Input&lt;br /&gt;
|-&lt;br /&gt;
| 1055 - PhidgetIR&lt;br /&gt;
|-&lt;br /&gt;
| 1056 - PhidgetSpatial 3/3/3&lt;br /&gt;
|-&lt;br /&gt;
| 1061 - PhidgetAdvancedServo 8-Motor&lt;br /&gt;
|-&lt;br /&gt;
| 1062 - PhidgetStepper Unipolar 4-Motor&lt;br /&gt;
|-&lt;br /&gt;
| 1063 - PhidgetStepper Bipolar 1-Motor&lt;br /&gt;
|-&lt;br /&gt;
| 1066 - PhidgetAdvancedServo 1-Motor&lt;br /&gt;
|-&lt;br /&gt;
| 1067 - PhidgetStepper Bipolar HC&lt;br /&gt;
|-&lt;br /&gt;
| 1072 - PhidgetSBC2&lt;br /&gt;
|-&lt;br /&gt;
| 1073 - PhidgetSBC3 (High Speed)&lt;br /&gt;
|-&lt;br /&gt;
| 1203 - PhidgetTextLCD White : Integrated 8/8/8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Product History==&lt;br /&gt;
{{UGhist}}&lt;br /&gt;
{{UGrow|May 2011 |0 |N/A |Product Release }}&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=3175_User_Guide&amp;diff=24084</id>
		<title>3175 User Guide</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=3175_User_Guide&amp;diff=24084"/>
		<updated>2018-05-09T14:36:25Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOINDEX__&lt;br /&gt;
[[Category:UserGuide]]&lt;br /&gt;
{{UserguideTOC|3175.jpg|3175}}&lt;br /&gt;
==Getting Started==&lt;br /&gt;
{|&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|The 3175 RTD Resistor Kit includes four pieces of 1.00 KiloOhm resistors.  These precision resistors are used to interface Platinum RTDs to the 1046 PhidgetBridge.  Platinum RTDs (Resistive Thermal Devices) are used to make very precise temperature measurements. RTDs are very accurate, and will measure temperatures up to 500 degrees Celsius. The electrical resistance of the RTD changes predictably with temperature, and RTDs are the most accurate commonly available temperature sensors.  Measuring the resistance of an RTD requires accurate components all through the system - otherwise there is no point in paying for an RTD. The resistors in the 3175 RTD Resistor Kit have a worst case error of 0.1% - translating to a typical temperature error of 0.05 Celsius. The resistors also change their resistance very little with temperature - ambient temperature variation is a significant source of error for thermocouples. RTDs with a well designed data acquisition system will not be subject to these temperature variation errors.  Wiring the resistors to your RTD allows the 1046 PhidgetBridge to convert the resistances into a voltage, which it then measures. The PhidgetBridge is by far the most precise Phidget device for measuring voltage. The PhidgetBridge also cancels the errors resulting from USB voltage variation.||[[File:3175_0_Closeup.jpg|400px|link=]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{RTDinfo}}&lt;br /&gt;
&lt;br /&gt;
===Using the PhidgetBridge Code Sample on Windows===&lt;br /&gt;
{|&lt;br /&gt;
|The PhidgetBridge Bridge-full application will allow you to verify that your PhidgetBridge is working, and that your wiring is functional. Please check the 1046 manual for instructions on launching the application. The PhidgetBridge has the ability to amplify the measured signal - it was built to measure extremely small signals. Amplification is not necessary with RTDs, so we recommend leaving the gain set to 1. If you do decide to amplify, please study the limitations of amplification on the 1046, to ensure that the most extreme temperatures encountered do not cause the amplifier to reach its limit during operation, blinding your application from further changes coming from the RTD.  If amplifier is in danger of saturating (reaching the limit), an Overrange error will be thrown.  When using the Bridge-full application, remember to check the Enabled box, to power up the bridge and start measurements.||[[File:3175_0_Bridge.jpg|300px|link=]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Applying the Formula===&lt;br /&gt;
There are several standards for RTDs. Common RTDs are built from platinum, the most common models being Pt100 and Pt1000. The 100 or 1000 refers to the resistance of the RTD and 0 Celsius.  We have calculated formulas for the PT100 and PT1000 standards to convert the Bridge Value in (mv/V) directly into a temperature.&lt;br /&gt;
:where  V&amp;lt;sub&amp;gt;B&amp;lt;/sub&amp;gt; is the BridgeValue given by the PhidgetBridge (in mV/V), and&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;T_{Pt} = \frac{4.7503 \times 10^{7}}{R_0^{2}} \times (\frac{V_B}{1000-V_B})^{2}+\frac{4.6156*10^{5}}{R_0} \times (\frac{V_B}{1000-V_B})-242.615&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:R&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; is the resisitance of the RTD at 0°C (100 for Pt100 and 1000 for Pt1000)&lt;br /&gt;
&lt;br /&gt;
====Using the Resistor Kit with non-standard RTDs and thermistors====&lt;br /&gt;
Some RTDs are not standardized, so we cannot provide a formula to convert the Bridge Value to temperature. The following formula will calculate the resistance of the RTD or thermistor from the bridge voltage - a good start for computing the temperature.  To calculate temperature, check the manufacturer’s data sheet for formulas or tables for converting resistance to temperature.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;R_{RTD}=2000 \times \frac{V_B}{1-V_B}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Self heating of RTDs===&lt;br /&gt;
By passing current through the RTD, it will heat up, distorting your temperature measurement.  To determine the power dissipated as heat in the RTD use the following formula, &lt;br /&gt;
:where R&amp;lt;sub&amp;gt;RTD&amp;lt;/sub&amp;gt; is the resistance of your RTD.&lt;br /&gt;
The RTD manufacturer will often specify the temperature increase of the RTD as a function of power (watts). This&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;Power_{RTD}=(\frac{5}{2000+R_{RTD}})^{2} \times R_{RTD}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
power was calculated in the previous equation. This temperature increase will depend on if it is attached to a larger object that will sink the heat away, or if there is air movement over the RTD.  A simple way to reduce the effects of self-heating is to enable the bridge in software during the measurement period, and disable the bridge until the next measurement.&lt;br /&gt;
&lt;br /&gt;
==Product History==&lt;br /&gt;
{{UGhist}}&lt;br /&gt;
{{UGrow| December 2011|0 |N/A |Product Release }}&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=3400_User_Guide&amp;diff=24083</id>
		<title>3400 User Guide</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=3400_User_Guide&amp;diff=24083"/>
		<updated>2018-05-09T14:36:18Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOINDEX__&lt;br /&gt;
[[Category:UserGuide]]&lt;br /&gt;
{{UserguideTOC|3400.jpg|3400}}&lt;br /&gt;
==Getting Started==&lt;br /&gt;
The USB to Serial Converter allows you to connect Serial Devices to the PhidgetSBC using one of its USB connectors.  &lt;br /&gt;
&lt;br /&gt;
The USB to Serial Converter is not a Phidget device and therefore, the Converter or any devices connected to it cannot be controlled using Phidgets APIs.  Using this product requires a working knowledge of Linux.&lt;br /&gt;
&lt;br /&gt;
Here is a short manual showing you how to use the Converter on a PhidgetSBC.&lt;br /&gt;
&lt;br /&gt;
===Connect the Converter to the PhidgetSBC===&lt;br /&gt;
1. Log onto the SBC via SSH.  Your SBC may be running an older version of firmware that does not support the USB to Serial Converter, requiring you to update your SBC firmware to the latest version.&lt;br /&gt;
&lt;br /&gt;
[[File:3400_0_Connecting_The_Hardware.jpg|400px|link=]]&lt;br /&gt;
&lt;br /&gt;
2. Plug the USB to Serial converter into an available USB port on the Phidget SBC. The SBC should automatically recognize the converter.&lt;br /&gt;
&lt;br /&gt;
3. Type &amp;lt;code&amp;gt;dmesg | tail –n 5&amp;lt;/code&amp;gt; on the SBC to view the last 5 lines of the kernel’s message buffer. You should see something similar to the lines below:&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
usb 1-1.1: new full speed USB device using s3c2410-ohci and address 8&lt;br /&gt;
usb 1-1.1: configuration #1 chosen from 1 choice&lt;br /&gt;
pl2303 1-1.1:1.0: pl2303 converter detected&lt;br /&gt;
usb 1-1.1: pl2303 converter now attached to ttyUSB0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
The SBC has recognized the Prolific PL2303 USB to serial converter, and has created a new serial port for it, which can be accessed at &amp;lt;code&amp;gt;/dev/ttyUSB0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Test the Converter using your PC serial port===&lt;br /&gt;
One way of testing the USB to Serial Converter is by connecting the SBC to a serial port on your PC using a Null modem cable. If your computer does not have a serial port, you can still perform the test by using a second USB to Serial Converter to connect the Null modem cable to a USB port on your PC.&lt;br /&gt;
&lt;br /&gt;
===Log in via the Serial Converter===&lt;br /&gt;
Remount the root filesystem on the SBC as read/write so that we can make changes to it. Type the following command:&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
mount –o remount rw /&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
4. Make a backup copy of our inittab file. We will be changing this file, so it’s a good idea to have a backup to revert to, should anything go wrong. Type the following:&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
cp /etc/inittab /etc/inittab.backup&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
5. Use the vi editor on the SBC to edit  /etc/inittab  and add the following line to the file; this command tells the SBC to start a terminal on ttyUSB0 using 115200 baud bitrate, and vt100 emulation. Type the following:&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
ttyUSB0:23:respawn:/sbin/getty -L ttyUSB0 115200 vt100&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
6. Edit  /etc/securetty, and add &amp;lt;code&amp;gt;ttyUSB0&amp;lt;/code&amp;gt; to the end of the file. This is the list of devices that root is allowed to log on from.&lt;br /&gt;
&lt;br /&gt;
7. Reboot the SBC using the &amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt; command&lt;br /&gt;
&lt;br /&gt;
===Make sure everything works===&lt;br /&gt;
1. Connect the serial converter to your PC’s serial port using a null modem cable.&lt;br /&gt;
&lt;br /&gt;
[[File:3400_0_PuTTY_Screen.jpg|500px|link=]]&lt;br /&gt;
&lt;br /&gt;
2. Open up the com port (eg: COM1) on your PC using a terminal program like hyperterminal, or PuTTY, using 115200 as the baud rate.&lt;br /&gt;
&lt;br /&gt;
[[File:3400_0_PuTTY_Connected.jpg|500px|link=]]&lt;br /&gt;
&lt;br /&gt;
3. When connected, you will see a login prompt similar to the one below. You can now log in to your SBC via the serial port just like you would from an SSH connection.&lt;br /&gt;
&lt;br /&gt;
[[File:3400_0_Serial_Adapter_To_Computer.jpg|400px|link=]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4. Be sure to undo the changes you have made in the /etc directory.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Communication from a C program===&lt;br /&gt;
You should already have your USB to Serial adapter plugged in, and it should already be attached as &amp;lt;code&amp;gt;/dev/ttyUSB0&amp;lt;/code&amp;gt;.  Included on the USB to Serial Converter product page is an example c program that you can use to echo &lt;br /&gt;
text sent from a host computer back to it.&lt;br /&gt;
&lt;br /&gt;
This program is configured to run at 38400 baud.  Compile and execute it on the SBC.  Plug your Null Modem cable into the PC and set up a connection to run at 38400 baud.  When you type a string on the PC, followed by Enter, the SBC will add ‘1’ to each character and echo it back to you.&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;I accidentally connected the device before installing the drivers and now it won&#039;t work, what should I do?&amp;quot;===&lt;br /&gt;
The newer drivers from Prolific do not work for the chipset in this device.  If you connect the device to your computer before installing the correct drivers Windows will look for the latest drivers available from the device manufacturer.  It will find drivers which are not compatible and the device will appear to not work.  To fix this problem follow these steps:&lt;br /&gt;
&lt;br /&gt;
*Open the device in the Windows Device Manager.&lt;br /&gt;
*Go to the Driver tab.&lt;br /&gt;
*Uninstall the drivers, make sure to check the delete box to get rid of any local files that may be stored on your computer.&lt;br /&gt;
*Plug the device in again and go back to the Device Manager.&lt;br /&gt;
*Under the driver tab again choose Update Driver.&lt;br /&gt;
*Choose &amp;quot;Browse my computer for a driver.&amp;quot;&lt;br /&gt;
*Choose &amp;quot;Let me pick from a list of device drivers on my computer.&amp;quot;&lt;br /&gt;
*Choose the older, 2008 version of the driver (assuming you have installed the drivers you downloaded from our website it should appear in the list).&lt;br /&gt;
&lt;br /&gt;
The device should be functional now.&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=3401_User_Guide&amp;diff=24082</id>
		<title>3401 User Guide</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=3401_User_Guide&amp;diff=24082"/>
		<updated>2018-05-09T14:36:10Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOINDEX__&lt;br /&gt;
[[Category:UserGuide]]&lt;br /&gt;
{{UserguideTOC|3401.jpg|3401}}&lt;br /&gt;
==Getting Started==&lt;br /&gt;
The USB to Audio adapter provides sound capabilities to the PhidgetSBC.  The audio adapter offers two integrated channels - one for speakers or headphones, and one for a microphone.  The Audio Adapter  plugs into any of the PhidgetSBC USB ports.  The USB to Audio Adapter is not a Phidget device and is not controlled using Phidgets APIs.  &lt;br /&gt;
&lt;br /&gt;
Using this product requires a working knowledge of Linux.  &lt;br /&gt;
&lt;br /&gt;
[[File:3401_0_Connecting_The_Hardware.jpg|400px|link=|left]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
===Connect the Sound Adapter to the PhidgetSBC===&lt;br /&gt;
1. Log onto the SBC via SSH.  &lt;br /&gt;
:&#039;&#039;&#039;PhidgetSBC (1070)&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
::Your SBC may be running an older version of firmware that does not support the USB Audio Adapter, requiring you to update your SBC firmware to the latest version - update to the full version.&lt;br /&gt;
:&#039;&#039;&#039;PhidgetSBC2 (1072) or PhidgetSBC3 (1073)&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
::You must install libasound2, and optionally mpg123: apt-get install libasound2 mpg123 Make sure to set “Include full Debian Package Repository” to true on the System-&amp;gt;Packages web interface page and save changes first, or the packages won’t be available.&lt;br /&gt;
2. Plug the Audio Adapter into an open USB port on the SBC. The SBC should automatically recognize the converter.&lt;br /&gt;
&lt;br /&gt;
Type &amp;lt;code&amp;gt;dmesg | tail –n 5&amp;lt;/code&amp;gt; on the SBC to view the last 5 lines of the kernel’s message buffer. You should see something similar to the lines below (this is output from a PhidgetSBC2):&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
usb 1-1.1: New USB device strings: Mfr=0, Product=1, SerialNumber=0&lt;br /&gt;
usb 1-1.1: Product: USB Headphone Set&lt;br /&gt;
input: USB Headphone Set as /devices/platform/s3c2410-ohci/usb1/1-1/1-1.1/1-1.1:1.3/&lt;br /&gt;
input/input0&lt;br /&gt;
usbcore: registered new interface driver snd-usb-audio&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
This tells you that the USB to Audio adapter was properly recognized.&lt;br /&gt;
&lt;br /&gt;
===Playing an MP3 File===&lt;br /&gt;
1. Plug a set of headphones, or computer speakers into the green jack on the back of the audio device.&lt;br /&gt;
&lt;br /&gt;
[[File:3401 0 Speakers.jpg|400px|link=]]&lt;br /&gt;
&lt;br /&gt;
2. Included with the Phidget SBC is an mpeg audio playback program mpg123.  To play an mp3 file, simple type:&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
mpg123 –g 100 filename.mp3 &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
This file can be located either in your home director, or on a USB storage device.  The &amp;lt;code&amp;gt;-g 100&amp;lt;/code&amp;gt; option tells mpg123 to turn the gain on the audio device to 100%.&lt;br /&gt;
&lt;br /&gt;
3. The program can also be used to play streaming audio.  If you SBC is connected to the internet through your home network, you can type a command like:&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
mpg123 -g 100 -@ http://www.di.fm/mp3/club.pls. &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;-@&amp;lt;/code&amp;gt; option tells mpg123 that the file is actually a playlist, not a sound file.&lt;br /&gt;
&lt;br /&gt;
4. Your SBC should start playing music from the radio stream.&lt;br /&gt;
&lt;br /&gt;
===Using a Microphone===&lt;br /&gt;
[[File:3401 0 Mic.jpg|400px|link=]]&lt;br /&gt;
&lt;br /&gt;
1. Plug a set of headphones, or computer speakers into the green jack on the back of the audio adapter.&lt;br /&gt;
&lt;br /&gt;
2. Plug a microphone into the yellow jack on the back of the audio adapter.&lt;br /&gt;
&lt;br /&gt;
3. You can test the input of the audio adapter by typing (1070 only):&lt;br /&gt;
&amp;lt;div class=&amp;quot;source&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
cat /dev/audio &amp;gt; /dev/audio &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
The /dev/audio device can be used for both input, as well as playback.  This command reads the input, and sends it right back to the output.&lt;br /&gt;
&lt;br /&gt;
4. Speak into the microphone, you should be able to hear your voice on your headphones or speakers.&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=3531_User_Guide&amp;diff=24081</id>
		<title>3531 User Guide</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=3531_User_Guide&amp;diff=24081"/>
		<updated>2018-05-09T14:36:03Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOINDEX__&lt;br /&gt;
[[Category:UserGuide]]&lt;br /&gt;
{{UserguideTOC|3531.jpg|3531}}&lt;br /&gt;
==Getting Started==&lt;br /&gt;
&lt;br /&gt;
===Checking the Contents===&lt;br /&gt;
{{UGbox|&lt;br /&gt;
&#039;&#039;&#039;You should have received:&#039;&#039;&#039;&lt;br /&gt;
* Plastic encoder cap and base&lt;br /&gt;
* Encoder disk&lt;br /&gt;
* Encoder PCB&lt;br /&gt;
* Two screws&lt;br /&gt;
* 0.9mm hex key for disk set-screw&lt;br /&gt;
* 3035 - Cable for HKT22 Encoder&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;In order to test your new Phidget you will also need:&#039;&#039;&#039;&lt;br /&gt;
* A motor with a rear shaft and compatible mounting holes&lt;br /&gt;
* A motor controller Phidget&lt;br /&gt;
* A Phidget with an encoder input&lt;br /&gt;
||}}&lt;br /&gt;
&lt;br /&gt;
===Connecting the Pieces===&lt;br /&gt;
{{UGbox|&lt;br /&gt;
Take the plastic base, the encoder PCB, and the two screws (the screws should be inside the encoder cap). Place the PCB with the white connector facing downward so that it fits into the space on the plastic base. Take care not to touch the optical sensor on top of the PCB, because your fingerprints could affect the operation of the sensor. Place the screws in the two holes in the PCB.&lt;br /&gt;
|&lt;br /&gt;
[[File:3531_0_Connection1.jpg|400px|link=]]&lt;br /&gt;
|&lt;br /&gt;
Line the parts up with the mounting holes on the back of the motor. It doesn&#039;t matter which way the encoder is facing, but for cable management purposes you may want to have the connector facing the same direction as the motor&#039;s wires. Screw the parts onto the back of the motor, tightening until there is no visible gap between the PCB and the plastic base. Do not over-tighten.&lt;br /&gt;
|&lt;br /&gt;
[[File:3531_0_Connection2.jpg|400px|link=]]&lt;br /&gt;
}}&lt;br /&gt;
{{UGbox6|&lt;br /&gt;
Get the encoder disk and hex key. Do not touch the surface of the encoder disk, as your fingerprints could affect the operation of the optical sensor. Place the encoder disk on the rear shaft of the motor with the metal coupler facing outward. Slide the encoder disk until the surface of the disk is approximately 1.5mm from the optical sensor on the PCB. Use the hex key to tighten the set-screw on the coupler of the encoder disk. &lt;br /&gt;
|&lt;br /&gt;
[[File:3531_0_Connection3.jpg|400px|link=]]&lt;br /&gt;
|&lt;br /&gt;
Double check everything before attaching the plastic cap; it is very difficult to remove once it snaps in place. &lt;br /&gt;
|&lt;br /&gt;
[[File:3531_0_Connection4.jpg|400px|link=]]&lt;br /&gt;
|&lt;br /&gt;
Attach the included encoder cable and you&#039;re all done! For further instructions, visit the [[:Category: UserGuide|user guide]] for the motor controller and encoder interface Phidget that you&#039;re using. &lt;br /&gt;
|&lt;br /&gt;
[[File:3531_0_Connection5.jpg|400px|link=]]&lt;br /&gt;
||}}&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=3614_User_Guide&amp;diff=24080</id>
		<title>3614 User Guide</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=3614_User_Guide&amp;diff=24080"/>
		<updated>2018-05-09T14:35:55Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOINDEX__&lt;br /&gt;
[[Category:UserGuide]]&lt;br /&gt;
{{UserguideTOC|3614.jpg|3614}}&lt;br /&gt;
&lt;br /&gt;
{{LED_Reel_Connection_Manual|3614}}&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=3615_User_Guide&amp;diff=24079</id>
		<title>3615 User Guide</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=3615_User_Guide&amp;diff=24079"/>
		<updated>2018-05-09T14:35:47Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOINDEX__&lt;br /&gt;
[[Category:UserGuide]]&lt;br /&gt;
{{UserguideTOC|3615.jpg|3615}}&lt;br /&gt;
&lt;br /&gt;
{{LED_Reel_Connection_Manual|3615}}&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=3616_User_Guide&amp;diff=24078</id>
		<title>3616 User Guide</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=3616_User_Guide&amp;diff=24078"/>
		<updated>2018-05-09T14:35:40Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOINDEX__&lt;br /&gt;
[[Category:UserGuide]]&lt;br /&gt;
{{UserguideTOC|3616.jpg|3616}}&lt;br /&gt;
&lt;br /&gt;
{{LED_Reel_Connection_Manual|3616}}&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=3618_User_Guide&amp;diff=24077</id>
		<title>3618 User Guide</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=3618_User_Guide&amp;diff=24077"/>
		<updated>2018-05-09T14:35:33Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOINDEX__&lt;br /&gt;
[[Category:UserGuide]]&lt;br /&gt;
{{UserguideTOC|3618.jpg|3618}}&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
This manual describes how to connect and control the [{{SERVER}}/products.php?product_id=3618 3618 LED module] using Phidgets I/O boards and relays.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I/O Boards:&#039;&#039;&#039;&lt;br /&gt;
* [{{SERVER}}/products.php?product_id=1012 1012 - PhidgetInterfaceKit 0/16/16]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Relays:&#039;&#039;&#039;&lt;br /&gt;
* [{{SERVER}}/products.php?product_id=1014 1014 - PhidgetInterfaceKit 0/0/4]&lt;br /&gt;
* [{{SERVER}}/products.php?product_id=1017 1017 - PhidgetInterfaceKit 0/0/8]&lt;br /&gt;
&lt;br /&gt;
==Connecting the LED Module==&lt;br /&gt;
&lt;br /&gt;
===Connecting to the 1012 - PhidgetInterfaceKit 0/16/16===&lt;br /&gt;
&lt;br /&gt;
[[File:3618_0_Connecting_1012.jpg|link=|500px]]&lt;br /&gt;
&lt;br /&gt;
{{UGbox|&lt;br /&gt;
# Connect the ground (-) wire from your power supply to the ground terminal (G) on the 1012.  &lt;br /&gt;
# Connect the black anode wire from the LED module to the power supply live wire (+).  &lt;br /&gt;
# Connect the red, blue, and green  cathode wires from the RGB module to digital output terminals.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Be aware that the LEDs can get damaged if the proper polarity is not respected: Anode (+), Cathode (-).&lt;br /&gt;
|[[File:3618_0_Functional_1012.jpg|border|link=|400px]]&lt;br /&gt;
||}}&lt;br /&gt;
&lt;br /&gt;
===Connecting to the 1014 - PhidgetInterfaceKit 0/0/4===&lt;br /&gt;
&lt;br /&gt;
[[File:3618_0_Connecting_1014.jpg|link=|500px]]&lt;br /&gt;
&lt;br /&gt;
{{UGbox|&lt;br /&gt;
# Connect the black anode wire from the LED module to the power supply live wire (+).   &lt;br /&gt;
# Connect the ground (-) wire from your power supply to a Common terminal on the 1014. &lt;br /&gt;
# Connect the Red, Green and Blue cathode wires from the LED module to the NO (Normally Open) terminals on the 1014.&lt;br /&gt;
# Insert jumpers between the common terminals.&lt;br /&gt;
&lt;br /&gt;
If you connect the power supply live wire to the NC (Normally Closed) terminal, the LED strip will be ON when the switch is off.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Be aware that the LEDs can get damaged if the proper polarity is not respected: Anode (+), Cathode (-).&lt;br /&gt;
|[[File:3618_0_Functional_1014.jpg|border|link=|400px]]&lt;br /&gt;
||}}&lt;br /&gt;
&lt;br /&gt;
===Connecting to the 1017 - PhidgetInterfaceKit 0/0/8===&lt;br /&gt;
&lt;br /&gt;
[[File:3618_0_Connecting_1017.jpg|link=|500px]]&lt;br /&gt;
&lt;br /&gt;
{{UGbox|&lt;br /&gt;
# Connect the black anode wire from the LED module to the power supply live wire (+).   &lt;br /&gt;
# Connect the ground (-) wire from your power supply to a Common terminal on the 1017. &lt;br /&gt;
# Connect the Red, Green and Blue cathode wires from the LED module to the NO (Normally Open) terminals on the 1017.&lt;br /&gt;
# Insert jumpers between the common terminals.If you connect the power supply live wire to the NC (Normally Closed) terminal, the LED strip will be ON when the switch is off.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Be aware that the LEDs can get damaged if the proper polarity is not respected: Anode (+), Cathode (-).&lt;br /&gt;
|[[File:3618_0_Functional_1017.jpg|border|link=|400px]]&lt;br /&gt;
||}}&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=1126_User_Guide&amp;diff=24076</id>
		<title>1126 User Guide</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=1126_User_Guide&amp;diff=24076"/>
		<updated>2018-05-09T14:35:13Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOINDEX__&lt;br /&gt;
[[Category:UserGuide]]&lt;br /&gt;
{{UserguideTOC|1126.jpg|1126}}&lt;br /&gt;
==Getting Started==&lt;br /&gt;
&lt;br /&gt;
===Checking the Contents===&lt;br /&gt;
{{UGbox|&lt;br /&gt;
&#039;&#039;&#039;You should have received:&#039;&#039;&#039;&lt;br /&gt;
* A differential gas pressure sensor&lt;br /&gt;
* A sensor cable &lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;In order to test your new Phidget you will also need:&#039;&#039;&#039;&lt;br /&gt;
* A PhidgetInterfaceKit 8/8/8 or PhidgetTextLCD&lt;br /&gt;
* A USB cable&lt;br /&gt;
||}}&lt;br /&gt;
&lt;br /&gt;
===Connecting the Pieces===&lt;br /&gt;
{{UGbox|&lt;br /&gt;
#Connect the Gas Pressure Sensor to the Analog Input 6 on the PhidgetInterfaceKit 8/8/8 using the sensor cable.&lt;br /&gt;
#Connect the PhidgetInterfaceKit to your PC using the USB cable. &lt;br /&gt;
|&lt;br /&gt;
[[File:1126_0_Connecting_The_Hardware.jpg|400px|link=]]&lt;br /&gt;
||}}&lt;br /&gt;
&lt;br /&gt;
===Testing Using Windows 2000 / XP / Vista / 7===&lt;br /&gt;
&lt;br /&gt;
{{UGwin}}&lt;br /&gt;
&lt;br /&gt;
===Running Phidgets Sample Program===&lt;br /&gt;
&lt;br /&gt;
{{UGwin2|&#039;&#039;&#039;InterfaceKit-full&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
{{UGbox6|&lt;br /&gt;
Double Click on the [[File:Ph.jpg|link=]] icon to activate the Phidget Control Panel and make sure that the &#039;&#039;&#039;Phidget InterfaceKit 8/8/8&#039;&#039;&#039; is properly attached  to your PC.  &lt;br /&gt;
|[[File:1018_2_Control_Panel_Screen.jpg|400px|link=]]&lt;br /&gt;
|&lt;br /&gt;
#Double Click on &#039;&#039;&#039;Phidget InterfaceKit 8/8/8&#039;&#039;&#039; in the Phidget Control Panel to bring up InterfaceKit-full and check that the box labelled Attached contains the word True.&lt;br /&gt;
#Make sure that the Ratiometric box is Ticked.&lt;br /&gt;
#When the sensor is plugged in, the value in Analog In should be close to 500.&lt;br /&gt;
#You can adjust the input sensitivity by moving the slider pointer.&lt;br /&gt;
#Click on the Sensors button to bring up the Advanced Sensor Form.&lt;br /&gt;
|&lt;br /&gt;
[[File:1126 0 InterfaceKit Screen.jpg|400px|link=]]&lt;br /&gt;
|&lt;br /&gt;
#In the Sensor 6 box, select the 1126 - Differential Gas Pressure Sensor from the drop down menu.&lt;br /&gt;
#This is the pressure differential between the sensor ports, measured in Pascals and pounds per square inch.&lt;br /&gt;
#Formula used to convert the analog input SensorValue into.&lt;br /&gt;
|&lt;br /&gt;
[[File:1126 0 Advanced Sensor Form Screen.jpg|link=|400px]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Testing Using Mac OS X===&lt;br /&gt;
&lt;br /&gt;
{{UGmac| | }}&lt;br /&gt;
&lt;br /&gt;
===Using Linux===&lt;br /&gt;
&lt;br /&gt;
{{UGlinux}}&lt;br /&gt;
&lt;br /&gt;
===Using Windows Mobile / CE 5.0 / CE 6.0===&lt;br /&gt;
&lt;br /&gt;
{{UGce}}&lt;br /&gt;
&lt;br /&gt;
==Technical Details==&lt;br /&gt;
The Differential Gas Pressure Sensor uses bipolar processing to provide an accurate, high level analog input signal that is proportional to the applied pressure.&lt;br /&gt;
&lt;br /&gt;
When the sensor is plugged in, the SensorValue defaults to 500 +-2%.&lt;br /&gt;
&lt;br /&gt;
===Ports===&lt;br /&gt;
The sensor comes with a positive top port and a negative bottom port. These ports have a diameter of 2.79mm to 3.30 mm (nominal 3mm). For hosing, we recommend using polyurethane tubing.  We have had good results with 2.4mm ID tubing from Emiplastics.com.  In imperial measurement, 3/32” ID tubing is equivalent.  This is available through laboratory supply stores such as Cole Parmer.&lt;br /&gt;
&lt;br /&gt;
===Formulas===&lt;br /&gt;
The Formula to translate SensorValue into Pressure is:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\text{Pressure (kPa)}= \frac{\text{SensorValue}}{18}  - 27.7777&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\text{Pressure (psi)} = \text{(SensorValue} \times \text{0.008055) - 4.0277}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; 1.0 kPa = 0.145 psi&lt;br /&gt;
&lt;br /&gt;
{{UGotherint}}&lt;br /&gt;
&lt;br /&gt;
{{UGasens}}&lt;br /&gt;
&lt;br /&gt;
==API==&lt;br /&gt;
{{SensorAPI}}&lt;br /&gt;
&lt;br /&gt;
==Product History==&lt;br /&gt;
{{UGhist}}&lt;br /&gt;
{{UGrow|March 2008 |0 |N/A |Product Release }}&lt;br /&gt;
{{UGrow|January 2016 |1 |N/A |New PCB shape and color }}&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=1127_User_Guide&amp;diff=24075</id>
		<title>1127 User Guide</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=1127_User_Guide&amp;diff=24075"/>
		<updated>2018-05-09T14:35:04Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOINDEX__&lt;br /&gt;
[[Category:UserGuide]]&lt;br /&gt;
{{UserguideTOC|1127.jpg|1127}}&lt;br /&gt;
==Getting Started==&lt;br /&gt;
&lt;br /&gt;
===Checking the Contents===&lt;br /&gt;
{{UGbox|&lt;br /&gt;
&#039;&#039;&#039;You should have received:&#039;&#039;&#039;&lt;br /&gt;
* A precision light sensor&lt;br /&gt;
* A sensor cable&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;In order to test your new Phidget you will also need:&#039;&#039;&#039;&lt;br /&gt;
* A PhidgetInterfaceKit 8/8/8 or a PhidgetTextLCD&lt;br /&gt;
* A USB cable&lt;br /&gt;
||}}&lt;br /&gt;
&lt;br /&gt;
===Connecting the Pieces===&lt;br /&gt;
{{UGbox|&lt;br /&gt;
#Connect the Precision Light Sensor to the Analog Input 6 on the PhidgetInterfaceKit 8/8/8 using the sensor cable.&lt;br /&gt;
#Connect the PhidgetInterfaceKit to your PC using the USB cable.&lt;br /&gt;
|&lt;br /&gt;
[[File:1127_0_Connecting_The_Hardware.jpg|400px|link=]]&lt;br /&gt;
||}}&lt;br /&gt;
&lt;br /&gt;
===Testing Using Windows 2000 / XP / Vista / 7===&lt;br /&gt;
&lt;br /&gt;
{{UGwin}}&lt;br /&gt;
&lt;br /&gt;
===Running Phidgets Sample Program===&lt;br /&gt;
&lt;br /&gt;
{{UGwin2|&#039;&#039;&#039;InterfaceKit-full&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
{{UGbox6|&lt;br /&gt;
Double Click on the [[File:Ph.jpg|link=]] icon to activate the Phidget Control Panel and make sure that the &#039;&#039;&#039;Phidget InterfaceKit 8/8/8&#039;&#039;&#039; is properly attached  to your PC.  &lt;br /&gt;
|[[File:1018_2_Control_Panel_Screen.jpg|400px|link=]]&lt;br /&gt;
|&lt;br /&gt;
#Double Click on &#039;&#039;&#039;Phidget InterfaceKit 8/8/8&#039;&#039;&#039; in the Phidget Control Panel to bring up InterfaceKit-full and check that the box labelled Attached contains the word True.&lt;br /&gt;
#Make sure that the Ratiometric box is NOT Ticked.&lt;br /&gt;
#Move the Precision Light Sensor around and the amount of human perceivable luminosity is displayed in the Analog in Box.&lt;br /&gt;
#You can adjust the input sensitivity by moving the slider pointer.&lt;br /&gt;
#Click on the Sensors button to bring up the Advanced Sensor Form.&lt;br /&gt;
|&lt;br /&gt;
[[File:Sensor_InterfaceKit_Screen_421.jpg|400px|link=]]&lt;br /&gt;
|&lt;br /&gt;
#In the Sensor 6 box, select the 1127 - Precision Light Sensor from the drop down menu.&lt;br /&gt;
#The amount of luminosity in lux is shown here.&lt;br /&gt;
#Formula used to convert the analog input SensorValue into lux. The sensor actually outputs in lux.&lt;br /&gt;
|&lt;br /&gt;
[[File:1127 0 Advanced Sensor Form Screen.jpg|link=|400px]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Testing Using Mac OS X===&lt;br /&gt;
&lt;br /&gt;
{{UGmac| | }}&lt;br /&gt;
&lt;br /&gt;
===Using Linux===&lt;br /&gt;
&lt;br /&gt;
{{UGlinux}}&lt;br /&gt;
&lt;br /&gt;
===Using Windows Mobile / CE 5.0 / CE 6.0===&lt;br /&gt;
&lt;br /&gt;
{{UGce}}&lt;br /&gt;
&lt;br /&gt;
==Technical Details==&lt;br /&gt;
The human eye is less sensitive to changes in light intensity than the 1127, but is able to see a wider range.  The Human eye range is from 50 µlux (starlight) to 100 klx (extremely bright sunny day).  The 1127, on the other hand,  is able to measure from 1 lux (Moonlight) to 1000 lux (TV studio lighting) The 1127 is able to detect higher frequency fluctuations in light levels than the human eye.  If you notice noise on&lt;br /&gt;
the signal that you cannot perceive yourself, it is probably due to incandescent light flicker, or other varying light sources. This sensor is designed to respond to visible light, and it can sense light from concentrated sources like laser pointers (although be careful with high-power lasers, as they could damage the sensor). It will also have a very muted response to IR light that is close to the visible spectrum (700-800 nm). The 1127 is Non-Ratiometric which means that you cannot rely on the sensor saturating at 1000 SensorValue.  To be conservative, interpret SensorValue over 950 as saturated, with the true light level being unknown.&lt;br /&gt;
&lt;br /&gt;
===Sensitivity Response===&lt;br /&gt;
&lt;br /&gt;
The 1127 uses the AMS104 light sensor package. The following graph illustrates the sensor&#039;s sensitivity to specific wavelengths of light.&lt;br /&gt;
&lt;br /&gt;
[[File:AMS104.jpg|link=|300px]]&lt;br /&gt;
&lt;br /&gt;
===Formulas===&lt;br /&gt;
The formula to translate SensorValue into luminosity is:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\text{Luminosity (lux)} = \text{SensorValue} \!&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{UGotherint}}&lt;br /&gt;
&lt;br /&gt;
{{UGasens}}&lt;br /&gt;
&lt;br /&gt;
==API==&lt;br /&gt;
{{SensorAPI}}&lt;br /&gt;
&lt;br /&gt;
==Product History==&lt;br /&gt;
{{UGhist}}&lt;br /&gt;
{{UGrow|May 2008 |0 |N/A |Product Release }}&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #fff0f0&amp;quot; align=center|April 2013||style=&amp;quot;background: #fff0f0&amp;quot; align=left colspan=3| Product Discontinued.&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=1128_User_Guide&amp;diff=24074</id>
		<title>1128 User Guide</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=1128_User_Guide&amp;diff=24074"/>
		<updated>2018-05-09T14:34:56Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOINDEX__&lt;br /&gt;
[[Category:UserGuide]]&lt;br /&gt;
{{UserguideTOC|1128.jpg|1128}}&lt;br /&gt;
==Getting Started==&lt;br /&gt;
&lt;br /&gt;
===Checking the Contents===&lt;br /&gt;
{{UGbox|&lt;br /&gt;
&#039;&#039;&#039;You should have received:&#039;&#039;&#039;&lt;br /&gt;
* A sonar sensor&lt;br /&gt;
* A sensor cable&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;In order to test your new Phidget you will also need:&#039;&#039;&#039;&lt;br /&gt;
* A PhidgetInterfaceKit 8/8/8 or a PhidgetTextLCD&lt;br /&gt;
* A USB cable&lt;br /&gt;
* A soldering iron and solder&lt;br /&gt;
* A piece of wire (optional)&lt;br /&gt;
||}}&lt;br /&gt;
&lt;br /&gt;
===Soldering the Sensor Cable===&lt;br /&gt;
{{UGbox|&lt;br /&gt;
Solder one end of the sensor cable to the Sonar Sensor. The black wire is soldered to GND, the red wire to +5 and the white wire to AN. Optionally a fourth wire can be soldered to RX in order to turn the sensor on and off from your computer.&lt;br /&gt;
|&lt;br /&gt;
[[File:1128_0_Wiring.jpg|400px|link=]]||&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Connecting the Pieces===&lt;br /&gt;
{{UGbox|&lt;br /&gt;
#Connect the Sonar Sensor to the Analog Input 7 on the PhidgetInterfaceKit 8/8/8 using the sensor cable.&lt;br /&gt;
#If you are using the 4th wire connect it to a digital output port.&lt;br /&gt;
#Connect the PhidgetInterfaceKit to your PC using the USB cable.&lt;br /&gt;
|&lt;br /&gt;
[[File:1128_0_Connecting_The_Hardware.jpg|400px|link=]]&lt;br /&gt;
||}}&lt;br /&gt;
&lt;br /&gt;
===Testing Using Windows 2000 / XP / Vista / 7===&lt;br /&gt;
&lt;br /&gt;
{{UGwin}}&lt;br /&gt;
&lt;br /&gt;
===Running Phidgets Sample Program===&lt;br /&gt;
&lt;br /&gt;
{{UGwin2|&#039;&#039;&#039;InterfaceKit-full&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
{{UGbox|&lt;br /&gt;
Double Click on the [[File:Ph.jpg|link=]] icon to activate the Phidget Control Panel and make sure that the &#039;&#039;&#039;Phidget InterfaceKit 8/8/8&#039;&#039;&#039; is properly attached  to your PC.  &lt;br /&gt;
|[[File:1018_2_Control_Panel_Screen.jpg|400px|link=]]&lt;br /&gt;
||}}&lt;br /&gt;
&lt;br /&gt;
{{UGbox6|&#039;&#039;&#039;If you are using a 3-wire connection&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. Double Click on &#039;&#039;&#039;Phidget InterfaceKit 8/8/8&#039;&#039;&#039; in the Phidget Control Panel to bring up InterfaceKit-full and check that the box labelled Attached contains the word True.&lt;br /&gt;
2. Make sure that the Ratiometric box is Ticked.&lt;br /&gt;
3. Move the Sonar Sensor around and point at different objects. The distance is given in the Analog In box. &lt;br /&gt;
4. You can adjust the input sensitivity by moving the slider pointer.&lt;br /&gt;
5. Click on the Sensors button to bring up the Advanced Sensor Form.&lt;br /&gt;
|&lt;br /&gt;
[[File:1128 0 InterfaceKit Screen 3Wire.jpg|400px|link=]]&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;If you are using a 4-wire connection&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
#Double Click on &#039;&#039;&#039;Phidget InterfaceKit 8/8/8&#039;&#039;&#039; in the Phidget Control Panel to bring up InterfaceKit-full and check that the box labelled Attached contains the word True.&lt;br /&gt;
#Make sure that the Ratiometric box is Ticked.&lt;br /&gt;
#Activate the Sonar Sensor, by clicking in the Digital Out box. A tick mark will appear and the Sonar Sensor is on. To turn the sensor off, click on the Digital box again. The tick mark disappears and the sensor is 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 1128.&lt;br /&gt;
#Move the Sonar Sensor around and point at different objects. The distance is given in the Analog In box. &lt;br /&gt;
#You can adjust the input sensitivity by moving the slider pointer.&lt;br /&gt;
#Click on the Sensors button to bring up the Advanced Sensor Form.&lt;br /&gt;
|&lt;br /&gt;
[[File:1128 0 InterfaceKit Screen 4Wire.jpg|link=|400px]]&lt;br /&gt;
|&lt;br /&gt;
#In the Sensor 7 box, select the 1116 - Sonar Sensor from the drop down menu.&lt;br /&gt;
#The distance of the object from the sensor is shown here.&lt;br /&gt;
#Formula used to convert the analog input SensorValue into distance.&lt;br /&gt;
|&lt;br /&gt;
[[File:1128 0 Advanced Sensor Form Screen.jpg|link=|400px]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Testing Using Mac OS X===&lt;br /&gt;
&lt;br /&gt;
{{UGmac| | }}&lt;br /&gt;
&lt;br /&gt;
===Using Linux===&lt;br /&gt;
&lt;br /&gt;
{{UGlinux}}&lt;br /&gt;
&lt;br /&gt;
===Using Windows Mobile / CE 5.0 / CE 6.0===&lt;br /&gt;
&lt;br /&gt;
{{UGce}}&lt;br /&gt;
&lt;br /&gt;
==Technical Details==&lt;br /&gt;
The Sonar Sensor is manufactured by Maxbotix.com. We have added a sensor cable and instructions on soldering the cable to the sensor. The Sonar Sensor is Ratiometric. Make sure that the ratiometric property is set to TRUE when programming the sensor. Each time after the LV-MaxSonar®-EZ1™ is powered up, it will calibrate during its first read cycle. The sensor uses this stored information to range a close object. It is important that objects not be close to the sensor during this calibration cycle. The best sensitivity is obtained when it is clear for fourteen inches, but good results are common when clear for at least seven inches. If an object is too close during the calibration cycle, the sensor may then ignore objects at that distance. The LV-MaxSonar®-EZ1™ does not use the calibration data to temperature compensate for range, but instead to compensate for the sensor ringdown pattern. If the temperature, humidity, or applied voltage changes during operation, the sensor may require recalibration to reacquire the ringdown pattern. Unless recalibrated, if the temperature increases, the sensor is more likely to have false close readings. If the temperature decreases, the sensor is more likely to have reduced upclose sensitivity. To recalibrate the LV-MaxSonar®-EZ1™, cycle power. For more complete specifications on the MaxSonar-EZ1, please visit www.maxbotix.com&lt;br /&gt;
&lt;br /&gt;
===Interference===&lt;br /&gt;
Since the beam width is fairly large and sound tends to reflect more than light, sonar sensors will interfere with one another if more than one is active in a sensor array.  To avoid interference we recommend that you poll each sensor individually and only activate the specific sensor you are polling.  That way you can activate one sensor, read the distance, and then deactivate it before moving to the next sensor.  This will give you clean results.  Perhaps the easiest way to achieve this is to take the power line from the sensor and connect it to a digital output of your InterfaceKit instead of the normal analog input power pin.  This will allow you to toggle the power to the device and turn it on or off at will.  &lt;br /&gt;
&lt;br /&gt;
===Formulas===&lt;br /&gt;
The formula to translate SensorValue to Distance is:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\text{Distance (cm)} = \text{SensorValue} \times 1.296&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{UGotherint}}&lt;br /&gt;
&lt;br /&gt;
{{UGasens}}&lt;br /&gt;
&lt;br /&gt;
==API==&lt;br /&gt;
{{SensorAPI}}&lt;br /&gt;
&lt;br /&gt;
==Product History==&lt;br /&gt;
{{UGhist}}&lt;br /&gt;
{{UGrow|February 2008 |N/A |N/A |Product Release }}&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=1129_User_Guide&amp;diff=24073</id>
		<title>1129 User Guide</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=1129_User_Guide&amp;diff=24073"/>
		<updated>2018-05-09T14:34:48Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOINDEX__&lt;br /&gt;
[[Category:UserGuide]]&lt;br /&gt;
{{UserguideTOC|1129.jpg|1129}}&lt;br /&gt;
==Getting Started==&lt;br /&gt;
&lt;br /&gt;
===Checking the Contents===&lt;br /&gt;
{{UGbox|&lt;br /&gt;
&#039;&#039;&#039;You should have received:&#039;&#039;&#039;&lt;br /&gt;
* A 1129 Touch Sensor board&lt;br /&gt;
* A sensor cable &lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;In order to test your new Phidget you will also need:&#039;&#039;&#039;&lt;br /&gt;
* A PhidgetInterfaceKit 8/8/8&lt;br /&gt;
* A USB cable&lt;br /&gt;
||}}&lt;br /&gt;
&lt;br /&gt;
===Connecting the Pieces===&lt;br /&gt;
{{UGbox|&lt;br /&gt;
#Connect the Touch Sensor to the Analog input 6 on the PhidgetInterfaceKit 8/8/8 board using the sensor cable &lt;br /&gt;
#Connect the InterfaceKit 8/8/8 to your PC using a USB cable.&lt;br /&gt;
|&lt;br /&gt;
[[File:1129_0_Connecting_The_Hardware.jpg|400px|link=]]&lt;br /&gt;
||}}&lt;br /&gt;
&lt;br /&gt;
===Testing Using Windows 2000 / XP / Vista / 7===&lt;br /&gt;
&lt;br /&gt;
{{UGwin}}&lt;br /&gt;
&lt;br /&gt;
===Running Phidgets Sample Program===&lt;br /&gt;
&lt;br /&gt;
{{UGwin2|&#039;&#039;&#039;InterfaceKit-full&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
{{UGbox6|&lt;br /&gt;
Double Click on the [[File:Ph.jpg|link=]] icon to activate the Phidget Control Panel and make sure that the &#039;&#039;&#039;Phidget InterfaceKit 8/8/8&#039;&#039;&#039; is properly attached  to your PC.  &lt;br /&gt;
|[[File:1018_2_Control_Panel_Screen.jpg|400px|link=]]&lt;br /&gt;
|&lt;br /&gt;
#Double Click on &#039;&#039;&#039;Phidget InterfaceKit 8/8/8&#039;&#039;&#039; in the Phidget Control Panel to bring up InterfaceKit-full and check that the box labelled Attached contains the word True.&lt;br /&gt;
#Make sure that the Ratiometric box is Ticked.&lt;br /&gt;
#Touch the back of the Sensor Board. When you touch anywhere on the flat surface, the value in theAnalog In box goes to 1000 (or very close to it). It goes back to 0 when you stop touching it.&lt;br /&gt;
#You can adjust the input sensitivity by moving the slider pointer.&lt;br /&gt;
#Click on the Sensors button to bring up the Advanced Sensor Form.&lt;br /&gt;
|&lt;br /&gt;
[[File:1129_0_InterfaceKit_Screen.jpg|400px|link=]]&lt;br /&gt;
|&lt;br /&gt;
#In the Sensor 6 box, select the 1129 - Touch Sensor from the drop down menu.&lt;br /&gt;
#The sensor touch state is shown here.&lt;br /&gt;
#Formula used to convert the analog input SensorValue into a touch state.&lt;br /&gt;
|&lt;br /&gt;
[[File:1129 0 Advanced Sensor Form Screen Touched.jpg|link=|400px]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Testing Using Mac OS X===&lt;br /&gt;
&lt;br /&gt;
{{UGmac| | }}&lt;br /&gt;
&lt;br /&gt;
===Using Linux===&lt;br /&gt;
&lt;br /&gt;
{{UGlinux}}&lt;br /&gt;
&lt;br /&gt;
===Using Windows Mobile / CE 5.0 / CE 6.0===&lt;br /&gt;
&lt;br /&gt;
{{UGce}}&lt;br /&gt;
&lt;br /&gt;
==Technical Details==&lt;br /&gt;
The Touch Sensor changes value from 0 to 1000 (which corresponds to 0V - 5V) when it is touched.  More specifically, this sensor is actually a capacitive change sensor.  When the capacitance changes the sensor reports a thousand.  If the sensor remains at 1000 for longer than 60 seconds, it will recalibrate back down to zero, regardless if the sensor is still being touched.  This recalibration can also be done manually by unplugging and plugging the sensor back into the Interface kit.  This is a useful feature because it means that the sensor can be mounted on a flat surface such as a piece of glass or plastic and be reset so that it does not register the change in capacitance caused by the surface it is mounted on. On the bottom side of the Touch Sensor there is a small exposed metallic pad.  A soldered connection can be made to the pad to increase the size and dimensions of the touchable area, such as attaching the sensor to a metallic object or some wire.  Once the sensor is recalibrated, the sensor’s value will increase to 1000 if the attached object is touched anywhere. Although there is an exposed metallic pad on the bottom of the board, the pad does not have to be touched directly to activate the sensor - touching anywhere on the board will activate the sensor.  The sensor can work as a close &lt;br /&gt;
proximity sensor, sensing objects at a distance of up to 1/2” from the board in all directions without direct contact. The Touch sensor will also work through a thickness of up to 1/2” of glass, plastic, or paper.&lt;br /&gt;
&lt;br /&gt;
===Customizing Sensitivity===&lt;br /&gt;
&lt;br /&gt;
The capacitor labelled C1 is the &amp;quot;sensing&amp;quot; capacitor. In other words this is the capacitor that determines how sensitive the sensor is. By default it is a 10nF capacitor. By changing this value we can adjust the sensitivity. Smaller capacitors will yield lower sensitivity while higher values will yield higher sensitivity. The IC (integrated circuit) on the 1129 specifies that the acceptable range for C1 is 2-50nF. In testing, 2nF will not sense through any thickness of material while 50nF can sense through over 1&amp;quot; of material and even through double paned windows with an air gap of up to 3/4&amp;quot;. If the size of your capacitive touch surface is very large, you may have to increase C1 even more. Up to 100nF even.&lt;br /&gt;
(Note: C1 is soldered onto the board, in order to replace it you will need a soldering iron).&lt;br /&gt;
&lt;br /&gt;
{{UGotherint}}&lt;br /&gt;
&lt;br /&gt;
{{UGasens}}&lt;br /&gt;
&lt;br /&gt;
==API==&lt;br /&gt;
{{SensorAPI}}&lt;br /&gt;
&lt;br /&gt;
==Product History==&lt;br /&gt;
{{UGhist}}&lt;br /&gt;
{{UGrow2|1129_0|November 2009 |0 |N/A |Product Release }}&lt;br /&gt;
{{UGrow2|1129_1|September 2012 |1 |N/A |Redesign due to component obsolescence }}&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=1130_User_Guide&amp;diff=24072</id>
		<title>1130 User Guide</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=1130_User_Guide&amp;diff=24072"/>
		<updated>2018-05-09T14:34:40Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOINDEX__&lt;br /&gt;
[[Category:UserGuide]]&lt;br /&gt;
{{UserguideTOC|1130.jpg|1130}}&lt;br /&gt;
==Getting Started==&lt;br /&gt;
&lt;br /&gt;
===Checking the Contents===&lt;br /&gt;
{{UGbox|&lt;br /&gt;
&#039;&#039;&#039;You should have received:&#039;&#039;&#039;&lt;br /&gt;
* A pH/ORP adapter board&lt;br /&gt;
* A sensor cable&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;In order to test your new Phidget you will also need:&#039;&#039;&#039;&lt;br /&gt;
* A PhidgetInterfaceKit 8/8/8&lt;br /&gt;
* A USB cable&lt;br /&gt;
* A pH or ORP electrode&lt;br /&gt;
||}}&lt;br /&gt;
&lt;br /&gt;
===Connecting the Pieces===&lt;br /&gt;
{{UGbox|&lt;br /&gt;
#Connect the pH/ORP Adapter Board to the Analog Input #6 on the PhidgetInterfaceKit 8/8/8 board using the sensor cable. In this example, we are using a pH electrode.&lt;br /&gt;
#Connect the electrode to the adapter board using the BNC connector.&lt;br /&gt;
#Use the DIP switch to select pH or ORP to correspond to the type of electrode you are using. &lt;br /&gt;
#Connect the InterfaceKit 8/8/8 to your PC using the USB cable.&lt;br /&gt;
|&lt;br /&gt;
[[File:1130_0_Connecting_The_Hardware.jpg|400px|link=]]&lt;br /&gt;
||}}&lt;br /&gt;
&lt;br /&gt;
===Testing Using Windows 2000 / XP / Vista / 7===&lt;br /&gt;
&lt;br /&gt;
{{UGwin}}&lt;br /&gt;
&lt;br /&gt;
===Running Phidgets Sample Program===&lt;br /&gt;
&lt;br /&gt;
{{UGwin2|&#039;&#039;&#039;InterfaceKit-full&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
{{UGbox6|&lt;br /&gt;
Double Click on the [[File:Ph.jpg|link=]] icon to activate the Phidget Control Panel and make sure that the &#039;&#039;&#039;Phidget InterfaceKit 8/8/8&#039;&#039;&#039; is properly attached  to your PC.  &lt;br /&gt;
|[[File:1018_2_Control_Panel_Screen.jpg|400px|link=]]&lt;br /&gt;
|&lt;br /&gt;
#Double Click on &#039;&#039;&#039;Phidget InterfaceKit 8/8/8&#039;&#039;&#039; in the Phidget Control Panel to bring up InterfaceKit-full and check that the box labelled Attached contains the word True.&lt;br /&gt;
#Make sure that the Ratiometric box is NOT Ticked.&lt;br /&gt;
#View the unconverted pH value inside the Analog In boxes. At a pH level of 7 or with a neutral ORP, the SensorValue will be 500.&lt;br /&gt;
#You can adjust the input sensitivity by moving the slider pointer.&lt;br /&gt;
#Click on the Sensors button to bring up the Advanced Sensor Form.&lt;br /&gt;
|&lt;br /&gt;
[[File:Sensor_InterfaceKit_Screen_421.jpg|400px|link=]]&lt;br /&gt;
|&lt;br /&gt;
#In the Sensor 6 box, select the 1130 - pH Adapter (pH) from the drop down menu. Alternatively, if you are using an ORP electrode, choose 1130 - pH Adapter (ORP).&lt;br /&gt;
#The pH level measured by the sensor is shown here.&lt;br /&gt;
#Formula used to convert the analog input SensorValue into pH (or ORP).&lt;br /&gt;
|&lt;br /&gt;
[[File:1130 0 Advanced Sensor Form Screen.jpg|link=|400px]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Testing Using Mac OS X===&lt;br /&gt;
&lt;br /&gt;
{{UGmac| | }}&lt;br /&gt;
&lt;br /&gt;
===Using Linux===&lt;br /&gt;
&lt;br /&gt;
{{UGlinux}}&lt;br /&gt;
&lt;br /&gt;
===Using Windows Mobile / CE 5.0 / CE 6.0===&lt;br /&gt;
&lt;br /&gt;
{{UGce}}&lt;br /&gt;
&lt;br /&gt;
==Technical Details==&lt;br /&gt;
===Measuring the pH===&lt;br /&gt;
To determine the pH of a solution, make sure the DIP switch on the board is flipped to the pH side. Given the SensorValue from the Phidget InterfaceKit, the following formula can be applied: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\text{pH = 0.0178} \times \text{SensorValue} - 1.889&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This formula assumes that the solution is at 25 degrees Celsius.  Depending on the temperature of the solution and on the actual pH level, the SensorValue can change dramatically. To incorporate temperature (in degrees Celsius) for added accuracy, the following formula can be used:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\text{pH = 7 }- \frac{2.5 - \frac{SensorValue}{200}}{0.257179 + 0.000941468 \times \text{Temperature}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following example is to give an idea of how the temperature affects the SensorValue.  A solution with a pH of 2 at a temperature of 25 degrees Celsius yields a SensorValue of 219. At 100 degrees Celsius, the SensorValue decreases to 148, and at 0 degrees celsius, the SensorValue reports 242. A solution with a pH of 8 with a temperature of 0, 25 and 100 degrees Celsius gives a SensorValue of 551, 556 and 570, respectively.  It can be seen that the temperature has a greater affect on solutions that have a pH further away from the reference pH of 7.  Additionally, temperature affects the impedance of the glass electrode, and can result in increased errors if not properly calibrated. If you want to monitor the temperature of the solution, you can use a thermocouple. You’ll need to add some sort of protective shielding  to the thermocouple if you’re using acidic or basic solutions, though. Check out our thermocouple interfaces for more information.&lt;br /&gt;
&lt;br /&gt;
===Measuring Oxidation/Reduction Potential (ORP)===&lt;br /&gt;
To determine the ORP of a solution, make sure the DIP switch on the board is flipped to the ORP side.  Given the SensorValue from the PhidgetInterfaceKit, the following formula can be applied:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\text{ORP (V)} = \frac{2.5 - \frac{\text{SensorValue}}{200}}{1.037}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ORP electrodes give a typical range of -2V to 2V, where the positive values are for oxidizers and the negative values are for reducers.&lt;br /&gt;
&lt;br /&gt;
===Words of Caution===&lt;br /&gt;
&#039;&#039;&#039;The pH Adapter Board should be used to measure solutions that are &#039;electrically quiet&#039;.&#039;&#039;&#039;&lt;br /&gt;
Measuring pH in electrically noisy environments such as tanks with mixing pumps, and even other measuring devices is not recommended.&lt;br /&gt;
&lt;br /&gt;
===Choosing Electrodes===&lt;br /&gt;
Review the data sheet for the electrode you have selected for your application to ensure that it complies with the device specifications of the pH Adapter Board.  The important specification is the output voltage of the electrode. Many electrodes will work but it is important to verify compliance before connecting an electrode to the Adapter Board. In fact, any type of sensor that uses a BNC connector and complies with the voltage range of the 1130 should work. We have reviewed the following electrodes, and found that they can be used with the pH Adapter Board.  This is by no means a comprehensive list, but can be used as a comparison with other electrodes if necessary.&lt;br /&gt;
&lt;br /&gt;
{| border = 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Manufacturer&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Web Page&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Part Number&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Omega||www.omega.com||PHE13XX, PHE14XX, ORE1311, ORE1411&lt;br /&gt;
|-&lt;br /&gt;
| Cole-Parmer||www.coleparmer.com||EW-59001, EW27003&lt;br /&gt;
|-&lt;br /&gt;
| Mettler-Toledo||www.mt.com||InLab (BNC) Series&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{UGotherint}}&lt;br /&gt;
&lt;br /&gt;
{{UGasens}}&lt;br /&gt;
&lt;br /&gt;
===Further Reading===&lt;br /&gt;
&lt;br /&gt;
For more information on pH and ORP probes, check the [[PH/ORP Sensor Primer]].&lt;br /&gt;
&lt;br /&gt;
==API==&lt;br /&gt;
{{SensorAPI}}&lt;br /&gt;
&lt;br /&gt;
==Product History==&lt;br /&gt;
{{UGhist}}&lt;br /&gt;
{{UGrow|March 2010 |0 |N/A |Product Release }}&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=1131_User_Guide&amp;diff=24071</id>
		<title>1131 User Guide</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=1131_User_Guide&amp;diff=24071"/>
		<updated>2018-05-09T14:34:31Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOINDEX__&lt;br /&gt;
[[Category:UserGuide]]&lt;br /&gt;
{{UserguideTOC|1131.jpg|1131}}&lt;br /&gt;
==Getting Started==&lt;br /&gt;
&lt;br /&gt;
===Checking the Contents===&lt;br /&gt;
{{UGbox|&lt;br /&gt;
&#039;&#039;&#039;You should have received:&#039;&#039;&#039;&lt;br /&gt;
* A force sensor&lt;br /&gt;
* A sensor cable&lt;br /&gt;
* 2 rubber discs (Diameter: 12.7mm;Height: 2mm)&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;In order to test your new Phidget you will also need:&#039;&#039;&#039;&lt;br /&gt;
* A PhidgetInterfaceKit 8/8/8 or a PhidgetTextLCD&lt;br /&gt;
* A USB cable&lt;br /&gt;
||}}&lt;br /&gt;
&lt;br /&gt;
===Connecting the Pieces===&lt;br /&gt;
{{UGbox|&lt;br /&gt;
#Connect the Thin Force Sensor to the Analog Input 6 on the PhidgetInterfaceKit 8/8/8 using the sensor cable.&lt;br /&gt;
#Connect the PhidgetInterfaceKit to your PC using the USB cable. &lt;br /&gt;
#Stick one of the rubber disc on the Force Sensor.&lt;br /&gt;
|&lt;br /&gt;
[[File:1131_0_Connecting_The_Hardware.jpg|400px|link=]]&lt;br /&gt;
||}}&lt;br /&gt;
&lt;br /&gt;
===Testing Using Windows 2000 / XP / Vista / 7===&lt;br /&gt;
&lt;br /&gt;
{{UGwin}}&lt;br /&gt;
&lt;br /&gt;
===Running Phidgets Sample Program===&lt;br /&gt;
&lt;br /&gt;
{{UGwin2|&#039;&#039;&#039;InterfaceKit-full&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
{{UGbox6|&lt;br /&gt;
Double Click on the [[File:Ph.jpg|link=]] icon to activate the Phidget Control Panel and make sure that the &#039;&#039;&#039;Phidget InterfaceKit 8/8/8&#039;&#039;&#039; is properly attached  to your PC.  &lt;br /&gt;
|[[File:1018_2_Control_Panel_Screen.jpg|400px|link=]]&lt;br /&gt;
|&lt;br /&gt;
#Double Click on &#039;&#039;&#039;Phidget InterfaceKit 8/8/8&#039;&#039;&#039; in the Phidget Control Panel to bring up InterfaceKit-full and check that the box labelled Attached contains the word True.&lt;br /&gt;
#Make sure that the Ratiometric box is Ticked.&lt;br /&gt;
#When the Sensor is unloaded, the value in the Analog-In box will be 0.  When a load is applied to the sensor, the value will increase.  When the load is removed, the value goes back to 0. You can adjust the input &lt;br /&gt;
sensitivity by moving the slider pointer.&lt;br /&gt;
#Click on the Sensors button to bring up the Advanced Sensor Form.&lt;br /&gt;
|&lt;br /&gt;
[[File:Sensor_InterfaceKit_Screen_421.jpg|400px|link=]]&lt;br /&gt;
|&lt;br /&gt;
#In the Sensor 6 box, select 1131 - Thin Force Sensor from the drop down menu.&lt;br /&gt;
#The force measured (in grams) by the sensor is shown here.&lt;br /&gt;
#Formula used to convert the analog input SensorValue into force grams.&lt;br /&gt;
|&lt;br /&gt;
[[File:1131 0 Advanced Sensor Form Screen.jpg|link=|400px]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Testing Using Mac OS X===&lt;br /&gt;
&lt;br /&gt;
{{UGmac| | }}&lt;br /&gt;
&lt;br /&gt;
===Using Linux===&lt;br /&gt;
&lt;br /&gt;
{{UGlinux}}&lt;br /&gt;
&lt;br /&gt;
===Using Windows Mobile / CE 5.0 / CE 6.0===&lt;br /&gt;
&lt;br /&gt;
{{UGce}}&lt;br /&gt;
&lt;br /&gt;
==Technical Details==&lt;br /&gt;
The Force Sensor can handle applied forces of up to 2 kg.&lt;br /&gt;
&lt;br /&gt;
===Formulas===&lt;br /&gt;
The Formula to translate SensorValue into a force in grams is:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;&lt;br /&gt;
\text{Force (grams) = 15.311}e^{0.005199 \times \text{SensorValue}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Measurement Accuracy===&lt;br /&gt;
To ensure the most accuracy, a small disc (included) can be placed directly on the sensing pad before applying force to the disc. This will ensure that all the force is applied directly to the sensing pad and not to the surrounding surface. The longer the object rests on the sensing pad, the more the SensorValue will drift and increase slowly in value.  It is very difficult to compensate for the drift since different constant forces will produce different drift rates. For this reason, the average accuracy of this sensor is within 10% of the true value. The formula above was determined after the object with a known mass was resting on the sensing pad for 15 seconds. The general drift rate curve is logarithmic with time.&lt;br /&gt;
====Set up a Repeatable and Reproducible Mechanical Actuation System====&lt;br /&gt;
*Provide a consistent force distribution. FSR response is very sensitive to the distribution of the applied force. In general, this precludes the use of dead weights for characterization since exact duplication of the weight distribution is rarely repeatable cycle-to-cycle. A consistent weight (force) distribution is more difficult to achieve than merely obtaining a consistent total applied weight (force). As long as the distribution is the same cycle-to-cycle, then repeatability will be maintained.  The use of a thin elastomer between the applied force and the FSR can help absorb error from inconsistent force distributions.&lt;br /&gt;
*Keep the actuator area, shape, and compliance constant. Charges in these parameters significantly alter the response characteristic of a given sensor. Any test, mock-up, or evaluation conditions should be closely &lt;br /&gt;
matched to the final use conditions. The greater the cycle-to-cycle consistency of these parameters, the greater the device repeatability. In human interface applications where a finger is the mode of actuation,&lt;br /&gt;
perfect control of these parameters is not generally possible. However, human force sensing is somewhat inaccurate; it is rarely sensitive enough to detect differences of less than ± 50%.&lt;br /&gt;
*Control actuator placement. In cases where the actuator is to be smaller than the FSR active area, cycle-tocycle consistency of actuator placement is necessary. (Caution: FSR layers are held together by an adhesive that surrounds the electrically active areas. If force is applied over an area which includes the adhesive, the resulting response characteristic will be drastically altered.) In an extreme case (e.g., a large, flat, hard actuator that bridges the bordering adhesive), the adhesive can present FSR actuation&lt;br /&gt;
*Keep actuation cycle time consistent. Because of the time dependence of the FSR resistance to an applied force, it is important when characterizing the sensor system to assure that increasing loads (e.g. force ramps) are applied at consistent rates (cycle-to-cycle). Likewise, static force measurements must take into account FSR mechanical setting time. This time is dependent on the mechanics of actuation and the amount of force applied and is usually on the order of seconds.&lt;br /&gt;
====Develop a Nominal Voltage Curve and Error Spread====&lt;br /&gt;
When a repeatable and reproducible system has been established, data from a group of FSR parts can be collected. Test several FSR parts in the system. Record the output voltage at various pre-selected force points throughout the range of interest. Once a family of curves is obtained, a nominal force vs. output voltage curve and the total force accuracy of the system can be determined. &lt;br /&gt;
====Use Part Calibration if Greater Accuracy is Required====&lt;br /&gt;
For applications requiring the highest obtainable force accuracy, part calibration will be necessary. Two methods can be utilized: gain and offset trimming, and curve fitting.&lt;br /&gt;
*Gain and offset trimming can be used as a simple method of calibration. The reference voltage and feedback resistor of the current-to-voltage converter are adjusted for each FSR to pull their responses closer to the nominal curve.&lt;br /&gt;
*Curve fitting is the most complete calibration method. A parametric curve fit is done for the nominal curve of a set of FSR devices, and the resultant equation is stored for future use. Fit parameters are then established for each individual FSR (or sending element in an array) in the set. These parameters, along with the measured sensor resistance (or voltage), are inserted into the equation to obtain the force reading. If needed, temperature compensation can also be included in the equation.&lt;br /&gt;
&lt;br /&gt;
===FSR Usage Tips - Do&#039;s and Dont&#039;s===&lt;br /&gt;
*&#039;&#039;&#039;Do&#039;&#039;&#039;, if possible, use a firm, flat and smooth mounting surface.&lt;br /&gt;
*&#039;&#039;&#039;Do&#039;&#039;&#039; be careful if applying FSR devices to curved surfaces. Pre-loading of the device can occur as the two opposed layers are forced into contact by the bending tension. The device will still function, but the dynamic range may be reduced and resistance drift could occur. The degree of curvature over which an FSR can be bent is a function of the size of the active area. The smaller the active area, the less effect a given curvature will have on the FSR’s response.&lt;br /&gt;
*&#039;&#039;&#039;Do&#039;&#039;&#039; avoid air bubbles and contamination when laminating the FSR to any surface. Use only thin, uniform adhesives, such as Scotch® brand double-sided laminating adhesives. Cover the entire surface of the sensor.&lt;br /&gt;
*&#039;&#039;&#039;Do&#039;&#039;&#039; be careful of kinks or dents in active areas. They can cause false triggering of the sensors. &lt;br /&gt;
*&#039;&#039;&#039;Do&#039;&#039;&#039; protect the device from sharp objects. Use an overlay, such as a polycarbonate film or an elastomer, to prevent gouging of the FSR device.&lt;br /&gt;
*&#039;&#039;&#039;Do&#039;&#039;&#039; use soft rubber or a spring as part of the actuator in designs requiring some travel.&lt;br /&gt;
*&#039;&#039;&#039;Do not&#039;&#039;&#039; kink or crease the tail of the FSR device if you are bending it; this can cause breaks in the printed silver traces. The smallest suggested bend radius for the tails of evaluation parts is about 0.1” [2.5 mm]. In custom sensor designs, tails have been made that bend over radii of 0.03” (0.8 mm]. Also, be careful if bending the tail near the active area. This can cause stress on the active area and may result in pre-loading and false readings.&lt;br /&gt;
*&#039;&#039;&#039;Do not&#039;&#039;&#039; block the vent. FSR devices typically have an air vent that runs from the open active area down the length of the tail and out to the atmosphere. This vent assures pressure equilibrium with the environment, as well as allowing even loading and unloading of the device. Blocking this vent could cause FSRs to respond to any actuation in a non-repeatable manner. Also note, that if the device is to be used in a pressure chamber, the vented end will need to be kept vented to the outside of the chamber. This allows for the measurement of the differential pressure.&lt;br /&gt;
*&#039;&#039;&#039;Do not&#039;&#039;&#039; solder directly to the exposed silver traces. With flexible substrates, the solder joint will not hold and the substrate can easily melt and distort during the soldering. Use Interlink Electronics’ standard connection techniques, such as solderable tabs, housed female contacts, Z-axis conductive tapes, or ZIF (zero insertion force) style connectors.&lt;br /&gt;
*&#039;&#039;&#039;Do not&#039;&#039;&#039; use cyanoacrylate adhesives (e.g. Krazy Glue®) and solder flux removing agents. These degrade the substrate and can lead to cracking.&lt;br /&gt;
*&#039;&#039;&#039;Do not&#039;&#039;&#039; apply excessive shear force. This can cause delamination of the layers.&lt;br /&gt;
&lt;br /&gt;
{{UGotherint}}&lt;br /&gt;
&lt;br /&gt;
{{UGasens}}&lt;br /&gt;
&lt;br /&gt;
==API==&lt;br /&gt;
{{SensorAPI}}&lt;br /&gt;
&lt;br /&gt;
==Product History==&lt;br /&gt;
{{UGhist}}&lt;br /&gt;
{{UGrow|May 2010 |0 |N/A |Product Release }}&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=1132_User_Guide&amp;diff=24070</id>
		<title>1132 User Guide</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=1132_User_Guide&amp;diff=24070"/>
		<updated>2018-05-09T14:34:22Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOINDEX__&lt;br /&gt;
[[Category:UserGuide]]&lt;br /&gt;
{{UserguideTOC|1132.jpg|1132}}&lt;br /&gt;
==Getting Started==&lt;br /&gt;
&lt;br /&gt;
===Checking the Contents===&lt;br /&gt;
{{UGbox|&lt;br /&gt;
&#039;&#039;&#039;You should have received:&#039;&#039;&#039;&lt;br /&gt;
* A 4-20mA adapter&lt;br /&gt;
* A sensor cable&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;In order to test your new Phidget you will also need:&#039;&#039;&#039;&lt;br /&gt;
* A PhidgetInterfaceKit 8/8/8 or PhidgetTextLCD&lt;br /&gt;
* A USB cable&lt;br /&gt;
*A 4-20mA sensor&lt;br /&gt;
||}}&lt;br /&gt;
&lt;br /&gt;
===Connecting the Pieces===&lt;br /&gt;
{{UGbox|&lt;br /&gt;
#Connect the 4-20mA Adapter to the Analog Input 6 on the PhidgetInterfaceKit 8/8/8 using the sensor cable.&lt;br /&gt;
#Attach a 4-20 mA sensor to the terminal block of the Adapter. &lt;br /&gt;
#Connect the PhidgetInterfaceKit to your PC using the USB cable.&lt;br /&gt;
|&lt;br /&gt;
[[File:1132_0_Connecting_The_Hardware.jpg|400px|link=]]&lt;br /&gt;
||}}&lt;br /&gt;
&lt;br /&gt;
===Testing Using Windows 2000 / XP / Vista / 7===&lt;br /&gt;
&lt;br /&gt;
{{UGwin}}&lt;br /&gt;
&lt;br /&gt;
===Running Phidgets Sample Program===&lt;br /&gt;
&lt;br /&gt;
{{UGwin2|&#039;&#039;&#039;InterfaceKit-full&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
{{UGbox6|&lt;br /&gt;
Double Click on the [[File:Ph.jpg|link=]] icon to activate the Phidget Control Panel and make sure that the &#039;&#039;&#039;Phidget InterfaceKit 8/8/8&#039;&#039;&#039; is properly attached  to your PC.  &lt;br /&gt;
|[[File:1018_2_Control_Panel_Screen.jpg|400px|link=]]&lt;br /&gt;
|&lt;br /&gt;
#Double Click on &#039;&#039;&#039;Phidget InterfaceKit 8/8/8&#039;&#039;&#039; in the Phidget Control Panel to bring up InterfaceKit-full and check that the box labelled Attached contains the word True.&lt;br /&gt;
#Make sure that the Ratiometric box is NOT Ticked.&lt;br /&gt;
#At a current consumption of 4 mA, the value in the Analog-In box will be approximately 180. At 20 mA, the Analog-In box will display a value of 900.&lt;br /&gt;
#You can adjust the input sensitivity by moving the slider pointer.&lt;br /&gt;
#Click on the Sensors button to bring up the Advanced Sensor Form.&lt;br /&gt;
|&lt;br /&gt;
[[File:Sensor_InterfaceKit_Screen_576.jpg|400px|link=]]&lt;br /&gt;
|&lt;br /&gt;
#In the Sensor 6 box, select the 1132 - 4-20mA Adapter from the drop down menu.&lt;br /&gt;
#The current measured by the sensor is shown here.&lt;br /&gt;
#Formula used to convert the analog input SensorValue into current (mA).&lt;br /&gt;
|&lt;br /&gt;
[[File:1132 0 Advanced Sensor Form Screen.jpg|400px|link=]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Testing Using Mac OS X===&lt;br /&gt;
&lt;br /&gt;
{{UGmac| | }}&lt;br /&gt;
&lt;br /&gt;
===Using Linux===&lt;br /&gt;
&lt;br /&gt;
{{UGlinux}}&lt;br /&gt;
&lt;br /&gt;
===Using Windows Mobile / CE 5.0 / CE 6.0===&lt;br /&gt;
&lt;br /&gt;
{{UGce}}&lt;br /&gt;
&lt;br /&gt;
==Technical Details==&lt;br /&gt;
Sensors can be connected to and powered by the provided terminals on the 4-20mA Adapter board. The Phidget will measure the current passing through the attached sensor and convert it to a voltage, where it can be displayed as a SensorValue by an Interfacekit. The adapter board is a non-ratiometric device, so make sure to set ratiometric to false when using an Interfacekit. If the formula gives a range below 4mA (a SensorValue less than 180), then this indicates that the sensor is “open”. The 4-20 mA Adapter board internally produces +15V from the Phidget InterfaceKit’s input analog voltage. This supply rail is used to power the connected sensor, eliminating the need for other external power supplies. If the Adapter board is being used in very noisy environments, place a ferrite bead on the sensor current loop close to where it is attached to the 1132.  This helps prevent energy coupled into long runs of wiring from causing computer problems.&lt;br /&gt;
&lt;br /&gt;
===Formulas===&lt;br /&gt;
The Formula to translate SensorValue into current consumed is:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;\text{Current (mA)} = \frac{\text{SensorValue}}{45}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Selecting a 4-20mA Sensor===&lt;br /&gt;
Review the datasheet for the 4-20 mA sensor that you have selected to be certain that it complies with the specifications of the Adapter Board. Mostly you want to make sure that the sensor you want to use does not require more than 15V and that its capacitive load is equal to or less than 1.5µF. The following sensor has been successfully tested with the 1132.&lt;br /&gt;
&lt;br /&gt;
{| border = 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Manufacturer&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Part Number&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Honeywell||SPTmA0015PG5W02||Stainless Steel 0-15 psi Pressure Sensor&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{UGotherint}}&lt;br /&gt;
&lt;br /&gt;
{{UGasens}}&lt;br /&gt;
&lt;br /&gt;
==API==&lt;br /&gt;
{{SensorAPI}}&lt;br /&gt;
&lt;br /&gt;
==Product History==&lt;br /&gt;
{{UGhist}}&lt;br /&gt;
{{UGrow|May 2010 |0 |N/A |Product Release }}&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=1133_User_Guide&amp;diff=24069</id>
		<title>1133 User Guide</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=1133_User_Guide&amp;diff=24069"/>
		<updated>2018-05-09T14:34:14Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOINDEX__&lt;br /&gt;
[[Category:UserGuide]]&lt;br /&gt;
{{UserguideTOC|1133.jpg|1133}}&lt;br /&gt;
==Getting Started==&lt;br /&gt;
&lt;br /&gt;
===Checking the Contents===&lt;br /&gt;
{{UGbox|&lt;br /&gt;
&#039;&#039;&#039;You should have received:&#039;&#039;&#039;&lt;br /&gt;
* A sound sensor&lt;br /&gt;
* A sensor cable &lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;In order to test your new Phidget you will also need:&#039;&#039;&#039;&lt;br /&gt;
* A PhidgetInterfaceKit 8/8/8 or a PhidgetTextLCD&lt;br /&gt;
* A USB cable&lt;br /&gt;
||}}&lt;br /&gt;
&lt;br /&gt;
===Connecting the Pieces===&lt;br /&gt;
{{UGbox|&lt;br /&gt;
#Connect the Sound Sensor to the Analog Input 6 on the PhidgetInterfaceKit 8/8/8 using the sensor cable.&lt;br /&gt;
#Connect the PhidgetInterfaceKit to your PC using the USB cable.&lt;br /&gt;
|&lt;br /&gt;
[[File:1133_0_Connecting_The_Hardware.jpg|400px|link=]]&lt;br /&gt;
||}}&lt;br /&gt;
&lt;br /&gt;
===Testing Using Windows 2000 / XP / Vista / 7===&lt;br /&gt;
&lt;br /&gt;
{{UGwin}}&lt;br /&gt;
&lt;br /&gt;
===Running Phidgets Sample Program===&lt;br /&gt;
&lt;br /&gt;
{{UGwin2|&#039;&#039;&#039;InterfaceKit-full&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
{{UGbox6|&lt;br /&gt;
Double Click on the [[File:Ph.jpg|link=]] icon to activate the Phidget Control Panel and make sure that the &#039;&#039;&#039;Phidget InterfaceKit 8/8/8&#039;&#039;&#039; is properly attached  to your PC.  &lt;br /&gt;
|[[File:1018_2_Control_Panel_Screen.jpg|400px|link=]]&lt;br /&gt;
|&lt;br /&gt;
#Double Click on &#039;&#039;&#039;Phidget InterfaceKit 8/8/8&#039;&#039;&#039; in the Phidget Control Panel to bring up InterfaceKit-full and check that the box labelled Attached contains the word True.&lt;br /&gt;
#Make sure that the Ratiometric box is NOT Ticked.&lt;br /&gt;
#When the Sound Sensor is placed beside a computer in a quiet room, the SensorValue will be approximately 10.&lt;br /&gt;
#You can adjust the input sensitivity by moving the slider pointer.&lt;br /&gt;
#Click on the Sensors button to bring up the Advanced Sensor Form.&lt;br /&gt;
|&lt;br /&gt;
[[File:Sensor_InterfaceKit_Screen_421.jpg|400px|link=]]&lt;br /&gt;
|&lt;br /&gt;
#In the Sensor 6 box, select the 1133 - Sound Sensor from the drop down menu.&lt;br /&gt;
#The sound pressure measured by the sensor is shown here.&lt;br /&gt;
#Formula used to convert the analog input SensorValue into decibels.&lt;br /&gt;
|&lt;br /&gt;
[[File:1133 0 Advanced Sensor Form Screen.jpg|400px|link=]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Testing Using Mac OS X===&lt;br /&gt;
&lt;br /&gt;
{{UGmac| | }}&lt;br /&gt;
&lt;br /&gt;
===Using Linux===&lt;br /&gt;
&lt;br /&gt;
{{UGlinux}}&lt;br /&gt;
&lt;br /&gt;
===Using Windows Mobile / CE 5.0 / CE 6.0===&lt;br /&gt;
&lt;br /&gt;
{{UGce}}&lt;br /&gt;
&lt;br /&gt;
==Technical Details==&lt;br /&gt;
The pressure level of sound is measured in dB. The 1133 measures sound across a very wide range, with a frequency range of 100Hz to 8kHz and pressure level from 50dB to 100dB.  The formula reports SPL (Sound &lt;br /&gt;
Pressure Level), but the sensor is not sophisticated enough to be used as a substitute for a professional SPL Meter.&lt;br /&gt;
&lt;br /&gt;
===Formulas===&lt;br /&gt;
The Formula to translate SensorValue into a sound pressure level is:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;\text{Sound Pressure Level due to a 1kHz tone (dB)} = 16.801 \times \text{ln(SensorValue) + 9.872} \!&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Formula Dependencies===&lt;br /&gt;
It is important to note that measuring sound pressure levels is very complex and depends on factors other than only the perceived volume. One of the major contributing factors is the frequency of the sound source.  Different frequencies of a sine wave with identical amplitudes will generate very different sound pressure levels.  Other factors can be the distance between the sound source and the microphone, and even the type of sound source, such as speakers. The bandpass filter of any speaker can affect the output gain at certain frequencies without any change in the volume knob of the speaker. Electrical noise in the power supplied to the sensor can affect the output.  If the power supply is very noisy, this will introduce an offset in the output.  It is much more noticeable when trying to measure smaller sound pressure levels due to the very small voltages of the microphone being affected much more. As a result, the previous formula is only accurate for a 1kHz pure tone.  At other frequencies, there can be up to an 8dB difference between the calculated SPL and the output of a calibrated Sound Pressure Level meter.&lt;br /&gt;
&lt;br /&gt;
===Sensor Response===&lt;br /&gt;
The following graph is the response of the Sound Sensor to a 1kHz beep.  The beep lasts 75ms.  The 1133 has a response time of 1.40ms when placed 30 cm (11.9 inches) from the sound source.  The output from the Sound Sensor reduces to normal over the next 80ms.  &lt;br /&gt;
&lt;br /&gt;
[[File:1133_0_Response.png|400px|link=|center]]&lt;br /&gt;
&lt;br /&gt;
The output of the sensor can vary by up to 20 SensorValue in a pressure-stable environment.  This is especially noticeable at lower output voltages.  The best way to deal with this is to average a handful of reported values.&lt;br /&gt;
&lt;br /&gt;
{{UGotherint}}&lt;br /&gt;
&lt;br /&gt;
{{UGasens}}&lt;br /&gt;
&lt;br /&gt;
==API==&lt;br /&gt;
{{SensorAPI}}&lt;br /&gt;
&lt;br /&gt;
==Product History==&lt;br /&gt;
{{UGhist}}&lt;br /&gt;
{{UGrow|March 2010 |0 |N/A |Product Release }}&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=1134_User_Guide&amp;diff=24068</id>
		<title>1134 User Guide</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=1134_User_Guide&amp;diff=24068"/>
		<updated>2018-05-09T14:34:06Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOINDEX__&lt;br /&gt;
[[Category:UserGuide]]&lt;br /&gt;
{{UserguideTOC|1134.jpg|1134}}&lt;br /&gt;
==Getting Started==&lt;br /&gt;
&lt;br /&gt;
===Checking the Contents===&lt;br /&gt;
{{UGbox|&lt;br /&gt;
&#039;&#039;&#039;You should have received:&#039;&#039;&#039;&lt;br /&gt;
* A Switchable Voltage Divider board&lt;br /&gt;
* A Sensor cable&lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;In order to test your new Phidget you will also need:&#039;&#039;&#039;&lt;br /&gt;
* A PhidgetInterfaceKit 8/8/8&lt;br /&gt;
* A USB cable&lt;br /&gt;
* A variable resistance sensor or any resistor (we are using a 27K resistor)&lt;br /&gt;
||}}&lt;br /&gt;
&lt;br /&gt;
===Connecting the Pieces===&lt;br /&gt;
{{UGbox|&lt;br /&gt;
#Connect the Switchable Voltage Divider to an Analog Input on the PhidgetInterfaceKit 8/8/8 board using the sensor cable.&lt;br /&gt;
#Connect the variable resistance sensor to the terminal block on the Voltage Divider.&lt;br /&gt;
#Select an appropriate measurement range for your application by toggling the desired DIP switch. We are toggling the 27.4K switch. When the switch is down, the associated measuring resistor is selected. It is possible to have more than one switch toggled and have the resistors in parallel. For our purpose only toggle one switch.&lt;br /&gt;
#Connect the InterfaceKit board to your PC using the USB cable.&lt;br /&gt;
|&lt;br /&gt;
[[File:1134_0_Connecting_The_Hardware.jpg|400px|link=]]&lt;br /&gt;
||}}&lt;br /&gt;
&lt;br /&gt;
===Testing Using Windows 2000 / XP / Vista / 7===&lt;br /&gt;
&lt;br /&gt;
{{UGwin}}&lt;br /&gt;
&lt;br /&gt;
===Running Phidgets Sample Program===&lt;br /&gt;
&lt;br /&gt;
{{UGwin2|&#039;&#039;&#039;InterfaceKit-full&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
{{UGbox6|&lt;br /&gt;
Double Click on the [[File:Ph.jpg|link=]] icon to activate the Phidget Control Panel and make sure that the &#039;&#039;&#039;Phidget InterfaceKit 8/8/8&#039;&#039;&#039; is properly attached  to your PC.  &lt;br /&gt;
|[[File:1018_2_Control_Panel_Screen.jpg|400px|link=]]&lt;br /&gt;
|&lt;br /&gt;
#Double Click on &#039;&#039;&#039;Phidget InterfaceKit 8/8/8&#039;&#039;&#039; in the Phidget Control Panel to bring up InterfaceKit-full and check that the box labelled Attached contains the word True.&lt;br /&gt;
#Make sure that the Ratiometric box is Ticked.&lt;br /&gt;
#The Analog In box displays a number corresponding to the resistor value.&lt;br /&gt;
#You can adjust the input sensitivity by moving the slider pointer.&lt;br /&gt;
#Click on the Sensors button to bring up the Advanced Sensor Form.&lt;br /&gt;
|&lt;br /&gt;
[[File:1134 0 InterfaceKit Screen.jpg|link=|400px]]&lt;br /&gt;
|&lt;br /&gt;
#In the Advanced Sensor Form, select the 1134 - Switchable Voltage Divider from the drop down menu.&lt;br /&gt;
#Select the appropriate resistor from the drop-down menu that has been selected with the DIP switch on the board.		&lt;br /&gt;
#The resistance measured by the sensor is shown here.&lt;br /&gt;
#Formula used to convert the analog input SensorValue into resistance.&lt;br /&gt;
|&lt;br /&gt;
[[File:1134 0 Advanced Sensor Form Screen.jpg|link=|300px]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Testing Using Mac OS X===&lt;br /&gt;
&lt;br /&gt;
{{UGmac| | }}&lt;br /&gt;
&lt;br /&gt;
===Using Linux===&lt;br /&gt;
&lt;br /&gt;
{{UGlinux}}&lt;br /&gt;
&lt;br /&gt;
===Using Windows Mobile / CE 5.0 / CE 6.0===&lt;br /&gt;
&lt;br /&gt;
{{UGce}}&lt;br /&gt;
&lt;br /&gt;
==Technical Details==&lt;br /&gt;
The 1134 Switchable Voltage Divider is a voltage divider with switches. The switches can be used to control which resistors are used in the voltage divider. From left to right, the resistance values (in Ohms) are 249, 820, 2.61K,8.45K, 27.4K, 91K, 300K and 1M.  It is possible to have multiple switches flipped, putting the corresponding resistors in parallel.&lt;br /&gt;
&lt;br /&gt;
===Formulas===&lt;br /&gt;
The Formula to translate SensorValue into resistance is:	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;\text{Resistance (Ohms)} = R_{eq} \times \frac{1000}{\text{SensorValue} - 1}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Where R&amp;lt;sub&amp;gt;eq&amp;lt;/sub is the equivalent resistance of the switches that are flipped on in Ohms. The Switchable Voltage Divider has an internal buffer on the output.  This allows the output to be read without distortion caused by the device reading the measurement, such as the PhidgetInterfaceKit.&lt;br /&gt;
&lt;br /&gt;
===Configuring the Voltage Divider===&lt;br /&gt;
{|&lt;br /&gt;
|To optimize the voltage divider to meet your needs, you have to adjust the switchable resistance to match the characteristics of your chosen variable resistor. First, adjust the resistance for no stimuli on your sensor, then apply maximum stimuli and make sure that the Sensor Value stays within a range that gives you an acceptable resolution. The formula is most accurate at a SensorValue of 500, with an error of 0.4%. At 100 and 900, the error increases to approximately 1.1% and at 50 and 950, it increases to 2.1%. As a general rule, if the SensorValue is over 900, a lower resistance should be switched in. If the SensorValue is below 100, a higher switch should be toggled. Continue adjusting the switches until you find an acceptable range.||[[File:1134 0 InternalDiagram.jpg|link=|400px]]&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;Warning:&#039;&#039;&#039; It is possible for the 1134 to apply up to 5V to the variable resistor.  If the resistor cannot handle this voltage, it can be damaged. The 1134 is a very simple way of measure resistance.  When interfacing to sensors with small resistances (like 100 ohm RTDs, for instance), large currents can flow - up to 30 mA.  This level of current may cause substantial heating in the variable resistor, distorting the measurement or even possibly permanently damaging it.&lt;br /&gt;
&lt;br /&gt;
===Variable resistance sensors===&lt;br /&gt;
Here are some interesting variable resistance sensors that could be used with the Voltage Divider.&lt;br /&gt;
&lt;br /&gt;
{| border = 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Sensor Type&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Manufacturer&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Digikey Search&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Light Sensors||Advanced Photonics||PDV-P9003-1||photcell&lt;br /&gt;
|-&lt;br /&gt;
| Force Sensors||CUI Inc.||IESP-12||force sensor&lt;br /&gt;
|-&lt;br /&gt;
| Thermistors||US Sensor||615-1037-ND||termistor radial&lt;br /&gt;
|-&lt;br /&gt;
| Bend Sensors||imagesco.com||FLX-01||n/a&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{UGotherint}}&lt;br /&gt;
&lt;br /&gt;
===Analog Input Cable Connectors===&lt;br /&gt;
{{UGasens}}&lt;br /&gt;
&lt;br /&gt;
==API==&lt;br /&gt;
{{SensorAPI}}&lt;br /&gt;
&lt;br /&gt;
==Product History==&lt;br /&gt;
{{UGhist}}&lt;br /&gt;
{{UGrow|March 2010 |0 |N/A |Product Release }}&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
	<entry>
		<id>https://www.phidgets.com/docs21/index.php?title=1135_User_Guide&amp;diff=24067</id>
		<title>1135 User Guide</title>
		<link rel="alternate" type="text/html" href="https://www.phidgets.com/docs21/index.php?title=1135_User_Guide&amp;diff=24067"/>
		<updated>2018-05-09T14:33:58Z</updated>

		<summary type="html">&lt;p&gt;Mparadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOINDEX__&lt;br /&gt;
[[Category:UserGuide]]&lt;br /&gt;
{{UserguideTOC|1135.jpg|1135}}&lt;br /&gt;
==Getting Started==&lt;br /&gt;
&lt;br /&gt;
===Checking the Contents===&lt;br /&gt;
{{UGbox|&lt;br /&gt;
&#039;&#039;&#039;You should have received:&#039;&#039;&#039;&lt;br /&gt;
* A Precision Voltage sensor&lt;br /&gt;
* A sensor cable &lt;br /&gt;
|&lt;br /&gt;
&#039;&#039;&#039;In order to test your new Phidget you will also need:&#039;&#039;&#039;&lt;br /&gt;
* A PhidgetInterfaceKit 8/8/8&lt;br /&gt;
* A USB cable&lt;br /&gt;
* A 9V battery&lt;br /&gt;
||}}&lt;br /&gt;
&lt;br /&gt;
===Connecting the Pieces===&lt;br /&gt;
{{UGbox|&lt;br /&gt;
#Connect the Precision Voltage Sensor to an Analog Input on the PhidgetInterfaceKit 8/8/8 board using the sensor cable.&lt;br /&gt;
#Connect the voltage source to the terminal block.  It is possible to connect the leads of the voltage source to either terminal - the reported voltage may just be of the opposite polarity.&lt;br /&gt;
#Connect the InterfaceKit board to your PC using the USB cable.&lt;br /&gt;
|&lt;br /&gt;
[[File:1135_0_Connecting_The_Hardware.jpg|400px|link=]]&lt;br /&gt;
||}}&lt;br /&gt;
&lt;br /&gt;
===Testing Using Windows 2000 / XP / Vista / 7===&lt;br /&gt;
&lt;br /&gt;
{{UGwin}}&lt;br /&gt;
&lt;br /&gt;
===Running Phidgets Sample Program===&lt;br /&gt;
&lt;br /&gt;
{{UGwin2|&#039;&#039;&#039;InterfaceKit-full&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
{{UGbox6|&lt;br /&gt;
Double Click on the [[File:Ph.jpg|link=]] icon to activate the Phidget Control Panel and make sure that the &#039;&#039;&#039;Phidget InterfaceKit 8/8/8&#039;&#039;&#039; is properly attached  to your PC.  &lt;br /&gt;
|[[File:1018_2_Control_Panel_Screen.jpg|400px|link=]]&lt;br /&gt;
|&lt;br /&gt;
#Double Click on &#039;&#039;&#039;Phidget InterfaceKit 8/8/8&#039;&#039;&#039; in the Phidget Control Panel to bring up InterfaceKit-full and check that the box labelled Attached contains the word True.&lt;br /&gt;
#Make sure that the Ratiometric box is not Ticked.&lt;br /&gt;
#With no connections on the input terminal blocks, the Analog In value should be approximately 500. The value displayed shows the 9V battery actual voltage when the battery’s + wire is connected to the VIN+ terminal block.&lt;br /&gt;
#You can adjust the input sensitivity by moving the slider pointer.&lt;br /&gt;
#Click on the Sensors button to bring up the Advanced Sensor Form.&lt;br /&gt;
|&lt;br /&gt;
[[File:1135 0 InterfaceKit Screen.jpg|link=|400px]]&lt;br /&gt;
|&lt;br /&gt;
#In the Advanced Sensor Form, select the 1135 - Voltage Sensor from the drop down menu.&lt;br /&gt;
#The differential voltage measured by the sensor is shown here.&lt;br /&gt;
#Formula used to convert the analog input SensorValue into voltage.&lt;br /&gt;
|&lt;br /&gt;
[[File:1135 0 Advanced Sensor Form Screen.jpg|link=|400px]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Testing Using Mac OS X===&lt;br /&gt;
&lt;br /&gt;
{{UGmac| | }}&lt;br /&gt;
&lt;br /&gt;
===Using Linux===&lt;br /&gt;
&lt;br /&gt;
{{UGlinux}}&lt;br /&gt;
&lt;br /&gt;
===Using Windows Mobile / CE 5.0 / CE 6.0===&lt;br /&gt;
&lt;br /&gt;
{{UGce}}&lt;br /&gt;
&lt;br /&gt;
==Technical Details==&lt;br /&gt;
===General===&lt;br /&gt;
The Voltage Sensor measures the differential voltage between the input terminals and outputs the difference proportionally.  The maximum differential voltage that can be measured accurately is +/-30V.  When the positive and negative inputs are equal, the analog output value is 2.5V.  When the positive input is 30V greater than the negative input, the analog output is 4.5V and when the positive input is 30V less than the negative input, the analog output is 0.5V.&lt;br /&gt;
&lt;br /&gt;
When measuring voltage levels below 5V, you&#039;ll have more accuracy if you connect the leads directly to the [[Analog Input Primer|analog input]] of an interface kit.&lt;br /&gt;
&lt;br /&gt;
Since the 1135 Voltage Sensor can measure a differential voltage, the common mode rejection (CMR) is an important specification. CMR refers to the amount of voltage that both input terminals of a differential amplifier can be offset without affecting the output gain. For example, if the positive terminal sees a voltage of 7V and the negative terminal sees a voltage of 5V, then the CMR would be 5V and would output a value of 2V at unity gain. For the 1135 Voltage Sensor, it is able to measure the differential voltage of +/-10V with a CMR of 40V while keeping the accuracy within 2%. Please note that the error specifications do not include the error introduced by the Analog to Digital Conversion on the Analog Input. (if you are using the 1135 with a PhidgetInterfaceKit)  The majority of error introduced by the Analog to Digital conversion is from the error in the voltage reference (0.5% max), and the limitation of resolution in the SensorValue property.  The best accuracy can be achieved by using a 2 or more point calibration of your &lt;br /&gt;
system - effectively calibrating the 1135 and the PhidgetInterfaceKit in a single step.  If you are calibrating, be sure to use a good quality multimeter to determine the voltage being applied.&lt;br /&gt;
&lt;br /&gt;
Using RawSensorValue in the formula will increase the resolution, which is limited by SensorValue to about 67mV.&lt;br /&gt;
&lt;br /&gt;
===Formulas===&lt;br /&gt;
The Formula to translate SensorValue into differential voltage is:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::&amp;lt;math&amp;gt;V_{diff} =  \frac{\frac{SensorValue}{200} - 2.5}{0.0681}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
where V&amp;lt;sub&amp;gt;diff&amp;lt;/sub&amp;gt; is defined as V&amp;lt;sub&amp;gt;positive&amp;lt;/sub&amp;gt; - V&amp;lt;sub&amp;gt;negative&amp;lt;/sub&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{UGotherint}}&lt;br /&gt;
&lt;br /&gt;
===Analog Input Cable Connectors===&lt;br /&gt;
Each Analog Input uses a 3-pin, 0.100 inch pitch locking connector.  Pictured here is a plug with the connections labeled.  The connectors are commonly available - refer to the [[Analog Input Primer]] for manufacturer part numbers.&lt;br /&gt;
&lt;br /&gt;
==API==&lt;br /&gt;
{{SensorAPI}}&lt;br /&gt;
&lt;br /&gt;
==Product History==&lt;br /&gt;
{{UGhist}}&lt;br /&gt;
{{UGrow|March 2010 |0 |N/A |Product Release }}&lt;/div&gt;</summary>
		<author><name>Mparadis</name></author>
	</entry>
</feed>