Example #1
0
def car_drive():
    global is_capture_running, key
    key = 4
    pygame.init()
    pygame.display.set_mode((1, 1))
    car_control.car_stop()

    while is_capture_running:
        # 获取人输入的驾驶指令
        events = pygame.event.get()
        for evt in events:
            if evt.type == pygame.KEYDOWN:
                key_input = pygame.key.get_pressed()
                print(key_input[pygame.K_w], key_input[pygame.K_a],
                      key_input[pygame.K_d])
                if key_input[pygame.K_w] and not key_input[
                        pygame.K_a] and not key_input[pygame.K_d]:
                    print('Forward')
                    key = 2
                    car_control.car_move_forward()
                elif key_input[pygame.K_a]:
                    print('Left')
                    car_control.car_turn_left()
                    sleep(0.1)
                    key = 0
                elif key_input[pygame.K_d]:
                    print('Right')
                    car_control.car_turn_right()
                    sleep(0.1)
                    key = 1
                elif key_input[pygame.K_s]:
                    print('Backward')
                    car_control.car_move_backward()
                    sleep(0.1)
                    key = 3
                elif key_input[pygame.K_q] or key_input[pygame.K_e]:
                    print("Barricade")
                    car_control.car_stop()
                    key = 5
            elif evt.type == pygame.KEYUP:
                key_input = pygame.key.get_pressed()
                if key_input[pygame.K_w] and not key_input[
                        pygame.K_a] and not key_input[pygame.K_d]:
                    print('Forward')
                    key = 2
                    car_control.car_turn_straight()
                    car_control.car_move_forward()
                elif key_input[pygame.K_s] and not key_input[
                        pygame.K_a] and not key_input[pygame.K_d]:
                    print('Backward')
                    key = 3
                    car_control.car_move_backward()
                else:
                    print('Stop')
                    car_control.car_stop()
                # car_control.clean_GPIO()
    car_control.clean_GPIO()
Example #2
0
def my_car_control():
    global is_capture_running, key
    key = 4
    pygame.init()
    pygame.display.set_mode((1, 1))
    car_control.car_stop()
    sleep(0.1)
    print("Start control!")

    while is_capture_running:
        # get input from human driver
        for event in pygame.event.get():
            if event.type == pygame.KEYDOWN:
                key_input = pygame.key.get_pressed()
                print(key_input[pygame.K_w], key_input[pygame.K_a],
                      key_input[pygame.K_d])
                if key_input[pygame.K_w] and not key_input[
                        pygame.K_a] and not key_input[pygame.K_d]:
                    print("Forward")
                    key = 2
                    car_control.car_move_forward()
                elif key_input[pygame.K_a]:
                    print("Left")
                    car_control.car_turn_left()
                    sleep(0.1)
                    key = 0
                elif key_input[pygame.K_d]:
                    print("Right")
                    car_control.car_turn_right()
                    sleep(0.1)
                    key = 1
                elif key_input[pygame.K_s]:
                    print("Backward")
                    car_control.car_move_backward()
                    key = 3
                elif key_input[pygame.K_k]:
                    car_control.car_stop()
            elif event.type == pygame.KEYUP:
                key_input = pygame.key.get_pressed()
                if key_input[pygame.K_w] and not key_input[
                        pygame.K_a] and not key_input[pygame.K_d]:
                    print("Forward")
                    key = 2
                    car_control.car_turn_straight()
                    car_control.car_move_forward()
                elif key_input[pygame.K_s] and not key_input[
                        pygame.K_a] and not key_input[pygame.K_d]:
                    print("Backward")
                    key = 3
                    car_control.car_move_backward()
                else:
                    print("Stop")
                    car_control.car_stop()
                #car_control.cleanGPIO()
    car_control.cleanGPIO()
Example #3
0
def control_car(action_num):
    """out put the char and call car_control(we used before)"""

    if action_num == 0:
        print("Left")
        car_control.car_turn_left()
        time.sleep(0.25)
    elif action_num == 1:
        print("Right")
        car_control.car_turn_right()
        time.sleep(0.25)
    elif action_num == 2:
        car_control.car_move_forward()
        print('Forward')
    elif action_num == 3:
        car_control.car_move_backward()
        print('Backward')
    else:
        car_control.car_stop()
        print('Stop')
Example #4
0
# 	"""将数组编码的整数转换为对应的数字"""

# 	for i in range(6):
# 		if prediction_array[0][i] == prediction_array.max():
# 			return i
# 	return 2


def car_drive(action_num):
	if action_num = 0:
		print("Left")
		car_control.car_turn_left()
		time.sleep(0.25)
	elif action_num == 1:
		print("Right")
		car_control.car_turn_right()
		time.sleep(0.25)
	elif action_num == 2:
		car_control.car_move_forward()
		print('Forward')
	elif action_num == 3:
		car_control.car_move_backward()
		print('Backward')
	elif action_num == 5:
		car_control.car_stop()
		print("Barricade")
	else:
		car_control.car_stop()
		print('Stop')

Example #5
0
def my_car_control():
    global is_capture_running, key
    key = 4
    pygame.init()
    pygame.display.set_mode((1, 1))  # 窗口
    zth_car_control.car_stop()
    sleep(0.1)
    print("Start control!")
    angle = 90
    while is_capture_running:
        # get input from human driver

        for event in pygame.event.get():
            # 判断事件是不是按键按下的事件
            if event.type == pygame.KEYDOWN:

                key_input = pygame.key.get_pressed()  # 可以同时检测多个按键
                print(key_input[pygame.K_w], key_input[pygame.K_a],
                      key_input[pygame.K_d])
                # 按下前进,保存图片以2开头
                if key_input[pygame.K_w] and not key_input[
                        pygame.K_a] and not key_input[pygame.K_d]:
                    print("Forward")
                    key = 2
                    zth_car_control.car_move_forward()
                # 按下左键,保存图片以0开头
                elif key_input[pygame.K_a]:
                    print("Left")
                    angle = angle - 5
                    zth_car_control.car_turn_left(angle)
                    sleep(0.1)
                    key = 0
                # 按下d右键,保存图片以1开头
                elif key_input[pygame.K_d]:
                    print("Right")
                    angle = angle + 5
                    zth_car_control.car_turn_right(angle)
                    sleep(0.1)
                    key = 1
                # 按下s后退键,保存图片为3开头
                elif key_input[pygame.K_s]:
                    print("Backward")
                    zth_car_control.car_move_backward()
                    key = 3
                # 按下k停止键,停止
                elif key_input[pygame.K_k]:
                    zth_car_control.car_stop()
            # 检测按键是不是抬起
            elif event.type == pygame.KEYUP:
                key_input = pygame.key.get_pressed()
                # w键抬起,轮子回正
                #if key_input[pygame.K_w] and not key_input[pygame.K_a] and not key_input[pygame.K_d]:
                #  print("Forward")
                # key = 2
                # zth_car_control.car_turn_straight()
                #zth_car_control.car_move_forward()
                # s键抬起
                if key_input[pygame.K_s] and not key_input[
                        pygame.K_a] and not key_input[pygame.K_d]:
                    print("Backward")
                    key = 3
                    zth_car_control.car_move_backward()
                else:
                    print("Stop")
                    zth_car_control.car_stop()
                #car_control.cleanGPIO()
    zth_car_control.clean_GPIO()