class Smalruby::Hardware::RgbLedCathode
RGB LED(カソード)を表現するクラス
Public Class Methods
new(options)
click to toggle source
Calls superclass method
# File lib/smalruby/hardware/rgb_led_cathode.rb, line 7 def initialize(options) pin = Pin.smalruby_to_smalrubot(options[:pin]) case pin when 3, 5, 6 super(board: world.board, pin: [3, 5, 6]) when 9..11 super(board: world.board, pin: [9, 10, 11]) else fail "RGB LED(anode)のピン番号が間違っています: {options[:pin]}" end end
Public Instance Methods
color=(val)
click to toggle source
RGB LEDを指定した色に光らせる
# File lib/smalruby/hardware/rgb_led_cathode.rb, line 20 def color=(val) color = Color.smalruby_to_dxruby(val) analog_write(pins[0], calc_value(color[0])) analog_write(pins[1], calc_value(color[1])) analog_write(pins[2], calc_value(color[2])) end
stop()
click to toggle source
# File lib/smalruby/hardware/rgb_led_cathode.rb, line 35 def stop turn_off end
turn_off()
click to toggle source
RGB LEDをオフにする
# File lib/smalruby/hardware/rgb_led_cathode.rb, line 28 def turn_off color = Color.smalruby_to_dxruby('black') analog_write(pins[0], calc_value(color[0])) analog_write(pins[1], calc_value(color[1])) analog_write(pins[2], calc_value(color[2])) end
Private Instance Methods
after_initialize(_ = {})
click to toggle source
# File lib/smalruby/hardware/rgb_led_cathode.rb, line 41 def after_initialize(_ = {}) turn_off end
calc_value(value)
click to toggle source
# File lib/smalruby/hardware/rgb_led_cathode.rb, line 45 def calc_value(value) if value < Smalrubot::Board::LOW Smalrubot::Board::LOW elsif value > Smalrubot::Board::HIGH Smalrubot::Board::HIGH else value end end