Class: Capoblo::ArduinoMoves

Inherits:
Object
  • Object
show all
Defined in:
lib/capoblo/arduino_moves.rb

Constant Summary collapse

MIN_POWER =
60
LEFT_DIGITAL_BACKWARD =

For Two Motors

5
LEFT_DIGITAL_FORWARD =

Input3 connected to pin 5

4
LEFT_ANALOG_SIGNAL =

Input4 connected to pin 4

3
RIGHT_DIGITAL_BACKWARD =

ENB connected to pin 3 of Arduino

8
RIGHT_DIGITAL_FORWARD =

Input3 connected to pin 5

7
RIGHT_ANALOG_SIGNAL =

Input4 connected to pin 4

6

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeArduinoMoves

Returns a new instance of ArduinoMoves.



17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/capoblo/arduino_moves.rb', line 17

def initialize
  super
  self.arduino = ARDUINO_ONE

  ## For Two Motors
  self.arduino.pin_mode LEFT_DIGITAL_BACKWARD, ArduinoFirmata::OUTPUT
  self.arduino.pin_mode LEFT_DIGITAL_FORWARD, ArduinoFirmata::OUTPUT
  self.arduino.pin_mode LEFT_ANALOG_SIGNAL, ArduinoFirmata::OUTPUT
  self.arduino.pin_mode RIGHT_DIGITAL_BACKWARD, ArduinoFirmata::OUTPUT
  self.arduino.pin_mode RIGHT_DIGITAL_FORWARD, ArduinoFirmata::OUTPUT
  self.arduino.pin_mode RIGHT_ANALOG_SIGNAL, ArduinoFirmata::OUTPUT

end

Instance Attribute Details

#arduinoObject

Returns the value of attribute arduino.



4
5
6
# File 'lib/capoblo/arduino_moves.rb', line 4

def arduino
  @arduino
end

Instance Method Details

#rotate_anticlockwiseObject



59
60
61
62
63
# File 'lib/capoblo/arduino_moves.rb', line 59

def rotate_anticlockwise
  set_left_backward
  set_right_forward
  soft_run
end

#rotate_clockwiseObject



53
54
55
56
57
# File 'lib/capoblo/arduino_moves.rb', line 53

def rotate_clockwise
  set_left_forward
  set_right_backward
  soft_run
end

#run_backward(power = MIN_POWER, times = 0) ⇒ Object



42
43
44
45
46
47
48
49
50
51
# File 'lib/capoblo/arduino_moves.rb', line 42

def run_backward(power = MIN_POWER, times = 0)
  set_all_backward
  if times == 0
    soft_run true, power
  else
    soft_run true, power
    sleep times
    stop_all
  end
end

#run_forward(power = MIN_POWER, times = 0) ⇒ Object



31
32
33
34
35
36
37
38
39
40
# File 'lib/capoblo/arduino_moves.rb', line 31

def run_forward(power = MIN_POWER, times = 0)
  set_all_forward
  if times == 0
    soft_run true, power
  else
    soft_run true, power
    sleep times
    stop_all
  end
end

#stop_allObject



99
100
101
102
103
104
105
106
# File 'lib/capoblo/arduino_moves.rb', line 99

def stop_all
  run(LEFT_ANALOG_SIGNAL, 0)
  run(RIGHT_ANALOG_SIGNAL, 0)
  arduino.digital_write LEFT_DIGITAL_BACKWARD, false
  arduino.digital_write LEFT_DIGITAL_FORWARD, true
  arduino.digital_write RIGHT_DIGITAL_BACKWARD, false
  arduino.digital_write RIGHT_DIGITAL_FORWARD, true
end

#turn_back_left(times = 3) ⇒ Object



90
91
92
93
94
95
96
# File 'lib/capoblo/arduino_moves.rb', line 90

def turn_back_left(times = 3)
  set_left_backward
  set_right_backward
  run(LEFT_ANALOG_SIGNAL, 65)
  run(RIGHT_ANALOG_SIGNAL, 125)
  sleep times
end

#turn_back_right(times = 3) ⇒ Object



82
83
84
85
86
87
88
# File 'lib/capoblo/arduino_moves.rb', line 82

def turn_back_right(times = 3)
  set_left_backward
  set_right_backward
  run(LEFT_ANALOG_SIGNAL, 125)
  run(RIGHT_ANALOG_SIGNAL, 65)
  sleep times
end

#turn_left(times = 3) ⇒ Object



74
75
76
77
78
79
80
# File 'lib/capoblo/arduino_moves.rb', line 74

def turn_left(times = 3)
  set_left_forward
  set_right_forward
  run(LEFT_ANALOG_SIGNAL, 65)
  run(RIGHT_ANALOG_SIGNAL, 125)
  sleep times
end

#turn_right(times = 3) ⇒ Object



65
66
67
68
69
70
71
# File 'lib/capoblo/arduino_moves.rb', line 65

def turn_right(times = 3)
  set_left_forward
  set_right_forward
  run(LEFT_ANALOG_SIGNAL, 125)
  run(RIGHT_ANALOG_SIGNAL, 65)
  sleep times
end