Exemplos incluídos#

Esta página lista os projetos de exemplo incluídos que demonstram como controlar o robô de programação VEX AIM utilizando Python via WebSocket.

Básico#

Dentro do diretório basic , encontrará:

Nome do ficheiro

Descrição

ai_vision_for_loops.py

Este projeto utiliza um ciclo for em Python para iterar sobre os dados de Visão por Computador e calcular o ponto médio entre um barril laranja e um barril azul.

angled_moving.py

Este projeto movimenta o robô em ângulos de 45 graus a 100% da velocidade para traçar a forma de um losango.

colorful_square.py

Este projeto faz com que o robô se mova num caminho quadrado, mudando a cor do LED a cada mudança de cor.

conditional_kicker.py

Este projeto fará com que o robô AIM gire 180 graus para a direita. Se o robô estiver a segurar um barril laranja, irá pontapeá-lo; caso contrário, o robô não fará nada.

creating_timeouts.py

Este projeto gira em torno do próprio eixo enquanto procura um barril laranja. Se não for encontrado nenhum em 10 segundos, emite um som de “falha” e interrompe a pesquisa.

emoji_reaction.py

Este projeto exibe um emoji feliz quando o ângulo do robô está estável e um emoji surpreendido quando está inclinado.

emoji_touch.py

Este projeto altera o emoji do ecrã com base no número de vezes que o ecrã foi pressionado, mostrando uma expressão diferente a cada toque.

get_blue_barrel.py

Este projeto vai procurar o barril azul, deslocar-se até ele e celebrar quando o encontrar.

led_color_cycle.py

Este projeto alterna entre cada cor de LED, fazendo uma pausa de um segundo entre cada uma.

level_detector.py

Neste projeto, o ecrã irá exibir um fundo verde com a palavra “FLAT” quando o robô não estiver inclinado. Se o robô se inclinar, o ecrã ficará vermelho e exibirá “TILTED”.

move_and_stop.py

Este projeto move o robô 300 mm para a frente e reproduz o som de “conclusão” assim que o movimento é finalizado.

move_to_apriltag.py

Este projeto gira o robô até detetar o AprilTag ID 1, e depois move-se em direção a ele.

multi_step_pickup.py

Este projeto gira para a direita até encontrar um barril laranja, depois recua e coloca-o no lugar.

musical_thread.py

Este projeto irá reproduzir uma música (usando notas) num thread enquanto executa outras tarefas simultaneamente noutro thread.

object_detection_alert.py

Este projeto fará com que o robô AIM avance até encontrar alguma carga. Ao detetar uma carga, o robô emitirá um sinal sonoro e interromperá todos os seus movimentos.

obstacle_avoidance.py

Este projeto fará com que o robô AIM avance até encontrar alguma carga. Ao detetar uma carga, o robô fará uma curva de 45 graus para a direita.

screen_drawing.py

Este projeto desenha uma linha, um quadrado e um círculo no ecrã, mostrando o nome de cada forma à medida que está a ser desenhada.

sensor_monitor.py

Este projeto irá imprimir os valores do temporizador, direção e orientação de guinada no ecrã do robô.

tap_to_start.py

Este projeto aguarda um toque no ecrã tátil antes de avançar 200 mm e exibir um emoji no final.

timing_events.py

Este projeto inicia a marcha, mas pára automaticamente após cinco segundos, apresentando então a mensagem “Tempo esgotado!” no ecrã.

Avançado#

Dentro do diretório advanced , encontrará:

Nome do ficheiro

Descrição

aim_example_base.py

Fornece AimExample classe base, que analisa argumentos, tenta encontrar o IP do robô AIM e inicializa aim.Robot.

fpv.py

Este projeto permite ao utilizador controlar o robô enquanto transmite imagens da câmara. Os LEDs ficam verdes quando o robô está em movimento e vermelhos quando está parado.

multiple_robots.py

Este projeto consiste em fazer com que dois robôs se movam num caminho quadrado, alterando a cor do LED a cada mudança de cor.

play_sounds.py

O robô reproduzirá um ficheiro de som local e, em seguida, tocará algumas notas da Sinfonia nº 5 de Beethoven.

save_jpg.py

Guardar imagem em formato JPEG no sistema de ficheiros especificado pelo nome do ficheiro, com o valor por defeito aim_img.jpg

stream_video.py

Fluxo de imagens JPEG, utilizando OpenCV para exibição no ecrã.