Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
blocks:app-note:firmata [2023-08-16 16:45]
mattias
blocks:app-note:firmata [2023-08-16 18:13] (current)
mattias
Line 1: Line 1:
-===== Controlling Arduino devices (pinsusing Firmata protocol =====+===== Control Arduino pins using Firmata protocol =====
  
      
 [[https://github.com/firmata/protocol|Firmata]] is a protocol for communicating with microcontrollers to, e.g., set digital outputs and read analog inputs from another computer.  [[https://github.com/firmata/protocol|Firmata]] is a protocol for communicating with microcontrollers to, e.g., set digital outputs and read analog inputs from another computer. 
 This allows rather effortless access to the digital pins on a mainly Arduino compatible microcontrollers supported by Firmata, that  can be used to detect button presses and control relays and outputs. In the [[https://github.com/pixilab/blocks-script|Blocks driver repo on GitHub]], there is a driver that can be used to control a Firmata-enabled microcontroller from Blocks. This article describes roughtly the steps involved in programming the Firmata software on a microcontroller using the Arduino IDE and how to use the Firmata Blocks driver. It is assumed that the reader is familiar with the Arduino IDE. Firmata and Arduino it not covered within the scope of Pixilab support, any Arduino issues must be directed to the maintainers of firmata and their user forums and documentation or adressed to Pixilab as a consultancy request. This allows rather effortless access to the digital pins on a mainly Arduino compatible microcontrollers supported by Firmata, that  can be used to detect button presses and control relays and outputs. In the [[https://github.com/pixilab/blocks-script|Blocks driver repo on GitHub]], there is a driver that can be used to control a Firmata-enabled microcontroller from Blocks. This article describes roughtly the steps involved in programming the Firmata software on a microcontroller using the Arduino IDE and how to use the Firmata Blocks driver. It is assumed that the reader is familiar with the Arduino IDE. Firmata and Arduino it not covered within the scope of Pixilab support, any Arduino issues must be directed to the maintainers of firmata and their user forums and documentation or adressed to Pixilab as a consultancy request.
 +
 +Make sure Blocks version is 6.1 or higher.
  
  
Line 12: Line 14:
  
   * In the Arduino IDE Library Manager, search for and install Firmata version >= 2.5.9.    * In the Arduino IDE Library Manager, search for and install Firmata version >= 2.5.9. 
-  * In the Arduino IDE, open the file libraries/Firmata/examples/StandardFirmata/StandardFirmata.ino. The "libraries" folder is usually located in My Documents/Arduino/ on Windows and in home/Arduino/ on Linux. +  * In the Arduino IDE, open the file libraries/Firmata/examples/StandardFirmata/StandardFirmata.ino. The "libraries" folder is usually located in My Documents/Arduino/ on Windows and in home/Arduino/ on Linux and may also be presented as an example sketch for the Firmata lib.
   * Build the project and upload the sketch to the microcontroller.   * Build the project and upload the sketch to the microcontroller.
  
Line 18: Line 20:
   * Make sure the driver files have been installed on the server.   * Make sure the driver files have been installed on the server.
   * Connect the Firmata enabled device to a PIXILAB Player Spot.   * Connect the Firmata enabled device to a PIXILAB Player Spot.
-  * Add the serial device in the Blocks editor on the Manage page. Use the "Firmata" driver.+  * Add the serial device in the Blocks editor on the Manage page and specify the Display spot where the Arduino was connected Select the "Firmata" driver.
   * Configure the device using the network device Custom Options field in the blocks editor. The json scheme is explained at the top comment of the drivers source code.   * Configure the device using the network device Custom Options field in the blocks editor. The json scheme is explained at the top comment of the drivers source code.