Phidget
Encyclopedia
A phidget is a physical representation or implementation of a GUI widget. For example, an on-screen dial widget could be implemented physically as a knob.

Phidgets are a system of low-cost electronic components and sensors that are controlled by a personal computer. Using the Universal Serial Bus (USB) as the basis for all phidgets, the complexity is managed behind an Application Programming Interface
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...

 (API). Applications can be developed in Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

, Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

, Windows CE
Windows CE
Microsoft Windows CE is an operating system developed by Microsoft for embedded systems. Windows CE is a distinct operating system and kernel, rather than a trimmed-down version of desktop Windows...

 and Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

 operating systems.

Their usage is primarily focused to allow exploration of alternative physical computer interaction systems, but have most notably been adopted by robotic enthusiasts as they greatly simplify PC-Robot interaction. Phidgets are an attempt to build physical analogue to software widgets, allowing the construction of complex physical systems out of simpler components. Phidgets are designed and produced by Phidgets Inc.

Phidget

A phidget (physical widget) is attached to a host computer via USB. There are various phidgets available, each having a counterpart class in the phidget API. As each phidget is attached to the host computer, it is made available to control in the API, where its state can be accessed and set.

Phidgets arose out of a research project in 2001 directed by Saul Greenberg at the Department of Computer Science, University of Calgary
University of Calgary
The University of Calgary is a public research university located in Calgary, Alberta, Canada. Founded in 1966 the U of C is composed of 14 faculties and more than 85 research institutes and centres.More than 25,000 undergraduate and 5,500 graduate students are currently...

.

Phidget API

Phidgets can be programmed using a variety of software and programming languages, ranging from Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

 to Microsoft Excel
Microsoft Excel
Microsoft Excel is a proprietary commercial spreadsheet application written and distributed by Microsoft for Microsoft Windows and Mac OS X. It features calculation, graphing tools, pivot tables, and a macro programming language called Visual Basic for Applications...

.

Examples of programming languages are:

Adobe Director, AutoIt, C#, C/C++, Cocoa, Delphi, Flash AS3, Flex AS3, Java, LabVIEW, MATLAB, Max/MSP, Microsoft Robotics Studio 1.5, Python Module (version: 2.1.6.20100317), REALBasic, Visual Basic .NET, Visual Basic 6.0, Visual Basic for Applications, Visual Basic Script, Visual C/C++/Borland and FlowStone.

The phidget API is what allows systems to access the phidget devices in a high level manner. The API allows the management of devices as they are attached, to subscribe to events and to access the state of the phidgets. The core API is originally written in C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

 and has been extended to work in numerous languages including .NET
.NET Framework
The .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...

 and Java.

An abbreviated list of Phidgets

  • Servo – Allows control of up to 4 servo motors
    Servomechanism
    thumb|right|200px|Industrial servomotorThe grey/green cylinder is the [[Brush |brush-type]] [[DC motor]]. The black section at the bottom contains the [[Epicyclic gearing|planetary]] [[Reduction drive|reduction gear]], and the black object on top of the motor is the optical [[rotary encoder]] for...

    . Each servo can be addressed individually where it can have its position read and set.
  • PhidgetAccelerometer – The accelerometer
    Accelerometer
    An accelerometer is a device that measures proper acceleration, also called the four-acceleration. This is not necessarily the same as the coordinate acceleration , but is rather the type of acceleration associated with the phenomenon of weight experienced by a test mass that resides in the frame...

     senses acceleration
    Acceleration
    In physics, acceleration is the rate of change of velocity with time. In one dimension, acceleration is the rate at which something speeds up or slows down. However, since velocity is a vector, acceleration describes the rate of change of both the magnitude and the direction of velocity. ...

     in 2 and 3 dimensions.
  • TextLCD – A 20 character * 2 line LCD display
    Liquid crystal display
    A liquid crystal display is a flat panel display, electronic visual display, or video display that uses the light modulating properties of liquid crystals . LCs do not emit light directly....

    , acting as an alternative display mechanism in a phidget project.
  • InterfaceKit – Allows input/output interface to analog and digital sensors and switches.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK