physical computing with ruby and arduino
DESCRIPTION
Matthew Williams's talk on the Arduino at the Orlando Ruby Users Group on October 17th, 2008TRANSCRIPT
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 •AVRGCC
•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 smithdemoshisdangershield/
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+
Barduinotender
http://github.com/mwilliams/barduinotender
Barduinotender 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)