Class: Time7Segment

Inherits:
Object
  • Object
show all
Defined in:
lib/time7segment.rb

Instance Method Summary collapse

Constructor Details

#initialize(gpio = %w(22 27 17 24 11 4 23 8 20 10 18 25),, refresh: 0.0045) ⇒ Time7Segment

d1 d2 d3 d4 a b c d e f g dp



31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/time7segment.rb', line 31

def initialize(gpio=%w(22 27 17 24 11 4 23 8 20 10 18 25), refresh: 0.0045)

  pins = RPi.new(gpio).pins
  @digits, @segments, @refresh = pins.take(4), pins.slice(4..-1), refresh
  
  a = [0x7E, 0x30, 0x6D, 0x79, 0x33, 0x5B, 0x5F, 0x70, 0x7F, 0x7B]
  
  @numerals = a.map do |x|
    x.to_s(2).rjust(7,'0').chars.map {|x| x == '1' ? :off : :on }
  end
  
end

Instance Method Details

#startObject



44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/time7segment.rb', line 44

def start

  loop do

    Time.now.strftime("%H%M").chars.each.with_index do |x,i|

      display(x.to_i); @segments[7].method( i == 1 ? :off : :on).call
      @digits[i].on; sleep @refresh; @digits[i].off

    end

  end

end