Class: Smalruby::Hardware::SmalrubotS1
- Inherits:
-
Object
- Object
- Smalruby::Hardware::SmalrubotS1
- Includes:
- Smalrubot::Board::Studuino
- Defined in:
- lib/smalruby/hardware/smalrubot_s1.rb
Overview
Smalrubot on Studuino v1 class
Constant Summary collapse
- DEFAULT_DC_MOTOR_PACE_RATIO =
default dc motor pace ratio
50
Instance Method Summary collapse
-
#backward(sec: nil) ⇒ Object
backward.
-
#forward(sec: nil) ⇒ Object
forward.
-
#initialize(_) ⇒ SmalrubotS1
constructor
A new instance of SmalrubotS1.
- #left_dc_motor_pace_ratio ⇒ Object
- #left_dc_motor_pace_ratio=(val) ⇒ Object
- #left_ir_photoreflector_value ⇒ Object
- #right_dc_motor_pace_ratio ⇒ Object
- #right_dc_motor_pace_ratio=(val) ⇒ Object
- #right_ir_photoreflector_value ⇒ Object
-
#stop(sec: nil) ⇒ Object
stop.
-
#turn_left(sec: nil) ⇒ Object
turn left.
- #turn_off_blue_led ⇒ Object
- #turn_off_white_led ⇒ Object
- #turn_on_blue_led ⇒ Object
- #turn_on_white_led ⇒ Object
-
#turn_right(sec: nil) ⇒ Object
turn right.
Constructor Details
#initialize(_) ⇒ SmalrubotS1
Returns a new instance of SmalrubotS1.
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/smalruby/hardware/smalrubot_s1.rb', line 13 def initialize(_) world.board.init_dc_motor_port(PORT_M1, 0) world.board.init_dc_motor_port(PORT_M2, 0) world.board.init_sensor_port(PORT_A0, PIDLED) world.board.init_sensor_port(PORT_A1, PIDLED) world.board.init_sensor_port(PORT_A4, PIDIRPHOTOREFLECTOR) world.board.init_sensor_port(PORT_A5, PIDIRPHOTOREFLECTOR) @dc_motor_pace_ratios = { PORT_M1 => DEFAULT_DC_MOTOR_PACE_RATIO, PORT_M2 => DEFAULT_DC_MOTOR_PACE_RATIO, } end |
Instance Method Details
#backward(sec: nil) ⇒ Object
backward
|
|
# File 'lib/smalruby/hardware/smalrubot_s1.rb', line 50
|
#forward(sec: nil) ⇒ Object
forward
|
|
# File 'lib/smalruby/hardware/smalrubot_s1.rb', line 45
|
#left_dc_motor_pace_ratio ⇒ Object
29 30 31 |
# File 'lib/smalruby/hardware/smalrubot_s1.rb', line 29 def left_dc_motor_pace_ratio @dc_motor_pace_ratios[PORT_M1] end |
#left_dc_motor_pace_ratio=(val) ⇒ Object
33 34 35 |
# File 'lib/smalruby/hardware/smalrubot_s1.rb', line 33 def left_dc_motor_pace_ratio=(val) set_dc_motor_pace_ratio(PORT_M1, val) end |
#left_ir_photoreflector_value ⇒ Object
75 76 77 |
# File 'lib/smalruby/hardware/smalrubot_s1.rb', line 75 def left_ir_photoreflector_value world.board.get_ir_photoreflector_value(PORT_A4).to_i end |
#right_dc_motor_pace_ratio ⇒ Object
37 38 39 |
# File 'lib/smalruby/hardware/smalrubot_s1.rb', line 37 def right_dc_motor_pace_ratio @dc_motor_pace_ratios[PORT_M2] end |
#right_dc_motor_pace_ratio=(val) ⇒ Object
41 42 43 |
# File 'lib/smalruby/hardware/smalrubot_s1.rb', line 41 def right_dc_motor_pace_ratio=(val) set_dc_motor_pace_ratio(PORT_M2, val) end |
#right_ir_photoreflector_value ⇒ Object
79 80 81 |
# File 'lib/smalruby/hardware/smalrubot_s1.rb', line 79 def right_ir_photoreflector_value world.board.get_ir_photoreflector_value(PORT_A5).to_i end |
#stop(sec: nil) ⇒ Object
stop
69 70 71 72 73 |
# File 'lib/smalruby/hardware/smalrubot_s1.rb', line 69 i(forward backward turn_left turn_right stop).each do |direction| define_method(direction) do |sec: nil| run(direction, sec: sec) end end |
#turn_left(sec: nil) ⇒ Object
turn left
|
|
# File 'lib/smalruby/hardware/smalrubot_s1.rb', line 55
|
#turn_off_blue_led ⇒ Object
95 96 97 |
# File 'lib/smalruby/hardware/smalrubot_s1.rb', line 95 def turn_off_blue_led world.board.led(PORT_A0, OFF) end |
#turn_off_white_led ⇒ Object
87 88 89 |
# File 'lib/smalruby/hardware/smalrubot_s1.rb', line 87 def turn_off_white_led world.board.led(PORT_A1, OFF) end |
#turn_on_blue_led ⇒ Object
91 92 93 |
# File 'lib/smalruby/hardware/smalrubot_s1.rb', line 91 def turn_on_blue_led world.board.led(PORT_A0, ON) end |
#turn_on_white_led ⇒ Object
83 84 85 |
# File 'lib/smalruby/hardware/smalrubot_s1.rb', line 83 def turn_on_white_led world.board.led(PORT_A1, ON) end |
#turn_right(sec: nil) ⇒ Object
turn right
|
|
# File 'lib/smalruby/hardware/smalrubot_s1.rb', line 60
|