Class: AgriController::Wet_sensor

Inherits:
Object
  • Object
show all
Defined in:
lib/agri-controller/wet_sensor.rb

Overview

*Wet sensor.rb *X seconds waits and stops when Sensor sensed.

inbit=Wet_sensor.new(5)

inbit.keeper(bit_bool,sensor_bool)# =>Nil or True or False

<Turns False after 5 seconds when sensor_bool true.>

Instance Method Summary collapse

Constructor Details

#initialize(wait = 0) ⇒ Wet_sensor

Returns a new instance of Wet_sensor.



15
16
17
18
19
20
# File 'lib/agri-controller/wet_sensor.rb', line 15

def initialize(wait=0)
  @keep=false
  @wait=wait
  @time=Time.now
  @bool=false
end

Instance Method Details

#keeper(bit, signal) ⇒ Object

bitがnil(bitがオンの前)はnil bitがtrue(signalが1回でもtrueなら、以降の結果をwait秒待ってから、false bitがfalse(false)



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/agri-controller/wet_sensor.rb', line 25

def keeper(bit,signal)
 if bit==nil
   @keep=false
   @bool=false
   return nil
 elsif bit==false
   @keep =false
   @bool=false
   return false
 
 elsif bit==true
 
   if signal==true
     p "sensed" if $DEBUG
     if @keep==false
        #set wait_time
        if Time.now >=@time
          p "wait="+@wait.to_s if $DEBUG
          @time=Time.now+@wait
        end
        @keep=true
     end
   end
   if (Time.now >=@time) and (@keep==true)
      @bool=true
   end
   return (!@bool and bit)
 end
end