1052 User Guide: Difference between revisions

From Phidgets Support
(Created page with "==Getting Started== ===Checking the Contents=== {{UGbox| '''You should have received:''' * A PhidgeEncoder board * A custom USB cable |||}} ===Connecting the Pieces=== {{UGb...")
 
No edit summary
(17 intermediate revisions by 4 users not shown)
Line 1: Line 1:
__NOINDEX__
<metadesc>The PhidgetEncoder can be used as a control dial for user input. The centre of the dial is a pushbutton and it connects directly to USB.</metadesc>
[[Category:UserGuide]]
==Getting Started==
==Getting Started==
{{UGIntro|1052}}
*[{{SERVER}}/products.php?product_id=1052 1052 PhidgetEncoder] and [{{SERVER}}/products.php?product_id=3016 custom USB cable]
*computer


===Checking the Contents===
{{UGbox|
'''You should have received:'''
* A PhidgeEncoder board
* A custom USB cable
|||}}


===Connecting the Pieces===
Next, you will need to connect the pieces:
{{UGbox|
[[Image:1052_0_Connecting_The_Hardware.jpg|400px|right|link=]]
Connect the PhidgetEncoder board to the computer using the USB cable.
# Connect the PhidgetEncoder to your computer using the included USB cable.
|
[[File:1052_0_Connecting_The_Hardware.jpg|400px|link=]]
||}}


===Testing Using Windows 2000 / XP / Vista / 7===
<br clear="all">
{{UGIntroDone|1052}}


{{UGwin}}
==Using the 1052==
{{UGcontrolpanel|1052}}


===Running Phidgets Sample Program===
{{ugEncoder|1052|Encoder Input}}


{{UGwin2|'''Encoder-full'''}}
{{ugDigitalInputBTN|1052}}


{{UGbox|
{{ugAddressingInformation}}
Double Click on the [[File:Ph.jpg|link=]] icon to activate the Phidget Control Panel and make sure that the '''Phidget Encoder''' is properly attached  to your PC.
|[[File:1052_0_Control_Panel_Screen.jpg|400px|link=]]
|
# Double Click on '''Phidget Encoder''' in the Phidget Control Panel to bring up Encoder-full and check that the box labelled Attached contains the word True.
# As you turn the knob the relative change will be positive when turning counterclockwise and negative when turning clockwise.
# Displays the time in milliseconds since the last time you turned the knob.
# Returns 80 counts for each knob revolution. The number will decrease when turning the knob clockwise and increase when turning counterclockwise.
# Tick mark appears when the knob is depressed.
|[[File:1052_0_Encoder_Screen.jpg|400px|link=]]
}}


===Testing Using Mac OS X===
{{ugUsingYourOwnProgram|1052}}
 
{{UGmac|Phidget Encoder|Encoder-full}}
 
===Using Linux===
 
{{UGlinux}}
 
===Using Windows Mobile / CE 5.0 / CE 6.0===
 
{{UGce}}


==Technical Details==
==Technical Details==
If you want to learn more about encoders in general, check out the [[Encoder Primer]].
If you want to learn more about encoders in general, check out the [[Encoder Primer]].


===Using Other Encoders===
===Using Other Encoders===
[[File:1052_0_Footprint_Diagram.jpg|300px|link=|right]]
[[File:1052_0_Footprint_Diagram.jpg|300px|link=|right]]


If you decide that the mounted encoder does not meet your requirements it is possible to use other two-bit mechanical encoders. Optical encoders with large counts per revolution should not be expected to work with this device.  To change the encoder the user will have to carefully desolder and remove the existing encoder. However, if you attempt to remove the encoder the warranty willl be void and we can not offer technical support.   
If you decide that the mounted encoder does not meet your requirements it is possible to use other two-bit mechanical encoders. Optical encoders with large counts per revolution should not be expected to work with this device.  To change the encoder the user will have to carefully desolder and remove the existing encoder. However, if you attempt to remove the encoder the warranty willl be void and we can not offer technical support.   


For assistance on desoldering techniques we recommend using any search engine on the Internet.  Since your new encoder may not have the exact same pin configuration, you should use wire to connect your new encoder to the appropriate pins on the PhidgetEncoder board.  We have tested the following encoders, and found that they can be used as replacements:  
Since your new encoder may not have the exact same pin configuration, you should use wire to connect your new encoder to the appropriate pins on the PhidgetEncoder board.  We have tested the following encoders, and found that they can be used as replacements:  


{| style="border:1px solid darkgray;" cellpadding="7px;"
{|class = "wikitable"
|-style="background: #f0f0f0" align=center
| align="center" style="background:#f0f0f0;"|'''Manufacturer '''
! Manufacturer || Part Number || Description
| align="center" style="background:#f0f0f0;"|'''Part Number'''
| align="center" style="background:#f0f0f0;"|'''Description'''
|-
|-
|style="background: #F8F8F8" align=left| CTS
|align=center| CTS
|style="background: #F8F8F8" align=left| 290UAA5F201B2
|align=center| 290UAA5F201B2
|style="background: #F8F8F8" align=left| 2-Bit 9mm 20CPR Encoder Detent w/MO SPST
|align=center| 2-Bit 9mm 20CPR Encoder Detent w/MO SPST
|-
|-
|style="background: #F8F8F8" align=left| CTS
|align=center| CTS
|style="background: #F8F8F8" align=left| 290UAA5F201B1
|align=center| 290UAA5F201B1
|style="background: #F8F8F8" align=left| 2-Bit 9mm 20CPR Encoder Non-Detent w/MO SPST
|align=center| 2-Bit 9mm 20CPR Encoder Non-Detent w/MO SPST
|-
|-
|style="background: #F8F8F8" align=left| CTS
|align=center| CTS
|style="background: #F8F8F8" align=left| 288V232R161B2
|align=center| 288V232R161B2
|style="background: #F8F8F8" align=left| 2-Bit 16mm 16CPR Encoder Detent w/MO SPST
|align=center| 2-Bit 16mm 16CPR Encoder Detent w/MO SPST
|-
|-
|}
|}
Line 79: Line 57:
Note: Most of the above components can be bought at [http://www.digikey.com Digikey].
Note: Most of the above components can be bought at [http://www.digikey.com Digikey].
<br clear=all>
<br clear=all>
==API==
{{UGapih}}
===Functions===
{{UGapi|int InputCount() [get] : Constant
|Returns the number of digital inputs supported by this PhidgetEncoder.  On the 1052, there is one digital input - the push button on the shaft of the encoder.
}}
{{UGapi|bool InputState (int EncoderIndex) [get]
|Returns the state of a particular digital input.
}}
{{UGapi|int EncoderCount() [get] : Constant
|Returns the number of encoders supported by this PhidgetEncoder.  On the 1052, there is one encoder - the unit mounted on the board.
}}
{{UGapi|int Position(int EncoderIndex) [get,set]
|Returns/sets the position of an encoder. This is an absolute position as calcutated since the encoder was plugged in. Dividing position by the number of increments per revolution (80) will give the number of rotations the encoder has travelled. Position can be set, typically used when an encoder has reached an identifiable (through external means, such as a limit switch) home position. This call does not send information to the device, as an absolute position is maintained only in the library. After this call, position changes from the encoder will use the new value to calculate absolute position
}}
===Events===
{{UGapi|OnDigitalInputChange(int InputIndex, bool State) [event]
|An event that is issued whenever the state of a digital input changes.
}}


{{UGapi|OnPositionChange(int EncoderIndex, int Time, int PositionChange) [event]
{{UGnext|}}
|An event that is issued whenever a change in encoder position occurs.  This event returns the length of time that the change took (in milliseconds), and the amount of change (positive/negative encoder increments)
}}
==Product History==
{{UGhist}}
{{UGrow|January 2003|0|100|Product Release}}
{{UGrow|July 2004  |0|110|Protocol modified to allow multiple encoder input expansion}}

Revision as of 16:12, 17 October 2019


Getting Started

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


Next, you will need to connect the pieces:

1052 0 Connecting The Hardware.jpg
  1. Connect the PhidgetEncoder to your computer using the included USB cable.


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

Using the 1052

Phidget Control Panel

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


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

Windows

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

Windows PhidgetTaskbar.PNG

macOS

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


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


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

First Look

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

1052 Panel.jpg


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

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


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

Encoder

Double-click on the Encoder object, labelled Encoder Input, in order to run the example:

1052 Encoder Example.jpg


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

  • Position Change: the number of ticks (or quadrature cycles) that have occurred since the last change event.
  • Time Change: the amount of time in milliseconds that has elapsed since the last change event.
  • Position: the total position in ticks relative to where the encoder was when the window was opened.
  • Index Position: the position where the index channel was last encountered. Some encoders do not support index, check your encoder's datasheet for more information.
  • Velocity: the average velocity in rotations per second. A CPR must be specified to enable this functionality.
  • Specify a counts per revolution (CPR) value to enable velocity calculation.

Digital Input

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

1052 DigitalInputBTN Example.jpg


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

  • This is a button type device, therefore, it will be true when the button is pressed, and false in the default state.


Finding The Addressing Information

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

The locate Phidget button is found in the device information box

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

All the information you need to address your Phidget

Using Your Own Program

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

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

Code Sample Choose Language.png


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

Technical Details

If you want to learn more about encoders in general, check out the Encoder Primer.

Using Other Encoders

1052 0 Footprint Diagram.jpg

If you decide that the mounted encoder does not meet your requirements it is possible to use other two-bit mechanical encoders. Optical encoders with large counts per revolution should not be expected to work with this device. To change the encoder the user will have to carefully desolder and remove the existing encoder. However, if you attempt to remove the encoder the warranty willl be void and we can not offer technical support.

Since your new encoder may not have the exact same pin configuration, you should use wire to connect your new encoder to the appropriate pins on the PhidgetEncoder board. We have tested the following encoders, and found that they can be used as replacements:

Manufacturer Part Number Description
CTS 290UAA5F201B2 2-Bit 9mm 20CPR Encoder Detent w/MO SPST
CTS 290UAA5F201B1 2-Bit 9mm 20CPR Encoder Non-Detent w/MO SPST
CTS 288V232R161B2 2-Bit 16mm 16CPR Encoder Detent w/MO SPST

Note: Most of the above components can be bought at Digikey.

What to do Next

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