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
- 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
- Toggle the
Activeparameter. 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 Valuespages, setup and control your Arduino.
- The CHOP output form the component contains all pin values.
Parameters - Firmata Page
Help - Opens this page.
Version - THe current version of this component.
Firmatatype - The installed firmata type as reported by the arduino board.
Firmataversion - The installed firmata version as reported by the arduino board.
Active - Toggle to establish a connection between the component and the arduino board.
Port - Select the port the arduino board is connected to.
Baudrate - Set the Baud Rate for the serial connection.
Reset - Reset all stored settings of the arduino board.
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.
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:
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
- Output 0 - The CHOP output reflects the arduino's pin values.
|• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •|
To pulse a parameter is to send it a signal from a CHOP or python or a mouse click that causes a new action to occur immediately. A pulse via python is via the
.pulse() function on a pulse-type parameter, such as Reset in a Speed CHOP. A pulse from a CHOP is typically a 0 to 1 to 0 signal in a channel.
A built-in panel in TouchDesigner that contains a library of components and media that can be dragged-dropped into a TouchDesigner network.