Arduino Firmata protocol (http://firmata.org) implementation on Node.js.
% npm install arduino-firmata
Requirements
Connect
var ArduinoFirmata = require('arduino-firmata');
var arduino = new ArduinoFirmata();
Â
arduino.connect();Â
arduino.connect('/dev/tty.usb-device-name');
Â
arduino.on('connect', function(){
Â
  console.log("board version"+arduino.boardVersion);
 Â
Â
});
Reset
Close
I/ODigital Write
arduino.digitalWrite(13, true, callback);
arduino.digitalWrite(13, false, callback);
Digital Read
arduino.pinMode(7, ArduinoFirmata.INPUT);
console.log(Â arduino.digitalRead(7)Â );Â
Digital Read (event)
arduino.pinMode(7, ArduinoFirmata.INPUT);
Â
arduino.on('digitalChange', function(e){
  console.log("pin" + e.pin + " : " + e.old_value + " -> " + e.value);
});
Analog Write (PWM)
setInterval(function(){
var an = Math.random()*255; // 0 ~ 255
arduino.analogWrite(9, an, callback);
}, 100);
Analog Read
console.log(Â arduino.analogRead(0)Â );Â
Analog Read (event)
arduino.on('analogChange', function(e){
  console.log("pin" + e.pin + " : " + e.old_value + " -> " + e.value);
});
Servo Motor
SysexsetInterval(function(){
  var angle = Math.random()*180;Â
  arduino.servoWrite(11, angle, callback);
}, 1000);
Send
arduino.sysex(0x01, [13, 5, 2], callback); Â
Register Sysex Event
Developarduino.on('sysex', function(e){
  console.log("command : " + e.command);
  console.log(e.data);
});
% npm install
% npm run build
# or
% npm run watch
Test Install SysexLedBlinkFirmata into Arduino
Run Test
% npm test
Contributing
git checkout -b my-new-feature
)git commit -am 'Add some feature'
)git push origin my-new-feature
)RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4