from vilib import Vilib import time PERIOD = 4095 PRESCALER = 10 TIMEOUT = 0.02 dir_servo_pin = Servo(PWM('P2')) camera_servo_pin1 = Servo(PWM('P0')) camera_servo_pin2 = Servo(PWM('P1')) left_rear_pwm_pin = PWM("P13") right_rear_pwm_pin = PWM("P12") left_rear_dir_pin = Pin("D4") right_rear_dir_pin = Pin("D5") S0 = ADC('A0') S1 = ADC('A1') S2 = ADC('A2') Servo_dir_flag = 1 dir_cal_value = 0 cam_cal_value_1 = 0 cam_cal_value_2 = 0 motor_direction_pins = [left_rear_dir_pin, right_rear_dir_pin] motor_speed_pins = [left_rear_pwm_pin, right_rear_pwm_pin] cali_dir_value = [1, -1] cali_speed_value = [0, 0] #初始化PWM引脚 for pin in motor_speed_pins: pin.period(PERIOD) pin.prescaler(PRESCALER)
global value, direction, status, Ref, Left, Mid, Right value = getGrayscaleValue() if value == [0, 1, 0] or value == [1, 1, 1]: direction = 'FORWARD' elif value == [1, 0, 0] or value == [1, 1, 0]: direction = 'RIGHT' elif value == [0, 0, 1] or value == [0, 1, 1]: direction = 'LEFT' elif value == [0, 0, 0]: direction = 'OUT' return direction dir_servo_angle_calibration(0) Ref = 950 adc_A0=ADC("A0") adc_A1=ADC("A1") adc_A2=ADC("A2") """Describe this function... """ def getGrayscaleValue(): global value, direction, status, Ref, Left, Mid, Right if (adc_A0.read()) <= Ref: Left = 1 else: Left = 0 if (adc_A1.read()) <= Ref: Mid = 1