Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A ruby library to talk to Arduino without having to burn programs repeatedly to the board
Ruby Java
Branch: master
Pull request Compare This branch is 1 commit ahead, 1 commit behind HashNuke:master.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib
.gitignore
Gemfile
Gemfile.lock
MIT-license.txt
README.md
Rakefile
arduino.gemspec
arduino.pde
example_blink.rb

README.md

Arduino ruby gem

This gem is a prototyping API for Arduino in Ruby. Helps prototype Arduino programs quickly from the computer, without the need to burn to the board frequently.

Setup:

  1. Install the gem: gem install arduino
  2. Load arduino.pde onto your Arduino dev board (just once and for all).
  3. Import the arduino gem: require "arduino"

Methods

Initializing:

#Arduino.new(port, baudrate)
board = Arduino.new("/dev/ttyUSB1")

Port is something like "/dev/ttyUSB0" on linux and COMx (COM1/COM2) on windows. Baudrate is optional. It is 115200 by default.

Setting output pins

The output pins must be set explicitly.

#Arduino.output(list_of_output_pins)
board.output(10,11,13)

Digital I/O

  1. Arduino.setHigh(pin)
  2. Arduino.setLow(pin)
  3. Arduino.getState(pin) - returns true if pin state is high, else it returns false

Analog I/O

  1. Arduino.analogRead(pin) - returns the analog value
  2. Arduino.analogRead(pin, value) - sets the analog value

Misc

1.) Arduino.turnOff - sets all the pins to low state

2.) Arduino.close - closes serial connection. Using this makes sure that you won't have to disconnect & reconnect the Arduino again to recover the serial port.

Usage example

    # This is the blink program.

    require "arduino"

    #specify the port Baudrate is optional and set to 115200 by default
    board = Arduino.new("/dev/ttyUSB1")

    #declare output pins
    board.output(13)

    #perform operations
    10.times do
        board.setHigh(13)
        sleep(1)
        board.setLow(13)
        sleep(1)
    end

Developed for the love of creating stuff by

© 2010 Akash Manohar akash@akash.im under the MIT License

Credits

Thanks to the following people:

  • @unsymbol - for fixing the Ubuntu reset problem
Something went wrong with that request. Please try again.