Project

arduino

0.12
No commit activity in last 3 years
No release in over 3 years
There's a lot of open issues
A ruby library to talk to Arduino without having to burn programs repeatedly to the board
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

>= 1.0.4
 Project Readme

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)

You don't need to declare input pins since digital pins are input by default according to the page on the Arduino site - http://www.arduino.cc/en/Tutorial/DigitalPins

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