revealinghour.in
Ruby Arduino
Revealing Hour Creations
@nishantmodak
revealinghour.in
Talk
Physical
Computing
#electronics #ruby #arduino #sensors
revealinghour.in
revealinghour.in
revealinghour.in
Image Source : IBM Smarter Planet
revealinghour.in
Image Source : IBM Smarter Planet
IFTTT + Hardware
What is Arduino?
revealinghour.in
What is Arduino?
revealinghour.in
What is Arduino?
revealinghour.in
What is Arduino?
revealinghour.in
What is Arduino?
revealinghour.in
Program via
USB
External
Power 9v
14 Digital IO
Pins
µ
controller
6 Analog IO
Pins
revealinghour.in
revealinghour.in
Ethernet Shield
Why Arduino?
revealinghour.in
MIT's Handyboard
Phidgets
Netmedia's BX-24
It is
inexpensive
cross-platform
ide
open-source s/h/w
revealinghour.in
Hardware
Software
Docs
Brand
CC-SA-BY
CC-SA-BY
GPL
TM
revealinghour.in
InduinoX
revealinghour.in
What can
YOU
do with
an
Arduino?
revealinghour.in
revealinghour.in
revealinghour.in
revealinghour.in
revealinghour.in
revealinghour.in
revealinghour.in
revealinghour.in
TDD
revealinghour.in
How can
YOU
work with
an
Arduino?
revealinghour.in
revealinghour.in
upload Serial
monitor
console
revealinghour.in
int led = 13;
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
}
void loop() {
digitalWrite(led, HIGH); // turn the LED on
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off
delay(1000); // wait for a second
}
revealinghour.in
Options in
RUBY for
arduino ?
revealinghour.in
1 Serial Port Gem
• Ruby library
• RS-232 serial ports
sp = SerialPort.new(port_str,
baud_rate, data_bits, stop_bits,
parity)
while sp.gets.chomp do
...
end revealinghour.in
2 RAD = Ruby Arduino Dev
+Rake Task
revealinghour.in
Program Sketch
Arduino
Class Methods RubyToC
Assembly
Arduino C++
Rake tasks AVR GCC/Dude
revealinghour.in
revealinghour.in
• Standalone
• Small• Service
3 Dino
revealinghour.in
revealinghour.in
Logical
equivalent of the
arduino board
revealinghour.in
Finds Arduino
Communicates
with the world
revealinghour.in
revealinghour.in
Write
revealinghour.in
Read
revealinghour.in
revealinghour.in
• Stepper Motor
• DC Motor
• LDR
• Temperature
• RGB LEDs
Arduino & Web
revealinghour.in
revealinghour.in
• Arduino Hosted
• Web sockets
• Serial to Net
• Rails
• Sinatra
revealinghour.in
board=Dino::Board.new(Dino::TxRx::Serial.new)
led = Dino::Components::Led.new(pin: 13,
board: board)
put ‘/forward’ do
led.on
end
Sinatra
revealinghour.in
revealinghour.in
revealinghour.in
 
revealinghour.in
Thanks
• Pratik Chaudhari (@c_pratik)
• Siddharth Bhagwan
• Prashant
• @austinbv – Creator of Dino
revealinghour.in
References
bit.ly/arduinolinks
revealinghour.in
revealinghour.in
PUSH TO DEPLOY

Ruby Arduino (RubyConfIndia 2013)