Example #1
0
class TestRelay:
    def setup(self):
        self.relay = Relay()

    def teardown(self):
        self.relay.cleanup()

    def test_red(self):
        self.relay.turn_on_only(self.relay.red)

    def test_yellow(self):
        self.relay.turn_on_only(self.relay.yellow)
    
    def test_green(self):
        self.relay.turn_on_only(self.relay.green)
Example #2
0
def park_assist(channel):
    usonic = USonic()
    relay = Relay()
    while 1:
        distance = usonic.get_distance()
        # 10 feet
        if distance > 305:
            relay.turn_on_only(relay.GREEN)
        # 1 foot
        elif distance > 95:
            relay.turn_on_only(relay.YELLOW)
        else:
            relay.turn_on_only(relay.RED)
        time.sleep(1)
Example #3
0
def park_assist(channel):
    usonic = USonic()
    relay = Relay()
    while 1:
        distance = usonic.get_distance()
        # 10 feet
        if distance > 305:
            relay.turn_on_only(relay.green)
        # 1 foot
        elif distance > 95:
            relay.turn_on_only(relay.yellow)
        else:
            relay.turn_on_only(relay.red)
        time.sleep(1)
Example #4
0
 def setup(self):
     self.relay = Relay()
Example #5
0
    mode = ConfigSectionMap("General")["mode"]
    if mode == "bcm":
        mode = GPIO.BCM
    elif mode == "board":
        mode = GPIO.BOARD
    else:
        mode = ""
    he = ConfigSectionMap("HallEffect")
    us = ConfigSectionMap("UltraSonic")
    re = ConfigSectionMap("Relay")

    halleffectleft = HallEffectPair(int(he["leftopen"]), int(he["leftclosed"]), mode)
    halleffectright = HallEffectPair(int(he["rightopen"]), int(he["rightclosed"]), mode)
    ultrasonicleft = USonic(int(us["lefttrigger"]), int(us["leftecho"]), mode)
    ultrasonicright = USonic(int(us["righttrigger"]), int(us["rightecho"]), mode)
    relay = Relay(int(re["red"]), int(re["yellow"]), int(re["green"]), mode)

    halleffectleft.add_event_detect(channel=halleffectleft.open_door, callback=set_left_time)
    halleffectright.add_event_detect(channel=halleffectright.open_door, callback=set_right_time)

    while 1:
        left_threshold = distance_threshold(left_open_time, ultrasonicleft)
        right_threshold = distance_threshold(right_open_time, ultrasonicright)
        thresholds = [left_threshold, right_threshold]
        threshold = min(thresholds)

        if threshold == 1:
            # red light
            relay.turn_on_only(relay.red)
        elif threshold == 2:
            # yellow light