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)
Example #2
0
  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