def drop_into_machine(basket):
    servo_luik = Servo(21, component_id=11, start_position=2.5)
    servo_luik.rotate(120)

    if basket == 1:
        # Bleek
        servo_btm_bleek = Servo(5, component_id=6)
        servo_btm_bleek.rotate(200)
        time.sleep(2)
        servo_btm_bleek.rotate(90)
        servo_btm_bleek.stop()

    else:
        servo_btm_donker = Servo(27, component_id=8)
        servo_btm_donker.rotate(-20)
        time.sleep(2)
        servo_btm_donker.rotate(90)
        servo_btm_donker.stop()

    servo_luik.rotate(0)
    servo_luik.stop()
Пример #2
0
    def close_hatch(self):
        servo_luik = Servo(21, component_id=11, start_position=9.1667)
        servo_luik.rotate(0)
        servo_luik.stop()

        self.hatch = 0
Пример #3
0
    def open_hatch(self):
        servo_luik = Servo(21, component_id=11, start_position=2.5)
        servo_luik.rotate(120)
        servo_luik.stop()

        self.hatch = 1
Пример #4
0
def start_electronics():
    try:
        distance_sensor_bleek = DistanceSensor(12, 25, component_id=1)
        distance_sensor_donker = DistanceSensor(24, 23, component_id=2)
        distance_sensor_bin = DistanceSensor(
            16, 6, component_id=None)  # Niet standaard opslaan in database

        servo_btm_bleek = Servo(4, component_id=6)
        servo_top_bleek = Servo(17, component_id=7)

        servo_btm_donker = Servo(22, component_id=8)
        servo_top_donker = Servo(18, component_id=9)

        servo_scheidingsmuur = Servo(27, component_id=10)
        servo_luik = Servo(5, component_id=11)
        servo_handzeepje = Servo(16, component_id=12)

        # Checkt in de klasse naar flanken en slaat deze op in de database, niets doen in de while loop dus
        moisture_sensor = MoistureSensor(20, component_id=4)

        lcd_controller = LCDController(26, 19, 13)
        color_sensor = ColorSensor(component_id=3)

        threading_works = False
        while True:
            if threading_works:
                # Fetch distance in de bin
                distance_bin = distance_sensor_bin.meassure_distance(samples=3)

                # Check of er een anomalie is
                if 18 < distance_bin < 22:
                    if color_sensor.get_luminance() < 0.4:
                        # drop into donker
                        distance_sensor_donker.meassure_distance()
                    else:
                        # drop into bleek
                        distance_sensor_bleek.meassure_distance()

                    # Update database
                    distance_sensor_bin.store_historiek(distance_bin, 15)
                    # Broadcast update emit
                    update_all()

            # Luister naar knopjes
            if GPIO.input(lcd_controller.links) == False:
                lcd_controller.links_pressed()
                time.sleep(0.2)

            elif GPIO.input(lcd_controller.midden) == False:
                lcd_controller.midden_pressed()
                time.sleep(0.2)

            elif GPIO.input(lcd_controller.rechts) == False:
                lcd_controller.rechts_pressed()
                time.sleep(0.2)

            time.sleep(0.05)

    except KeyboardInterrupt:
        print("Programma gestopt")

    finally:
        # Clear lcd
        lcd_controller.lcd_display.lcd_clear()
        GPIO.cleanup()
def drop_into_bleek():
    # Init servo motors
    servo_top_bleek = Servo(17, component_id=7, start_position=7)
    servo_top_donker = Servo(6, component_id=9)
    servo_scheidingsmuur = Servo(22, component_id=10)

    servo_scheidingsmuur.rotate(55)
    time.sleep(1)
    servo_top_donker.rotate(10)
    servo_top_bleek.rotate(170)
    time.sleep(3)

    servo_top_bleek.rotate(82)
    servo_top_donker.rotate(90)
    servo_scheidingsmuur.rotate(90)

    # Stop servo motors
    servo_top_bleek.stop()
    servo_top_donker.stop()
    servo_scheidingsmuur.stop()
Пример #6
0
    # Middenschap
    # 90 = base pos = recht omhoog
    # 55 = laten vallen in bleek
    # 125 = laten vallen in donker
    # my_servo = Servo(22, None)

    # Bottom bleek
    # 90 = base pos, -15 = luikje open
    # my_servo = Servo(27, None)
    
    # Top bleek
    # 90 = base pos, 170 = open
    # my_servo = Servo(17, None)

    my_servo = Servo(21, None, start_position=9.1667)

    while True:

        if True:
            if False:
                my_servo.rotate(0)
                time.sleep(2)
                my_servo.rotate(110)
                time.sleep(2)
            else:
                # reset
                # pass
                my_servo.rotate(0)
                break