Class: Smalruby::Hardware::MotorDriver
- Inherits:
-
Smalrubot::Components::BaseComponent
- Object
- Smalrubot::Components::BaseComponent
- Smalruby::Hardware::MotorDriver
- Defined in:
- lib/smalruby/hardware/motor_driver.rb
Overview
モータードライバを表現するクラス
モータードライバのVrefにはPWM出力できるD3, D5, D6, D9, D10, D11の いずれかを接続し、Vin1、Vin2はVrefからの連番(例えば、VrefがD3であ ればVin1、Vin2はそれぞれD4, D5)を接続してください。
動作確認済みのモータードライバの一覧
-
TOSHIBA
-
TA7291P
-
Instance Attribute Summary collapse
-
#speed ⇒ Object
モーターの回転速度の割合(0~100%).
Instance Method Summary collapse
-
#backward ⇒ Object
逆転する.
-
#forward ⇒ Object
正転する.
-
#initialize(options) ⇒ MotorDriver
constructor
A new instance of MotorDriver.
-
#stop ⇒ Object
停止する.
Constructor Details
#initialize(options) ⇒ MotorDriver
Returns a new instance of MotorDriver.
19 20 21 22 23 24 25 26 27 28 |
# File 'lib/smalruby/hardware/motor_driver.rb', line 19 def initialize() pin = Pin.smalruby_to_smalrubot([:pin]) case pin when 3, 5, 6, 9, 10, 11 super(board: world.board, pin: (pin...(pin + 3)).to_a) else fail "モーターのピン番号が間違っています: {options[:pin]}" end self.speed = [:speed] || 100 end |
Instance Attribute Details
#speed ⇒ Object
モーターの回転速度の割合(0~100%)
17 18 19 |
# File 'lib/smalruby/hardware/motor_driver.rb', line 17 def speed @speed end |
Instance Method Details
#backward ⇒ Object
逆転する
45 46 47 |
# File 'lib/smalruby/hardware/motor_driver.rb', line 45 def backward write_pins(speed, 0, 100) end |
#forward ⇒ Object
正転する
40 41 42 |
# File 'lib/smalruby/hardware/motor_driver.rb', line 40 def forward write_pins(speed, 100, 0) end |
#stop ⇒ Object
停止する
50 51 52 |
# File 'lib/smalruby/hardware/motor_driver.rb', line 50 def stop write_pins(0, 0, 0) end |