Phidget
   HOME

TheInfoList



OR:

A phidget is a physical representation or implementation of a
GUI widget A graphical widget (also graphical control element or control) in a graphical user interface is an element of interaction, such as a button or a scroll bar. Controls are software components that a computer user interacts with through direct m ...
. 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 An application programming interface (API) is a connection between computers or between computer programs. It is a type of software Interface (computing), interface, offering a service to other pieces of software. A document or standard that des ...
(API). Applications can be developed in
Mac OS X macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
,
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
,
Windows CE Windows CE, later known as Windows Embedded CE and Windows Embedded Compact, is a discontinued operating system developed by Microsoft for mobile and embedded devices. It was part of the Windows Embedded family and served as the software foun ...
and
Windows Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
operating systems An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ...
. 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 Universal Serial Bus (USB) is an industry standard, developed by USB Implementers Forum (USB-IF), for digital data transmission and power delivery between many types of electronics. It specifies the architecture, in particular the physical ...
. 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 {{Infobox university , name = University of Calgary , image = University of Calgary coat of arms without motto scroll.svg , image_size = 150px , caption = Coat of arms , former ...
.


Phidget API

Phidgets can be programmed using a variety of software and programming languages, ranging from
Java Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
to
Microsoft Excel Microsoft Excel is a spreadsheet editor developed by Microsoft for Microsoft Windows, Windows, macOS, Android (operating system), Android, iOS and iPadOS. It features calculation or computation capabilities, graphing tools, pivot tables, and a ...
. 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 and has been extended to work in numerous languages including
.NET The .NET platform (pronounced as "''dot net"'') is a free and open-source, managed code, managed computer software framework for Microsoft Windows, Windows, Linux, and macOS operating systems. The project is mainly developed by Microsoft emplo ...
and Java.


Examples of Phidgets

* Servo – Allows control of up to 4 servo motors. Each servo can be addressed individually where it can have its position read and set. * PhidgetAccelerometer – The
accelerometer An accelerometer is a device that measures the proper acceleration of an object. Proper acceleration is the acceleration (the rate of change (mathematics), rate of change of velocity) of the object relative to an observer who is in free fall (tha ...
senses
acceleration In mechanics, acceleration is the Rate (mathematics), rate of change of the velocity of an object with respect to time. Acceleration is one of several components of kinematics, the study of motion. Accelerations are Euclidean vector, vector ...
in 2 and 3 dimensions. * TextLCD – A 20 character * 2 line LCD display, acting as an alternative display mechanism in a phidget project. * InterfaceKit – Allows input/output interface to analog and digital sensors and switches.


References

{{Reflist Robotics projects User interfaces