physical computing with the arduino platform and ruby
DESCRIPTION
A presentation given to the Orlando Ruby User\'s Group as well as the Orlando Linux User\'s Group on physical computing with the Arduino platform while utilizing the Ruby library RAD for writing the code.TRANSCRIPT
Physical Computing with Ruby and Arduino
Matthew Williams@mwilliams
Orlando Linux Users Group
Barcamp Orlando Anyone?
What's Arduino?
http://www.arduino.cc
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 haz Flavor?
http://rad.rubyforge.org/
http://github.com/atduskgreg/rad/
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 Codeint ledPin = 13; void setup() { pinMode(ledPin, OUTPUT); } void loop() { digitalWrite(ledPin, HIGH); delay(1000); digitalWrite(ledPin, LOW); delay(1000); }
RAD Codeclass 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.comhttp://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 Recipedrink 'Screwdriver' do serve_in 'Highball Glass' ingredients do 2.ounces :vodka 5.ounces :orange_juice end end
Let's Serve Some Drinks(and look at code)