Johnny-Five
Making robots with JavaScript
Henri Cavalcante
● github.com/henricavalcante
● twitter.com/henricavalcante (Arduino Pro Mini givaway)
● fb.me/henricavalcante
Johnny-Five
Johnny-Five is the original
JavaScript Robotics programming
framework. Released by Bocoup in
2012, Johnny-Five is maintained
by a community of passionate
software developers and hardware
engineers. Over 75 developers have
made contributions towards
building a robust, extensible
and composable ecosystem.
Basic Usage
Computer Arduino
NodeJs
Johnny-Five
Firmata
Serial
Firmata
Firmata is a protocol for communicating with microcontrollers from software
on a computer (or smartphone/tablet, etc). The protocol can be implemented
in firmware on any microcontroller architecture as well as software on any
computer software package (see list of client libraries below).
Flash your Arduino with Standard Firmata:
● Connect the Arduino to your PC using the USB Cable
● Open the Arduino IDE, select: File > Examples > Firmata > StandardFirmata
● Click the "Upload" button.
● The text "Done Uploading" will appear once the upload is complete.
Example
const five = require('johnny-five');
const board = new five.Board();
board.on('ready', () => {
(new five.Led(13)).blink(500);
});
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH);
delay(500);
digitalWrite(13, LOW);
delay(500);
}
Single boards
Raspberry Pi 3
Analog Read no
Digital Read yes
Digital Write yes
PWM yes
Servo yes
I2C yes
One Wire no
Stepper no
Serial/UART no
DAC no
Ping no
Single boards
Intel Galileo
Analog Read yes
Digital Read yes
Digital Write yes
PWM yes
Servo yes
I2C yes
One Wire no
Stepper no
Serial/UART no
DAC no
Ping no
Single boards
Tessel 2
Analog Read yes
Digital Read yes
Digital Write yes
PWM no
Servo yes
I2C yes
One Wire no
Stepper no
Serial/UART no
DAC yes
Ping no
Why [not] JavaScript?
Source: http://arc.applause.com/2016/03/22/javascript-is-the-worlds-dominant-programming-language/#.VvGQnf9aLrU.twitter
● Fast, very fast
● Asynchronous
● Event-based
● Top 1 language in the world
● Large community
http://nodebots.io/
NodeBots are (quite literally) robots of one kind or another that can
be controlled via Node. They can have everything from wheels, movable
arms and legs, motion detectors, cameras, LED displays, the ability to
control cats and so much more. The only limits are your imagination and
the components you can find and put together!
● github.com/henricavalcante
● twitter.com/henricavalcante
● fb.me/henricavalcante

Johnny-Five

  • 1.
  • 2.
    Henri Cavalcante ● github.com/henricavalcante ●twitter.com/henricavalcante (Arduino Pro Mini givaway) ● fb.me/henricavalcante
  • 3.
    Johnny-Five Johnny-Five is theoriginal JavaScript Robotics programming framework. Released by Bocoup in 2012, Johnny-Five is maintained by a community of passionate software developers and hardware engineers. Over 75 developers have made contributions towards building a robust, extensible and composable ecosystem.
  • 4.
  • 5.
    Firmata Firmata is aprotocol for communicating with microcontrollers from software on a computer (or smartphone/tablet, etc). The protocol can be implemented in firmware on any microcontroller architecture as well as software on any computer software package (see list of client libraries below). Flash your Arduino with Standard Firmata: ● Connect the Arduino to your PC using the USB Cable ● Open the Arduino IDE, select: File > Examples > Firmata > StandardFirmata ● Click the "Upload" button. ● The text "Done Uploading" will appear once the upload is complete.
  • 7.
    Example const five =require('johnny-five'); const board = new five.Board(); board.on('ready', () => { (new five.Led(13)).blink(500); }); void setup() { pinMode(13, OUTPUT); } void loop() { digitalWrite(13, HIGH); delay(500); digitalWrite(13, LOW); delay(500); }
  • 8.
    Single boards Raspberry Pi3 Analog Read no Digital Read yes Digital Write yes PWM yes Servo yes I2C yes One Wire no Stepper no Serial/UART no DAC no Ping no
  • 9.
    Single boards Intel Galileo AnalogRead yes Digital Read yes Digital Write yes PWM yes Servo yes I2C yes One Wire no Stepper no Serial/UART no DAC no Ping no
  • 10.
    Single boards Tessel 2 AnalogRead yes Digital Read yes Digital Write yes PWM no Servo yes I2C yes One Wire no Stepper no Serial/UART no DAC yes Ping no
  • 11.
    Why [not] JavaScript? Source:http://arc.applause.com/2016/03/22/javascript-is-the-worlds-dominant-programming-language/#.VvGQnf9aLrU.twitter ● Fast, very fast ● Asynchronous ● Event-based ● Top 1 language in the world ● Large community
  • 12.
    http://nodebots.io/ NodeBots are (quiteliterally) robots of one kind or another that can be controlled via Node. They can have everything from wheels, movable arms and legs, motion detectors, cameras, LED displays, the ability to control cats and so much more. The only limits are your imagination and the components you can find and put together!
  • 16.