Class: Smalruby::Hardware::TwoWheelDriveCar

Inherits:
Dino::Components::BaseComponent
  • Object
show all
Defined in:
lib/smalruby/hardware/two_wheel_drive_car.rb

Overview

2WD車のモーターを表現するクラス

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ TwoWheelDriveCar



8
9
10
11
12
13
14
15
16
# File 'lib/smalruby/hardware/two_wheel_drive_car.rb', line 8

def initialize(options)
  pin = Pin.smalruby_to_dino(options[:pin])
  case pin
  when 2..10
    super(board: world.board, pin: (pin...(pin + 4)).to_a)
  else
    fail "モーターのピン番号が間違っています: {options[:pin]}"
  end
end

Instance Method Details

#backwardObject

後退する



24
25
26
# File 'lib/smalruby/hardware/two_wheel_drive_car.rb', line 24

def backward
  digital_write_pins(false, true, false, true)
end

#forwardObject

前進する



19
20
21
# File 'lib/smalruby/hardware/two_wheel_drive_car.rb', line 19

def forward
  digital_write_pins(true, false, true, false)
end

#stopObject

停止する



39
40
41
# File 'lib/smalruby/hardware/two_wheel_drive_car.rb', line 39

def stop
  digital_write_pins(false, false, false, false)
end

#turn_leftObject

左に曲がる



29
30
31
# File 'lib/smalruby/hardware/two_wheel_drive_car.rb', line 29

def turn_left
  digital_write_pins(false, true, true, false)
end

#turn_rightObject

右に曲がる



34
35
36
# File 'lib/smalruby/hardware/two_wheel_drive_car.rb', line 34

def turn_right
  digital_write_pins(true, false, false, true)
end