Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1from sensor_adc import SensorADC 

2 

3 

4class WaterSensor(SensorADC): 

5 

6 """WaterSensor, measures amount of water in a bowl""" 

7 

8 def __init__(self, pin_num, range_min=0, range_max=4000, average_converging_speed=1 / 2, capacity=0.5): 

9 

10 """ constructor. 

11 :param pin_num: number pin that will read value, it has to be ADC, analog to digital converter 

12 :param range_min: min value of sensor (empty), 

13 :param range_max: max value of sensor (full), 

14 :param average_converging_speed: speed the average goes towards the last measure (range 0-1) 

15 :param capacity: liters contained in the bowl full """ 

16 super().__init__(pin_num, range_min, range_max, average_converging_speed) 

17 self.capacity = capacity 

18 

19 def __str__(self): 

20 """prints the object.""" 

21 return "WaterSensor: average: {}, last measure {}, percentage: {}, liters: {}".format(self.get_average(), 

22 self.get_last_measure(), 

23 self.get_percentage(), 

24 self.get_liters()) 

25 

26 def get_percentage(self): 

27 """actual percentage of water in the bowl.""" 

28 return super().get_percentage() 

29 

30 def get_liters(self): 

31 """actual liters in the bowl.""" 

32 return self.get_percentage() * self.capacity