class Rotor::Servo

Public Class Methods

new(pin=18) click to toggle source
# File lib/rotor/servo.rb, line 5
def initialize(pin=18)
  @io = WiringPi::GPIO.new(WPI_MODE_GPIO)
  @pin = pin
  @io.mode @pin, OUTPUT
end

Public Instance Methods

rotate(direction) click to toggle source
# File lib/rotor/servo.rb, line 11
def rotate(direction)
    if direction == :up
      freq = 1.0
    elsif direction == :down
      freq = 2.0
    else
      freq = 0.0
    end
    25.times do;pulser(freq,20.0);end
end

Private Instance Methods

pulser(freq,dur) click to toggle source
# File lib/rotor/servo.rb, line 24
def pulser(freq,dur)
  @io.write @pin, HIGH
  sleep (freq/1000)
  @io.write @pin, LOW
  sleep ((dur-freq)/1000)
end