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_POWER_RATIO =
default dc motor power 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_power_ratio ⇒ Object
- #left_dc_motor_power_ratio=(val) ⇒ Object
- #left_sensor_value ⇒ Object
- #right_dc_motor_power_ratio ⇒ Object
- #right_dc_motor_power_ratio=(val) ⇒ Object
- #right_sensor_value ⇒ Object
-
#stop(sec: nil) ⇒ Object
stop.
-
#turn_left(sec: nil) ⇒ Object
turn left.
- #turn_off_blue_led ⇒ Object (also: #turn_off_left_led)
- #turn_off_red_led ⇒ Object (also: #turn_off_right_led)
- #turn_on_blue_led ⇒ Object (also: #turn_on_left_led)
- #turn_on_red_led ⇒ Object (also: #turn_on_right_led)
-
#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_power_ratios = { PORT_M1 => DEFAULT_DC_MOTOR_POWER_RATIO, PORT_M2 => DEFAULT_DC_MOTOR_POWER_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_power_ratio ⇒ Object
29 30 31 |
# File 'lib/smalruby/hardware/smalrubot_s1.rb', line 29 def left_dc_motor_power_ratio @dc_motor_power_ratios[PORT_M1] end |
#left_dc_motor_power_ratio=(val) ⇒ Object
33 34 35 |
# File 'lib/smalruby/hardware/smalrubot_s1.rb', line 33 def left_dc_motor_power_ratio=(val) set_dc_motor_power_ratio(PORT_M1, val) end |
#left_sensor_value ⇒ Object
75 76 77 |
# File 'lib/smalruby/hardware/smalrubot_s1.rb', line 75 def left_sensor_value world.board.get_ir_photoreflector_value(PORT_A4).to_i end |
#right_dc_motor_power_ratio ⇒ Object
37 38 39 |
# File 'lib/smalruby/hardware/smalrubot_s1.rb', line 37 def right_dc_motor_power_ratio @dc_motor_power_ratios[PORT_M2] end |
#right_dc_motor_power_ratio=(val) ⇒ Object
41 42 43 |
# File 'lib/smalruby/hardware/smalrubot_s1.rb', line 41 def right_dc_motor_power_ratio=(val) set_dc_motor_power_ratio(PORT_M2, val) end |
#right_sensor_value ⇒ Object
79 80 81 |
# File 'lib/smalruby/hardware/smalrubot_s1.rb', line 79 def right_sensor_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 Also known as: turn_off_left_led
88 89 90 |
# File 'lib/smalruby/hardware/smalrubot_s1.rb', line 88 def turn_off_blue_led world.board.led(PORT_A0, OFF) end |
#turn_off_red_led ⇒ Object Also known as: turn_off_right_led
98 99 100 |
# File 'lib/smalruby/hardware/smalrubot_s1.rb', line 98 def turn_off_red_led world.board.led(PORT_A1, OFF) end |
#turn_on_blue_led ⇒ Object Also known as: turn_on_left_led
83 84 85 |
# File 'lib/smalruby/hardware/smalrubot_s1.rb', line 83 def turn_on_blue_led world.board.led(PORT_A0, ON) end |
#turn_on_red_led ⇒ Object Also known as: turn_on_right_led
93 94 95 |
# File 'lib/smalruby/hardware/smalrubot_s1.rb', line 93 def turn_on_red_led world.board.led(PORT_A1, ON) end |
#turn_right(sec: nil) ⇒ Object
turn right
|
# File 'lib/smalruby/hardware/smalrubot_s1.rb', line 60
|