Class: 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.



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

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.



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

def arduino
  @arduino
end

Instance Method Details

#rotate_anticlockwiseObject



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

def rotate_anticlockwise
  set_left_backward
  set_right_forward
  soft_run
end

#rotate_clockwiseObject



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

def rotate_clockwise
  set_left_forward
  set_right_backward
  soft_run
end

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



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

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



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

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



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

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



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

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



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

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



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

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



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

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