The NETLab Widgets are a series of drag & drop components for Flash that enable designers to create physical computing projects quickly and easily, and in many cases with no programming. Download the full toolkit here.
- Input-Output: These widgets communicate with microcontrollers, other computers, and software outside of Flash
- Media: These widgets control sound, images, and video
- Logic-Processing: These widgets enable the processing and interpretation of values as they go from one widget to the next
Common Features for all Widgets
Parameters – All widgets have parameters that control the widget behavior. You can change the default settings of these parameters by selecting a widget on the Flash stage and opening the Properties panel WINDOW>PROPERTIES (CS5), or opening the WINDOW>COMPONENT INSPECTOR panel (CS4).
Instance Names – Widgets communicate with each other based on the instance names of the widgets. For example, the AnalogOutput widget will set the brightness of an LED (connected to a PWM output on the microcontroller) based on the values coming from the widget named in the AnalogOutput’s “inputSource” parameter. This name refers to the instance name of the widget providing the values, e.g. an AnalogInput widget named “input0″. For this to work, you must set the instance name in the properties inspector of any widget that is used as an input or a target of another widget.
Show/Hide Widgets with “\” key - The visibility of widgets on the Flash stage is set in the parameters. But you can also interactively show or hide the widgets by pressing the back-slash key “\” on the keyboard to toggle between visible and hidden, regardless of the “invisible” setting in the parameters.
Saved Settings – For widgets that have changable settings (e.g. AnalogInput min/max numbers) in their visual interface, these settings are automatically saved in an .xml file with the same name as the Flash file. For example, if your Flash file is called project1.fla, the settings are saved in project1.xml in the same directory as the original Flash file. If you rename or save a new version of the Flash file, be sure to make a copy of the .xml settings file and give it the same name as your new Flash file.
- If you are on a Mac and only have a single device hooked up, you can simply leave the default of “/dev/cu.usb*” and the Hub will figure out which port to connect to. If you are using more than one device (i.e. any combination of Arduinos and XBees) you’ll need to specify which port each widget should connect to. To find out the name of a specific serial port (which is usually something like: ”/dev/cu.usbserial-A6007WLE” – the Arduino and SparkFun XBee USB Explorer have a USB interfaces that will have a name with “/dev/cu.usbserial” at the beginning) you can find out the actual serial port name by opening up the Terminal Application (in Applications>Utilities) and typing: “ls /dev/cu*”. It’s easiest to have only one device plugged in at a time when you do this. Once you fine the device name, copy and paste it into the serialPort parameter.
- If you are on a PC, set this to the com port the device shows up as, for example “COM5″. You can find out the port name on the PC by opening Accessories>System Tools>System Information, then select Components>USB. You should see something with FTDI in it, e.g. “USB Serial Port (COM7) FTDIBUS\VID_0403+PID_6001+A6007WLEA\0000″, where COM7 would be the name to enter into the serialPort parameter.
|AnalogIn||Read values from a microcontroller analog input|
|AnalogOut||Send values to a PWM output on a microcontroller|
|BlinkMOut||Control the brightness and color of the BlinkM family of smart, tri-color LEDs made by ThingM|
|CloudIn||Receive a feed from an Internet of Things (IoT) cloud service|
|CloudOut||Send a feed to an Internet of Things (IoT) cloud service|
|DigitalIn||Read values from a microcontroller digital input|
|DigitalIn||Read values from a microcontroller digital input|
|DigitalOut||Send values to a microcontroller digital output|
|DmxOut||Send DMX 512a lighting control signals to change the operation of lighting|
|MidiOutCtrl||Send a MIDI Control Message to any MIDI device|
|MidiOutNote||Send a MIDI Note Message to any MIDI device|
|MotionTrack||Uses a video camera as an input device to provide an X,Y position from the most recent motion in the frame|
|MultiOut||Send a string of multiple values at once to a serial, hubFeed, or OSC output|
|ServoOut||Send position values to a microcontroller servo output|
|StepperIn||Status of a stepper to show if it is running or not|
|StepperOut||Move a stepper motor to a certain position|
|ClipControl||Control the characteristics of a movieClip such as width, x position, scale, etc.|
|ClipProperty||Uses a movieClip on the stage as input and outputs a property of the clip, including X,Y,Z,width, height, etc.|
|SlideShow||Create a timed slideshow from an ordered or random list of images provided by ListItems|
|SoundControl||Play a sound and control its volume|
|VideoControl||Control the playback start/stop, speed, or position in time of an external FLV video|
|ZSortClips||Make sure clips in 3D space are in front or behind of each other according to their Z axis|
Logic and Processing Widgets
|Code||Provides a mechanism for inserting ActionScript code between widgets|
|Combine||Processes up to four inputs and outputs the min, max, sum, difference, etc. of those inputs|
|Counter||Outputs values that increase or decrease by an increment each time the input reaches a threshold|
|Envelope||Processes its input to generate an output fade up and fade down within a specified range of input values|
|IfThenElse||Tests a condition for true or false, and outputs different values accordingly – multiple IfThenElse widgets can be combined|
|ListItems||Manages a list of text items, loaded from a text file, and delivers each item in order or randomly|
|Logger||Records and plays back data streams|
|MobileControl||Used in phone and tablet projects for setting the IP address of the remote Hub for all widgets, and for hiding/showing all widgets|
|TweenIt||Outputs a stream of rising or falling values over a specified period of time|
Last modified December 27th, 2013