Arduino & RUBY
Tomasz Warkocki
![](https://s3.amazonaws.com/media-p.slid.es/uploads/warkocz/images/418410/logo.png)
ARDUINO
![](https://s3.amazonaws.com/media-p.slid.es/uploads/warkocz/images/420505/arduino_logo.jpg)
WHAT?
-
single-board microcontroller
-
open-source hardware
- 17 versions
![](https://s3.amazonaws.com/media-p.slid.es/uploads/warkocz/images/419456/ArduinoMega2560_R3_Fronte.jpg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/warkocz/images/419443/ArduinoUno_R3_Front.jpg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/warkocz/images/420545/ArduinoLilyPadUSBFront_450px.jpg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/warkocz/images/420547/ArduinoNanoFront_3_lg.jpg)
Who? When? Why? For whom?
-
Interaction Design Institute Ivrea, Italy, 2005
-
Founders
- Massimo Banzi
- David Cuartielles
- Tom Igoe
- Gianluca Martino
- David Mellis
-
Initially for designers and artists
Arduino Mega 2560
Microcontroller | ATmega2560 |
Operating Voltage | 5V |
Input Voltage (safe) | 7-12V |
Input Voltage (limits) | 6-20V |
Digital I/O Pins | 54 (15 PWM) |
Analog Input Pins | 16 |
DC Current per I/O Pin | 40 mA |
Clock Speed | 16 MHz |
Arduino Mega 2560
![](https://s3.amazonaws.com/media-p.slid.es/uploads/warkocz/images/422008/ArduinoMega2560_R3_Fronte.jpg)
Input & Output
-
54 Digital pins
- 4 Serial ports (RX, TX + LEDs)
- 6 External interrupts pins
- 15 PWM pins - Pulse-width modulation pins
- SPI (Serial Peripheral Interface) (4 pins)
- LED (pin 13)
- TWI / I2C pins (Two Wire Interface / Inter-Integrated Circuit) (2 pins)
-
16 Analog pins
- 10 bits of resolution (1024 different values)
- default: 0 to 5V
PWM - Pulse-width modulation
![](https://s3.amazonaws.com/media-p.slid.es/uploads/warkocz/images/422036/ArduinoPWM.png)
Memory
Flash Memory (program space, non-volatile) |
256 KB |
SRAM (program variables, volatile) |
8 KB |
EEPROM (for programmers, non-volatile) |
4 KB |
Programming
- ATmega2560 preburned with a bootloader
- Arduino programming language (based on Wiring, C/C++)
- Arduino IDE (based on Processing)
-
Fritzing - documentation
Elements
![](https://s3.amazonaws.com/media-p.slid.es/uploads/warkocz/images/422792/0J3822.1200.jpg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/warkocz/images/422806/Mini-DC-motor.jpg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/warkocz/images/422810/servo.jpg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/warkocz/images/422802/LED-lights-health-hazard.jpeg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/warkocz/images/422798/2dd52cb151c5d6c66a3df2cc3e771337.jpg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/warkocz/images/422808/SEEED-SEN11763P.jpg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/warkocz/images/422807/nema-171.jpeg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/warkocz/images/422811/ultrasonic-sensor.jpg)
shields
-
Ethernet
-
Relay
-
Xbee
-
LCD Screen + Joystick + MicroSD
-
WiShield
-
many, many more...
![](https://s3.amazonaws.com/media-p.slid.es/uploads/warkocz/images/423089/relay_shield.jpg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/warkocz/images/423090/lcd_shield.jpg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/warkocz/images/423091/wifi_shield.jpg)
demo project
![](https://s3.amazonaws.com/media-p.slid.es/uploads/warkocz/images/423105/Servos_Laser.png)
ruby
![](https://s3.amazonaws.com/media-p.slid.es/uploads/warkocz/images/423145/Ruby_logo.png)
serialport gem
SERIALPORT GEM
![](https://s3.amazonaws.com/media-p.slid.es/uploads/warkocz/images/426750/Screen_Shot_2014-05-24_at_10.12.52.png)
SERIALPORT GEM
![](https://s3.amazonaws.com/media-p.slid.es/uploads/warkocz/images/426751/Screen_Shot_2014-05-24_at_10.13.06.png)
serialport gem
![](https://s3.amazonaws.com/media-p.slid.es/uploads/warkocz/images/423307/Screen_Shot_2014-05-22_at_13.30.08.png)
serialport gem
DEMO
firmata gem
firmata gem
![](https://s3.amazonaws.com/media-p.slid.es/uploads/warkocz/images/423317/Screen_Shot_2014-05-22_at_13.35.51.png)
firmata gem
![](https://s3.amazonaws.com/media-p.slid.es/uploads/warkocz/images/426753/Screen_Shot_2014-05-24_at_10.15.43.png)
firmata gem
![](https://s3.amazonaws.com/media-p.slid.es/uploads/warkocz/images/426754/Screen_Shot_2014-05-24_at_10.16.05.png)
firmata gem
demo
dino gem
- $ gem install dino
- $ dino generate-sketch serial (ethernet)
- upload generated sketch
-
$ ruby led.rb
- unable to run on my board!
DINO GEM
![](https://s3.amazonaws.com/media-p.slid.es/uploads/warkocz/images/426740/Screen_Shot_2014-05-24_at_09.54.58.png)
rad gem
- gem install rad
- rad my_project
-
rake make:upload
- ruby 1.8.7 !
RAD GEM
![](https://s3.amazonaws.com/media-p.slid.es/uploads/warkocz/images/426755/Screen_Shot_2014-05-24_at_10.18.54.png)
demo project with IR
![](https://s3.amazonaws.com/media-p.slid.es/uploads/warkocz/images/423467/Servos_Laser_IR.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/warkocz/images/423474/Screen_Shot_2014-05-22_at_14.53.13.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/warkocz/images/423475/Screen_Shot_2014-05-22_at_14.53.24.png)
demo project with ir
DEMO
thank you!
Arduino & Ruby
By Tomasz Warkocki
Arduino & Ruby
Interaction between Arduino and Ruby
- 4,340