Physical Computing with Ruby and Arduino

Preview:

DESCRIPTION

Matthew Williams's talk on the Arduino at the Orlando Ruby Users Group on October 17th, 2008

Citation preview

Physical Computing with Ruby and Arduino

Matthew Williams @mwilliams

Orlando Ruby Users Group

Barcamp Orlando Anyone?

What's Arduino?

http://www.arduino.cc

Arduino haz Flavor?

http://rad.rubyforge.org/ http://github.com/atduskgreg/rad/

Arduino •14 Digital I/O (6 PWM) •6 Analog In •16kb Flash Memory •2kb for boot loader

•16MHz Clock Speed •Serial Communication •USB Powered (or AC) •I2C

Arduino IDE

RAD IDE

Ruby + Physical Computing

•Control an Arduino with Ruby •RubyToC •AVR­GCC

•Most of the Arduino API ported to Ruby •Additional libraries •Serial communications •Servos

Arduino Code int ledPin = 13; void setup() pinMode(ledPin, OUTPUT); void loop() digitalWrite(ledPin, HIGH); delay(1000); digitalWrite(ledPin, LOW); delay(1000);

RAD Code class HelloWorld < ArduinoSketch output_pin 7, :as => :led def loop blink led, 1000 end end

RAD Methods •input_pin(s) •output_pin(s) •digitalWrite| digitalRead •analogWrite | analogRead •serial_print | serial_read •Keeping it simple •It's all about the hardware

Coming Soon •Testing •Arduino Simulator •Better RubyToC Support •More "Out of the Box Support" •LCD's •OLED Displays •Motors

Arduino Shields

http://www.nycresistor.com/2008/04/21/zach­ smith­demos­his­danger­shield/

http://www.liquidware.com/projects/8/Pin+Visualizer

Buy an Arduino

http://www.sparkfun.com http://ww.makezine.com

$34.95 (or cheaper)

Awesome Resources •http://makezine.com/getstartedarduino/ •http://blog.makezine.com/archive/arduino/ •http://arduino.cc/playground

Barduino

http://github.com/mwilliams/barduino

The Barduino •Arduino •Breadboard + Wire •Transistors •Relays •Windshield Washer Fluid Pumps •~$60 Total? •2 pumps, could handle 14+

Barduino­tender

http://github.com/mwilliams/barduino­tender

Barduino­tender Recipe drink 'Screwdriver' do serve_in 'Highball Glass' ingredients do 2.ounces :vodka 5.ounces :orange_juice end end

Want More? •RubyConf 2008 •Friday •10:25 ­ 11:05 •Room 3

•Greg Borenstein •(Big help with this demo)

Let's Serve Some Drinks (and look at code)

Recommended