Palette:firmata

From Derivative
Jump to navigation Jump to search

Summary
[edit]

Firmata is an Arduino sketch allowing for configuration and control of the Arduino using messages formatted as MIDI. More information on the firmata protocol can be found here: https://github.com/firmata/protocol

PythonIcon.pngPalette:firmata Ext


Getting Started

  • Install the latest Arduino IDE on your computer and connect your Arduino board.
  • In the Arduino IDE, under `File`, select `Examples>Firmata>Standard Firmata` and upload it to your board.
  • Close the IDE and select the port your Arduino is conencted to on the firmata COMP's Port parameter.
  • Toggle the Active parameter. The component will attempt to communicate with the Arduino and create all necessary parameters for pin-modes and pin-values.
  • Via the now available Pin Modes and Pin Values pages, setup and control your Arduino.
  • The CHOP output form the component contains all pin values.


Parameters - Firmata Page

Help Help - Opens this page.

Version Version - THe current version of this component.

Firmata Type Firmatatype - The installed firmata type as reported by the arduino board.

Firmata Version Firmataversion - The installed firmata version as reported by the arduino board.

Active Active - Toggle to establish a connection between the component and the arduino board.

Port Port - Select the port the arduino board is connected to.

Baud Rate Baudrate - Set the Baud Rate for the serial connection.

Reset Reset - Reset all stored settings of the arduino board.

Query Version Queryver - Request the installed firmata type and version from the arduino board.

Query Board Capabilities Querycap - The capability query provides a list of all modes supported by each pin.

Query Pin States Querystates - The pin state is any data written to the pin (it is important to note that pin state != pin value).

Query Analog Mapping Queryanalog - The analog mapping query provides the information about which pins (as used with Firmata's pin mode message) correspond to the analog channels.

Report Analog Pins Reportanalog - Enable the reporting of analog pin values from the arduino.

Report Digital Pins Reportdigital - Enable the reporting of digital pin values from the arduino.

Sampling Interval Samplinginterval - The sampling interval sets how often analog data and i2c data is reported to the client. The default for the arduino implementation is 19ms.


Parameters - Pin Modes Page

This page will have a list of menu parameters the length of the number of pins on the arduino board. For each pin, the menu will reflect the pins supported modes:

  • DIGITAL_INPUT
  • DIGITAL_OUTPUT
  • ANALOG_INPUT
  • PWM
  • SERVO
  • SHIFT
  • I2C
  • ONEWIRE
  • STEPPER
  • ENCODER
  • SERIAL
  • INPUT_PULLUP



Parameters - Pin Values Page

This page will have a list of either float and toggle parameters for each pin depending on the pin's mode. Pins set to an input type will be read-only.



Parameters - Servo Page

Min Pulse Minpulse -

Max Pulse Maxpulse -


Operator Outputs

  • Output 0 - The CHOP output reflects the arduino's pin values.

TouchDesigner Build:

Palette
Palette • Palette:arcBallCamera • Palette:arcBallGeometry • Palette:audioAnalysis • Palette:audioSet • Palette:battery • Palette:blendModes • Palette:bloom • Palette:camera • Palette:cameraBrowser • Palette:camSchnappr • Palette:changeColor • Palette:changeToColor • Palette:checker • Palette:chromaKey • Palette:colorThreshold • Palette:compareComp • Palette:convolve • Palette:cornerPinSOP • Experimental:Palette:cppParsTemplateGen • Palette:customAttributes • Palette:debugControl • Palette:dent • Palette:depthExtract • Palette:dilate • Palette:equalizer • Palette:feedback • Palette:feedbackEdge • Palette:firmata • Palette:geoPanel • Palette:gestureCapture • Palette:graphPlot • Palette:histogram • Palette:hsvBlur • Palette:imageSearch • Palette:julia • Palette:kantanMapper • Palette:kinectCalibration • Palette:kinectPointcloud • Palette:leapPaint • Palette:lightTunnel • Palette:mandelbrot • Palette:mesh • Palette:monochrome • Palette:motionSense • Palette:moviePlayer • Palette:multiLevel • Palette:multiMix • Palette:noise • Palette:onScreenKeyboard • Palette:opticalFlow • Palette:particlesGpu • Palette:pixelate • Palette:pixelRelocator • Palette:pointGenerator • Palette:pointillize • Palette:pointMerge • Palette:pointRender • Palette:pointRepack • Palette:pointTransform • Palette:pointWeight • Palette:popDialog • Palette:probe • Palette:projectorBlend • Palette:pushPins • Palette:puzzle • Palette:radialBlur • Palette:remotePanel • Palette:reproject • Palette:rgbaBlur • Palette:rgbaDelay • Palette:rgbContrast • Palette:search • Palette:searchReplace • Palette:sharpen • Palette:softenAlpha • Palette:solarize • Palette:sopRender • Palette:splitter • Palette:stitcher • Palette:stoner • Palette:superFormula • Palette:sweetSpotPreviz • Palette:TDVR • Palette:transitMap • Palette:twirl • Palette:vectorScope • Palette:virtualFile • Palette:waveformMonitor • Palette:webBrowser • Palette:webSvg • Palette:xyScope