HIN1100 User Guide: Difference between revisions
No edit summary |
|||
(18 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
__NOINDEX__ | |||
__NOTOC__ | |||
<metadesc>The Thumbstick Phidget is perfect for making a custom controller for your project. Two-axis with a center pushbutton, it plugs into a VINT port.</metadesc> | |||
[[Category:UserGuide]] | [[Category:UserGuide]] | ||
==Part 1: Setup== | |||
[[Image: | {{PT1 Deck Sequence}} | ||
=== | |||
== Part 2: Using Your Phidget == | |||
===About=== | |||
The 2-axis Thumbstick Phidget tracks the horizontal and vertical position of the stick between -1 and 1. The stick will snap back to the center when released. The thumbstick can also be clicked down to activate a push-button, similar to a video game controller. | |||
[[Image:HIN1100-About.jpg|link=]] | |||
===Explore Your Phidget Channels Using The Control Panel=== | |||
You can use your Control Panel to explore your Phidget's channels. | |||
'''1.''' Open your Control Panel, and you will find the following channels: | |||
[[Image:HIN1100_Panel.jpg|link=|center]] | |||
'''2.''' Double click on a channel to open an example program. | |||
{{UGC-Start}} | |||
{{UGC-Entry|Joystick Axis:| Reports the tilt of the joystick (Channel 0 for up/down and channel 1 for left/right)| | |||
In your Control Panel, double click on "Joystick Axis": | |||
[[Image:HIN1100-VoltageRatio.jpg|center|link=]]}} | |||
{{ | {{UGC-Entry|Joystick Button:| Reports the state of the pushbutton| | ||
In your Control Panel, double click on "Joystick Button": | |||
[[Image:HIN1100-DigitalInput.jpg|center|link=]]}} | |||
{{ | {{UGC-End}} | ||
{{UG-Part3}} | |||
=== Converting to Polar Coordinates = | == Part 4: Advanced Topics and Troubleshooting == | ||
{{UGC-Start}} | |||
{{UGC-Addressing}} | |||
{{UGC-DataInterval}} | |||
{{UGC-Firmware}} | |||
{{UGC-Entry|Converting to Polar Coordinates|| | |||
[[Image:HIN1100_Polar.jpg|700px|link=]] | |||
For | For some applications, you may want to convert the 2-axis data of the Thumbstick Phidget into an angle and magnitude. This can be helpful if you want to use it like a video game controller. You can use the following formulas: | ||
::<math>\text{r} = \sqrt{x^2 + y^2} </math> | ::<math>\text{r} = \sqrt{x^2 + y^2} </math> | ||
Line 37: | Line 52: | ||
::<math>\phi = atan2(x, y) </math> | ::<math>\phi = atan2(x, y) </math> | ||
Where | Where r is the magnitude, ϕ is the angle, and x and y are the two axis values. Atan2 is the 2-argument arctangent function, which you can find in most math libraries. For example, in C# you could use Math.Atan2(x,y). Depending on your language, ϕ may be in radians or degrees. | ||
Since x and y range from -1.0 to 1.0, the resulting r will range from -√2 to √2, so you may also want to modify the first formula like so: | |||
Since | |||
::<math>\text{r} = \frac{\sqrt{x^2 + y^2}}{\sqrt{2}} </math> | ::<math>\text{r} = \frac{\sqrt{x^2 + y^2}}{\sqrt{2}} </math> | ||
This way, your | This way, your r will range from 0 to 1, which is more intuitive than -√2 to √2. | ||
}} | |||
{{ | {{UGC-End}} |
Latest revision as of 21:15, 17 January 2022
Part 1: Setup
Part 2: Using Your Phidget
About
The 2-axis Thumbstick Phidget tracks the horizontal and vertical position of the stick between -1 and 1. The stick will snap back to the center when released. The thumbstick can also be clicked down to activate a push-button, similar to a video game controller.
Explore Your Phidget Channels Using The Control Panel
You can use your Control Panel to explore your Phidget's channels.
1. Open your Control Panel, and you will find the following channels:
2. Double click on a channel to open an example program.
In your Control Panel, double click on "Joystick Axis":
In your Control Panel, double click on "Joystick Button":
Part 3: Create your Program
Part 4: Advanced Topics and Troubleshooting
Before you open a Phidget channel in your program, you can set these properties to specify which channel to open. You can find this information through the Control Panel.
1. Open the Control Panel and double-click on the red map pin icon:
2. The Addressing Information window will open. Here you will find all the information you need to address your Phidget in your program.
See the Phidget22 API for your language to determine exact syntax for each property.
The Change Trigger is the minimum change in the sensor data needed to trigger a new data event.
The Data Interval is the time (in ms) between data events sent out from your Phidget.
The Data Rate is the reciprocal of Data Interval (measured in Hz), and setting it will set the reciprocal value for Data Interval and vice-versa.
You can modify one or both of these values to achieve different data outputs. You can learn more about these properties here.
Firmware Upgrade
MacOS users can upgrade device firmware by double-clicking the device row in the Phidget Control Panel.
Linux users can upgrade via the phidget22admin tool (see included readme for instructions).
Windows users can upgrade the firmware for this device using the Phidget Control Panel as shown below.
Firmware Downgrade
Firmware upgrades include important bug fixes and performance improvements, but there are some situations where you may want to revert to an old version of the firmware (for instance, when an application you're using is compiled using an older version of phidget22 that doesn't recognize the new firmware).
MacOS and Linux users can downgrade using the phidget22admin tool in the terminal (see included readme for instructions).
Windows users can downgrade directly from the Phidget Control Panel if they have driver version 1.9.20220112 or newer:
Firmware Version Numbering Schema
Phidgets device firmware is represented by a 3-digit number. For firmware patch notes, see the device history section on the Specifications tab on your device's product page.
- If the digit in the 'ones' spot changes, it means there have been bug fixes or optimizations. Sometimes these changes can drastically improve the performance of the device, so you should still upgrade whenever possible. These upgrades are backwards compatible, meaning you can still use this Phidget on a computer that has Phidget22 drivers from before this firmware upgrade was released.
- If the digit in the 'tens' spot changes, it means some features were added (e.g. new API commands or events). These upgrades are also backwards compatible, in the sense that computers running old Phidget22 drivers will still be able to use the device, but they will not be able to use any of the new features this version added.
- If the digit in the 'hundreds' spot changes, it means a major change has occurred (e.g. a complete rewrite of the firmware or moving to a new architecture). These changes are not backwards compatible, so if you try to use the upgraded board on a computer with old Phidget22 drivers, it will show up as unsupported in the Control Panel and any applications build using the old libraries won't recognize it either. Sometimes, when a Phidget has a new hardware revision (e.g. 1018_2 -> 1018_3), the firmware version's hundreds digit will change because entirely new firmware was needed (usually because a change in the processor). In this case, older hardware revisions won't be able to be upgraded to the higher version number and instead continue to get bug fixes within the same major revision.
For some applications, you may want to convert the 2-axis data of the Thumbstick Phidget into an angle and magnitude. This can be helpful if you want to use it like a video game controller. You can use the following formulas:
Where r is the magnitude, ϕ is the angle, and x and y are the two axis values. Atan2 is the 2-argument arctangent function, which you can find in most math libraries. For example, in C# you could use Math.Atan2(x,y). Depending on your language, ϕ may be in radians or degrees. Since x and y range from -1.0 to 1.0, the resulting r will range from -√2 to √2, so you may also want to modify the first formula like so:
This way, your r will range from 0 to 1, which is more intuitive than -√2 to √2.