SlideShare a Scribd company logo
Hardware 
Development for 
JavaScript Developers 
Tarık Keleştemur" 
• github/tkelestemur! 
• twitter/tarikkelestemur! 
• kelestemur.com
About Me 
• Electronics Engineering Student at TOBB ETU #3 
• Co-Founder at GMTLabs.com 
• Working on embedded sys. and robotics 
! 
! 
more info : kelestemur.com
Agenda 
• A Brief History of Electronic Prototyping 
• It's all about C. How JS involved ? - Main Concept 
• JS Hardware Frameworks 
• Demonstration 
! 
! 
!
Hardware Prototyping 
• Texas Instruments 
• IBM 
• Atmel 
• Microchip 
! 
! 
! 
! 
!
Electronic for Everyone : Arduino 
• 16MHz micro-controller 
• Easy programming with Wiring 
• Open Source! 
• Great for driving motors, 
reading sensors BUILDING ROBOTS! 
! 
!
Electronic for Everyone : Other 
! 
!
The Problem 
• Micro-controllers are running at low speeds. 
• They are not capable of handling high-level jobs 
such as math, media processing 
• They are programmed with C language. 
• C does not have awesome JavaScript libraries. 
!
The Solution 
• Using JavaScript as controller software of these hardwares. 
! 
! 
! 
NODEJS + 
HW Framework 
uController + 
Special Firmware 
Serial Comm 
• Serial communication is made by a node package called serialport 
• Special Firmware let you control your hardware over serial 
comminaciton with JavaScript. We don't write any C code :)
Hardware Frameworks 
! 
! 
! 
! 
! 
Johnny-Five Cylon.JS
Johnny-Five 
• Compitable with almost every electronic board : 
Beagle Bone, Intel Galileo,Pinoccio,Raspberry Pi, Spark 
Core, Arduino of course. 
• Uses node-serialport package by Chris Williams 
• Has a large community : NodeBots, NodeCopter, 
NodeRocket 
!
Johnny-Five 
• Accelerometer, Button, Compass, Led, Joystick, 
Motor, (Ultrasonic) Ping, Proximity IR, Range IR, 
Sensor, Servo, Sonar 
• http://jsfiddle.net/rwaldron/XMsGQ/show/light/
Johnny-Five Examples 
var five = require("johnny-five"); 
five.Board().on("ready", function() { 
(new five.Led(13)).strobe(100); 
}); 
• It says arduino to blink the led atteched to pin13 in every 
100 ms over serial port.
var five = require("johnny-five"); 
five.Board().on("ready", function() { 
var claw, joystick; 
// Claw servo controller 
claw = new five.Servo(9); 
// Joystick controller 
joystick = new five.Joystick({ 
// x, y (vertical, horizontal) 
pins: [ "A0", "A1" ] 
}); 
! 
// Center the claw servo to match the joystick deadzone. 
claw.center(); 
! 
// When the joystick axis are moved... 
joystick.on("axismove", function() { 
// Open & close the claw by setting degrees according 
// to Y position value of joystick. 
claw.move( Math.ceil(180 * this.fixed.y) ); 
}); 
}); 
https://dl.dropboxusercontent.com/u/3531958/nodeconf/joystick-claw.mp4
Demos 
• Arduino : Blinking LED, Servo, Reading Sensor Data 
• Spark Core : Internet of Things Example 
! 
!
Thank You! Questions ? 
• Tarık Keleştemur 
• kelestemur.com 
• twitter/tarikkelestemur 
• github/tkelestemur 
• tkelestemur@gmail.com 
! 
!

More Related Content

What's hot (6)

[German] Boards für das IoT-Prototyping
[German] Boards für das IoT-Prototyping[German] Boards für das IoT-Prototyping
[German] Boards für das IoT-Prototyping
Lars Gregori
 
Modular remote
Modular remoteModular remote
Modular remote
Ahmet YILDIRIM
 
Arduino vs Raspberry Pi | Which Board to Choose for IoT Projects | IoT Device...
Arduino vs Raspberry Pi | Which Board to Choose for IoT Projects | IoT Device...Arduino vs Raspberry Pi | Which Board to Choose for IoT Projects | IoT Device...
Arduino vs Raspberry Pi | Which Board to Choose for IoT Projects | IoT Device...
Edureka!
 
Introduction to programming AVR microcontrollers
Introduction to programming AVR microcontrollersIntroduction to programming AVR microcontrollers
Introduction to programming AVR microcontrollers
Tristan Roddis
 
OpenVR at Arduino Day Malmö
OpenVR at Arduino Day MalmöOpenVR at Arduino Day Malmö
OpenVR at Arduino Day Malmö
Ahmet YILDIRIM
 
Got Python I/O: IoT Develoment in Python via GPIO
Got Python I/O: IoT Develoment in Python via GPIOGot Python I/O: IoT Develoment in Python via GPIO
Got Python I/O: IoT Develoment in Python via GPIO
Adam Englander
 
[German] Boards für das IoT-Prototyping
[German] Boards für das IoT-Prototyping[German] Boards für das IoT-Prototyping
[German] Boards für das IoT-Prototyping
Lars Gregori
 
Arduino vs Raspberry Pi | Which Board to Choose for IoT Projects | IoT Device...
Arduino vs Raspberry Pi | Which Board to Choose for IoT Projects | IoT Device...Arduino vs Raspberry Pi | Which Board to Choose for IoT Projects | IoT Device...
Arduino vs Raspberry Pi | Which Board to Choose for IoT Projects | IoT Device...
Edureka!
 
Introduction to programming AVR microcontrollers
Introduction to programming AVR microcontrollersIntroduction to programming AVR microcontrollers
Introduction to programming AVR microcontrollers
Tristan Roddis
 
OpenVR at Arduino Day Malmö
OpenVR at Arduino Day MalmöOpenVR at Arduino Day Malmö
OpenVR at Arduino Day Malmö
Ahmet YILDIRIM
 
Got Python I/O: IoT Develoment in Python via GPIO
Got Python I/O: IoT Develoment in Python via GPIOGot Python I/O: IoT Develoment in Python via GPIO
Got Python I/O: IoT Develoment in Python via GPIO
Adam Englander
 

Viewers also liked (14)

Slide pres
Slide presSlide pres
Slide pres
Dennis Williams
 
Sun Source Rooftop Units from Lennox
Sun Source Rooftop Units from LennoxSun Source Rooftop Units from Lennox
Sun Source Rooftop Units from Lennox
STACY DAVIS
 
Lennox Raider
Lennox RaiderLennox Raider
Lennox Raider
STACY DAVIS
 
디자인 매니지먼트
디자인 매니지먼트디자인 매니지먼트
디자인 매니지먼트
sabina0907
 
Why do Engineers Choose Lennox?
Why do Engineers Choose Lennox?Why do Engineers Choose Lennox?
Why do Engineers Choose Lennox?
STACY DAVIS
 
Lennox -- Helping HVAC Professionals Take the "LEED"
Lennox -- Helping HVAC Professionals Take the "LEED"Lennox -- Helping HVAC Professionals Take the "LEED"
Lennox -- Helping HVAC Professionals Take the "LEED"
STACY DAVIS
 
Bangladesh final
Bangladesh finalBangladesh final
Bangladesh final
Ashmita Grg
 
Preventive maintenance
Preventive maintenancePreventive maintenance
Preventive maintenance
STACY DAVIS
 
Prodigy Control System Operation Manual
Prodigy Control System Operation ManualProdigy Control System Operation Manual
Prodigy Control System Operation Manual
STACY DAVIS
 
Learning theory
Learning theoryLearning theory
Learning theory
alexis_davidson4
 
What is self esteem?
What is self esteem?What is self esteem?
What is self esteem?
K_Moran
 
Amanda Jessop's Visual Resume
Amanda Jessop's Visual ResumeAmanda Jessop's Visual Resume
Amanda Jessop's Visual Resume
AmandaJessop
 
The Internet of Things
The Internet of ThingsThe Internet of Things
The Internet of Things
Tarik Kelestemur
 
Sun Source Rooftop Units from Lennox
Sun Source Rooftop Units from LennoxSun Source Rooftop Units from Lennox
Sun Source Rooftop Units from Lennox
STACY DAVIS
 
디자인 매니지먼트
디자인 매니지먼트디자인 매니지먼트
디자인 매니지먼트
sabina0907
 
Why do Engineers Choose Lennox?
Why do Engineers Choose Lennox?Why do Engineers Choose Lennox?
Why do Engineers Choose Lennox?
STACY DAVIS
 
Lennox -- Helping HVAC Professionals Take the "LEED"
Lennox -- Helping HVAC Professionals Take the "LEED"Lennox -- Helping HVAC Professionals Take the "LEED"
Lennox -- Helping HVAC Professionals Take the "LEED"
STACY DAVIS
 
Bangladesh final
Bangladesh finalBangladesh final
Bangladesh final
Ashmita Grg
 
Preventive maintenance
Preventive maintenancePreventive maintenance
Preventive maintenance
STACY DAVIS
 
Prodigy Control System Operation Manual
Prodigy Control System Operation ManualProdigy Control System Operation Manual
Prodigy Control System Operation Manual
STACY DAVIS
 
What is self esteem?
What is self esteem?What is self esteem?
What is self esteem?
K_Moran
 
Amanda Jessop's Visual Resume
Amanda Jessop's Visual ResumeAmanda Jessop's Visual Resume
Amanda Jessop's Visual Resume
AmandaJessop
 
Ad

Similar to Hardware for JavaScript Developers (20)

Johnny-Five
Johnny-FiveJohnny-Five
Johnny-Five
Henri Cavalcante
 
Hacking into IoT using JavaScript
Hacking into IoT using JavaScriptHacking into IoT using JavaScript
Hacking into IoT using JavaScript
Sajan John
 
Controlling robots using javascript
Controlling robots using javascriptControlling robots using javascript
Controlling robots using javascript
Sudar Muthu
 
Introducing the Arduino
Introducing the ArduinoIntroducing the Arduino
Introducing the Arduino
Charles A B Jr
 
Droids, java script and web connected hardware
Droids, java script and web connected hardwareDroids, java script and web connected hardware
Droids, java script and web connected hardware
Andrew Fisher
 
Nodebots
NodebotsNodebots
Nodebots
Jeevika Perumal
 
JavaScript and Internet Controlled Electronics
JavaScript and Internet Controlled ElectronicsJavaScript and Internet Controlled Electronics
JavaScript and Internet Controlled Electronics
Jonathan LeBlanc
 
Js robotics
Js roboticsJs robotics
Js robotics
Stamo Petkov
 
Building Droids with JavaScript
Building Droids with JavaScriptBuilding Droids with JavaScript
Building Droids with JavaScript
Andrew Fisher
 
JS in Arduino Uno
JS in Arduino UnoJS in Arduino Uno
JS in Arduino Uno
Raj Bharath
 
Devday
DevdayDevday
Devday
Raj Bharath
 
JavaScript and Internet Controlled Hardware Prototyping
JavaScript and Internet Controlled Hardware PrototypingJavaScript and Internet Controlled Hardware Prototyping
JavaScript and Internet Controlled Hardware Prototyping
Jonathan LeBlanc
 
Hardware Hacking for JavaScript Engineers
Hardware Hacking for JavaScript EngineersHardware Hacking for JavaScript Engineers
Hardware Hacking for JavaScript Engineers
FITC
 
Bare metal Javascript & GPIO programming in Linux
Bare metal Javascript & GPIO programming in LinuxBare metal Javascript & GPIO programming in Linux
Bare metal Javascript & GPIO programming in Linux
Alexander Vanwynsberghe
 
JavaScript in the Real World
JavaScript in the Real WorldJavaScript in the Real World
JavaScript in the Real World
Andrew Nesbitt
 
nodebots presentation @seekjobs
nodebots presentation @seekjobsnodebots presentation @seekjobs
nodebots presentation @seekjobs
Esteban (Steven) De Salas
 
Espruino - JavaScript for Microcontrollers
Espruino - JavaScript for MicrocontrollersEspruino - JavaScript for Microcontrollers
Espruino - JavaScript for Microcontrollers
Drew Fustini
 
Javascript all the things
Javascript all the thingsJavascript all the things
Javascript all the things
Felix Wahner
 
JavaScript and Internet Controlled Hardware Prototyping
JavaScript and Internet Controlled Hardware PrototypingJavaScript and Internet Controlled Hardware Prototyping
JavaScript and Internet Controlled Hardware Prototyping
All Things Open
 
JavaScript and Internet Controlled Hardware Prototyping (Now with more Node G...
JavaScript and Internet Controlled Hardware Prototyping (Now with more Node G...JavaScript and Internet Controlled Hardware Prototyping (Now with more Node G...
JavaScript and Internet Controlled Hardware Prototyping (Now with more Node G...
Jonathan LeBlanc
 
Hacking into IoT using JavaScript
Hacking into IoT using JavaScriptHacking into IoT using JavaScript
Hacking into IoT using JavaScript
Sajan John
 
Controlling robots using javascript
Controlling robots using javascriptControlling robots using javascript
Controlling robots using javascript
Sudar Muthu
 
Introducing the Arduino
Introducing the ArduinoIntroducing the Arduino
Introducing the Arduino
Charles A B Jr
 
Droids, java script and web connected hardware
Droids, java script and web connected hardwareDroids, java script and web connected hardware
Droids, java script and web connected hardware
Andrew Fisher
 
JavaScript and Internet Controlled Electronics
JavaScript and Internet Controlled ElectronicsJavaScript and Internet Controlled Electronics
JavaScript and Internet Controlled Electronics
Jonathan LeBlanc
 
Building Droids with JavaScript
Building Droids with JavaScriptBuilding Droids with JavaScript
Building Droids with JavaScript
Andrew Fisher
 
JS in Arduino Uno
JS in Arduino UnoJS in Arduino Uno
JS in Arduino Uno
Raj Bharath
 
JavaScript and Internet Controlled Hardware Prototyping
JavaScript and Internet Controlled Hardware PrototypingJavaScript and Internet Controlled Hardware Prototyping
JavaScript and Internet Controlled Hardware Prototyping
Jonathan LeBlanc
 
Hardware Hacking for JavaScript Engineers
Hardware Hacking for JavaScript EngineersHardware Hacking for JavaScript Engineers
Hardware Hacking for JavaScript Engineers
FITC
 
Bare metal Javascript & GPIO programming in Linux
Bare metal Javascript & GPIO programming in LinuxBare metal Javascript & GPIO programming in Linux
Bare metal Javascript & GPIO programming in Linux
Alexander Vanwynsberghe
 
JavaScript in the Real World
JavaScript in the Real WorldJavaScript in the Real World
JavaScript in the Real World
Andrew Nesbitt
 
Espruino - JavaScript for Microcontrollers
Espruino - JavaScript for MicrocontrollersEspruino - JavaScript for Microcontrollers
Espruino - JavaScript for Microcontrollers
Drew Fustini
 
Javascript all the things
Javascript all the thingsJavascript all the things
Javascript all the things
Felix Wahner
 
JavaScript and Internet Controlled Hardware Prototyping
JavaScript and Internet Controlled Hardware PrototypingJavaScript and Internet Controlled Hardware Prototyping
JavaScript and Internet Controlled Hardware Prototyping
All Things Open
 
JavaScript and Internet Controlled Hardware Prototyping (Now with more Node G...
JavaScript and Internet Controlled Hardware Prototyping (Now with more Node G...JavaScript and Internet Controlled Hardware Prototyping (Now with more Node G...
JavaScript and Internet Controlled Hardware Prototyping (Now with more Node G...
Jonathan LeBlanc
 
Ad

Recently uploaded (20)

Direct Current circuitsDirect Current circuitsDirect Current circuitsDirect C...
Direct Current circuitsDirect Current circuitsDirect Current circuitsDirect C...Direct Current circuitsDirect Current circuitsDirect Current circuitsDirect C...
Direct Current circuitsDirect Current circuitsDirect Current circuitsDirect C...
BeHappy728244
 
Axial Capacity Estimation of FRP-strengthened Corroded Concrete Columns
Axial Capacity Estimation of FRP-strengthened Corroded Concrete ColumnsAxial Capacity Estimation of FRP-strengthened Corroded Concrete Columns
Axial Capacity Estimation of FRP-strengthened Corroded Concrete Columns
Journal of Soft Computing in Civil Engineering
 
ISO 4020-6.1- Filter Cleanliness Test Rig Catalogue.pdf
ISO 4020-6.1- Filter Cleanliness Test Rig Catalogue.pdfISO 4020-6.1- Filter Cleanliness Test Rig Catalogue.pdf
ISO 4020-6.1- Filter Cleanliness Test Rig Catalogue.pdf
FILTRATION ENGINEERING & CUNSULTANT
 
Software_Engineering_in_6_Hours_lyst1728638742594.pdf
Software_Engineering_in_6_Hours_lyst1728638742594.pdfSoftware_Engineering_in_6_Hours_lyst1728638742594.pdf
Software_Engineering_in_6_Hours_lyst1728638742594.pdf
VanshMunjal7
 
Fresh concrete Workability Measurement
Fresh concrete  Workability  MeasurementFresh concrete  Workability  Measurement
Fresh concrete Workability Measurement
SasiVarman5
 
Enhanced heart disease prediction using SKNDGR ensemble Machine Learning Model
Enhanced heart disease prediction using SKNDGR ensemble Machine Learning ModelEnhanced heart disease prediction using SKNDGR ensemble Machine Learning Model
Enhanced heart disease prediction using SKNDGR ensemble Machine Learning Model
IRJET Journal
 
Tesia Dobrydnia - A Leader In Her Industry
Tesia Dobrydnia - A Leader In Her IndustryTesia Dobrydnia - A Leader In Her Industry
Tesia Dobrydnia - A Leader In Her Industry
Tesia Dobrydnia
 
Forensic Science – Digital Forensics – Digital Evidence – The Digital Forensi...
Forensic Science – Digital Forensics – Digital Evidence – The Digital Forensi...Forensic Science – Digital Forensics – Digital Evidence – The Digital Forensi...
Forensic Science – Digital Forensics – Digital Evidence – The Digital Forensi...
ManiMaran230751
 
May 2025 - Top 10 Read Articles in Artificial Intelligence and Applications (...
May 2025 - Top 10 Read Articles in Artificial Intelligence and Applications (...May 2025 - Top 10 Read Articles in Artificial Intelligence and Applications (...
May 2025 - Top 10 Read Articles in Artificial Intelligence and Applications (...
gerogepatton
 
fy06_46f6-ht30_22_oil_gas_industry_guidelines.ppt
fy06_46f6-ht30_22_oil_gas_industry_guidelines.pptfy06_46f6-ht30_22_oil_gas_industry_guidelines.ppt
fy06_46f6-ht30_22_oil_gas_industry_guidelines.ppt
sukarnoamin
 
world subdivision.pdf...................
world subdivision.pdf...................world subdivision.pdf...................
world subdivision.pdf...................
bmmederos10
 
Webinar On Steel Melting IIF of steel for rdso
Webinar  On Steel  Melting IIF of steel for rdsoWebinar  On Steel  Melting IIF of steel for rdso
Webinar On Steel Melting IIF of steel for rdso
KapilParyani3
 
9aeb2aae-3b85-47a5-9776-154883bbae57.pdf
9aeb2aae-3b85-47a5-9776-154883bbae57.pdf9aeb2aae-3b85-47a5-9776-154883bbae57.pdf
9aeb2aae-3b85-47a5-9776-154883bbae57.pdf
RishabhGupta578788
 
Numerical Investigation of the Aerodynamic Characteristics for a Darrieus H-t...
Numerical Investigation of the Aerodynamic Characteristics for a Darrieus H-t...Numerical Investigation of the Aerodynamic Characteristics for a Darrieus H-t...
Numerical Investigation of the Aerodynamic Characteristics for a Darrieus H-t...
Mohamed905031
 
"The Enigmas of the Riemann Hypothesis" by Julio Chai
"The Enigmas of the Riemann Hypothesis" by Julio Chai"The Enigmas of the Riemann Hypothesis" by Julio Chai
"The Enigmas of the Riemann Hypothesis" by Julio Chai
Julio Chai
 
[HIFLUX] Lok Fitting&Valve Catalog 2025 (Eng)
[HIFLUX] Lok Fitting&Valve Catalog 2025 (Eng)[HIFLUX] Lok Fitting&Valve Catalog 2025 (Eng)
[HIFLUX] Lok Fitting&Valve Catalog 2025 (Eng)
하이플럭스 / HIFLUX Co., Ltd.
 
ISO 4548-7 Filter Vibration Fatigue Test Rig Catalogue.pdf
ISO 4548-7 Filter Vibration Fatigue Test Rig Catalogue.pdfISO 4548-7 Filter Vibration Fatigue Test Rig Catalogue.pdf
ISO 4548-7 Filter Vibration Fatigue Test Rig Catalogue.pdf
FILTRATION ENGINEERING & CUNSULTANT
 
Application Security and Secure Software Development Lifecycle
Application  Security and Secure Software Development LifecycleApplication  Security and Secure Software Development Lifecycle
Application Security and Secure Software Development Lifecycle
DrKavithaP1
 
UNIT-5-PPT Computer Control Power of Power System
UNIT-5-PPT Computer Control Power of Power SystemUNIT-5-PPT Computer Control Power of Power System
UNIT-5-PPT Computer Control Power of Power System
Sridhar191373
 
Direct Current circuitsDirect Current circuitsDirect Current circuitsDirect C...
Direct Current circuitsDirect Current circuitsDirect Current circuitsDirect C...Direct Current circuitsDirect Current circuitsDirect Current circuitsDirect C...
Direct Current circuitsDirect Current circuitsDirect Current circuitsDirect C...
BeHappy728244
 
Software_Engineering_in_6_Hours_lyst1728638742594.pdf
Software_Engineering_in_6_Hours_lyst1728638742594.pdfSoftware_Engineering_in_6_Hours_lyst1728638742594.pdf
Software_Engineering_in_6_Hours_lyst1728638742594.pdf
VanshMunjal7
 
Fresh concrete Workability Measurement
Fresh concrete  Workability  MeasurementFresh concrete  Workability  Measurement
Fresh concrete Workability Measurement
SasiVarman5
 
Enhanced heart disease prediction using SKNDGR ensemble Machine Learning Model
Enhanced heart disease prediction using SKNDGR ensemble Machine Learning ModelEnhanced heart disease prediction using SKNDGR ensemble Machine Learning Model
Enhanced heart disease prediction using SKNDGR ensemble Machine Learning Model
IRJET Journal
 
Tesia Dobrydnia - A Leader In Her Industry
Tesia Dobrydnia - A Leader In Her IndustryTesia Dobrydnia - A Leader In Her Industry
Tesia Dobrydnia - A Leader In Her Industry
Tesia Dobrydnia
 
Forensic Science – Digital Forensics – Digital Evidence – The Digital Forensi...
Forensic Science – Digital Forensics – Digital Evidence – The Digital Forensi...Forensic Science – Digital Forensics – Digital Evidence – The Digital Forensi...
Forensic Science – Digital Forensics – Digital Evidence – The Digital Forensi...
ManiMaran230751
 
May 2025 - Top 10 Read Articles in Artificial Intelligence and Applications (...
May 2025 - Top 10 Read Articles in Artificial Intelligence and Applications (...May 2025 - Top 10 Read Articles in Artificial Intelligence and Applications (...
May 2025 - Top 10 Read Articles in Artificial Intelligence and Applications (...
gerogepatton
 
fy06_46f6-ht30_22_oil_gas_industry_guidelines.ppt
fy06_46f6-ht30_22_oil_gas_industry_guidelines.pptfy06_46f6-ht30_22_oil_gas_industry_guidelines.ppt
fy06_46f6-ht30_22_oil_gas_industry_guidelines.ppt
sukarnoamin
 
world subdivision.pdf...................
world subdivision.pdf...................world subdivision.pdf...................
world subdivision.pdf...................
bmmederos10
 
Webinar On Steel Melting IIF of steel for rdso
Webinar  On Steel  Melting IIF of steel for rdsoWebinar  On Steel  Melting IIF of steel for rdso
Webinar On Steel Melting IIF of steel for rdso
KapilParyani3
 
9aeb2aae-3b85-47a5-9776-154883bbae57.pdf
9aeb2aae-3b85-47a5-9776-154883bbae57.pdf9aeb2aae-3b85-47a5-9776-154883bbae57.pdf
9aeb2aae-3b85-47a5-9776-154883bbae57.pdf
RishabhGupta578788
 
Numerical Investigation of the Aerodynamic Characteristics for a Darrieus H-t...
Numerical Investigation of the Aerodynamic Characteristics for a Darrieus H-t...Numerical Investigation of the Aerodynamic Characteristics for a Darrieus H-t...
Numerical Investigation of the Aerodynamic Characteristics for a Darrieus H-t...
Mohamed905031
 
"The Enigmas of the Riemann Hypothesis" by Julio Chai
"The Enigmas of the Riemann Hypothesis" by Julio Chai"The Enigmas of the Riemann Hypothesis" by Julio Chai
"The Enigmas of the Riemann Hypothesis" by Julio Chai
Julio Chai
 
Application Security and Secure Software Development Lifecycle
Application  Security and Secure Software Development LifecycleApplication  Security and Secure Software Development Lifecycle
Application Security and Secure Software Development Lifecycle
DrKavithaP1
 
UNIT-5-PPT Computer Control Power of Power System
UNIT-5-PPT Computer Control Power of Power SystemUNIT-5-PPT Computer Control Power of Power System
UNIT-5-PPT Computer Control Power of Power System
Sridhar191373
 

Hardware for JavaScript Developers

  • 1. Hardware Development for JavaScript Developers Tarık Keleştemur" • github/tkelestemur! • twitter/tarikkelestemur! • kelestemur.com
  • 2. About Me • Electronics Engineering Student at TOBB ETU #3 • Co-Founder at GMTLabs.com • Working on embedded sys. and robotics ! ! more info : kelestemur.com
  • 3. Agenda • A Brief History of Electronic Prototyping • It's all about C. How JS involved ? - Main Concept • JS Hardware Frameworks • Demonstration ! ! !
  • 4. Hardware Prototyping • Texas Instruments • IBM • Atmel • Microchip ! ! ! ! !
  • 5. Electronic for Everyone : Arduino • 16MHz micro-controller • Easy programming with Wiring • Open Source! • Great for driving motors, reading sensors BUILDING ROBOTS! ! !
  • 7. The Problem • Micro-controllers are running at low speeds. • They are not capable of handling high-level jobs such as math, media processing • They are programmed with C language. • C does not have awesome JavaScript libraries. !
  • 8. The Solution • Using JavaScript as controller software of these hardwares. ! ! ! NODEJS + HW Framework uController + Special Firmware Serial Comm • Serial communication is made by a node package called serialport • Special Firmware let you control your hardware over serial comminaciton with JavaScript. We don't write any C code :)
  • 9. Hardware Frameworks ! ! ! ! ! Johnny-Five Cylon.JS
  • 10. Johnny-Five • Compitable with almost every electronic board : Beagle Bone, Intel Galileo,Pinoccio,Raspberry Pi, Spark Core, Arduino of course. • Uses node-serialport package by Chris Williams • Has a large community : NodeBots, NodeCopter, NodeRocket !
  • 11. Johnny-Five • Accelerometer, Button, Compass, Led, Joystick, Motor, (Ultrasonic) Ping, Proximity IR, Range IR, Sensor, Servo, Sonar • http://jsfiddle.net/rwaldron/XMsGQ/show/light/
  • 12. Johnny-Five Examples var five = require("johnny-five"); five.Board().on("ready", function() { (new five.Led(13)).strobe(100); }); • It says arduino to blink the led atteched to pin13 in every 100 ms over serial port.
  • 13. var five = require("johnny-five"); five.Board().on("ready", function() { var claw, joystick; // Claw servo controller claw = new five.Servo(9); // Joystick controller joystick = new five.Joystick({ // x, y (vertical, horizontal) pins: [ "A0", "A1" ] }); ! // Center the claw servo to match the joystick deadzone. claw.center(); ! // When the joystick axis are moved... joystick.on("axismove", function() { // Open & close the claw by setting degrees according // to Y position value of joystick. claw.move( Math.ceil(180 * this.fixed.y) ); }); }); https://dl.dropboxusercontent.com/u/3531958/nodeconf/joystick-claw.mp4
  • 14. Demos • Arduino : Blinking LED, Servo, Reading Sensor Data • Spark Core : Internet of Things Example ! !
  • 15. Thank You! Questions ? • Tarık Keleştemur • kelestemur.com • twitter/tarikkelestemur • github/tkelestemur • [email protected] ! !