Ferramentas de programação
Escolher a ferramenta ou linguagem de programação apropriada é uma das decisões mais cruciais que um usuário pode tomar. No sistema de controle REV, existem três ferramentas de programação para escolher: Blocks, OnBot Java e Android Studio. Cada ferramenta apresenta diferentes benefícios e níveis de dificuldade.
Básica | Intermediária | Avançada |
---|---|---|
Blocos | OnBot | Android Studio |
As ferramentas de programação para o Software Development Kit (SDK) foram escolhidas como um meio de proporcionar aos usuários a capacidade de escolher entre alternativas, mas também como um meio de permitir que os usuários avancem naturalmente da programação básica para a avançada. Um usuário pode começar com Blocks e progredir para o Android Studio de maneira razoável. De fato, essa é frequentemente nossa sugestão para usuários iniciantes. O Android Studio é uma ferramenta muito poderosa, mas, enquanto você está aprendendo os fundamentos da programação, pode ser mais um obstáculo do que uma ajuda.
Revise as seções a seguir para aprender sobre cada ferramenta de programação e os benefícios associados a ela. Depois de concluir a revisão, faça uma escolha informada sobre qual ferramenta funcionará melhor para você!
Blocos
A Ferramenta de Programação Blocks é uma ferramenta visual que permite aos programadores usar um navegador da web para criar, editar e salvar seus modos de operação (op modes). Blocks, assim como outras ferramentas de programação baseadas em blocos, é uma coleção de trechos de código predefinidos que os usuários podem arrastar e soltar nas linhas de código apropriadas.
O Blocks foi criado para atender a usuários com pouca ou nenhuma experiência em programação. Ao contrário do OnBot Java ou do Android Studio, o Blocks trabalha para isolar e proteger os usuários das complexidades do SDK. A interface do Blocks realiza isso ocultando ou abstraindo parte da complexidade mais avançada que o sistema requer, como chamadas a bibliotecas ou classes específicas. Os trechos de código fazem essas conexões e assumem essas complexidades pelo usuário.
Um dos principais benefícios do Blocks são as funcionalidades integradas que permitem aos usuários fazer uma transição natural de pouco ou nenhum conhecimento em programação para uma compreensão básica de Java. O Blocks ensina aos usuários a lógica da programação, protegendo-os de erros de sintaxe. À medida que os usuários ganham mais confiança e habilidade, podem usar a opção "Mostrar Java". "Mostrar Java" permite que os usuários vejam a sintaxe Java correspondente a cada bloco adicionado ao código.
Resumo dos Benefícios
Oculta complexidades do usuário, permitindo que ele se concentre em aprender a lógica
Tem uma opção para Mostrar Java que permite aos usuários ver qual seria a sintaxe correspondente em Java
Interface baseada na Web – acessível na maioria dos dispositivos
Salva diretamente no robô
Tão poderoso quanto OnBot Java
Acessando o Blocos
Esta seção pressupõe que você já tenha seguido as etapas de configuração do seu sistema de controle REV. Para obter mais informações sobre como configurar seu sistema de controle, consulte o guia Introdução ao Control Hub.
Esta seção também pressupõe que você tenha um navegador da web com JavaScript habilitado.
- Vá para as Configurações de Wi-Fi em um computador com Windows 10, clicando no ícone de Wi-Fi.
- Uma vez exibida a lista de redes Wi-Fi disponíveis na vizinhança, selecione a rede que corresponde ao nome do seu ponto de acesso Wi-Fi.
- Insira a senha que você definiu ao configurar o sistema de controle.
- Após conectar-se, abra um navegador com suporte a JavaScript (o FIRST recomenda o Google Chrome).
- Acesse o endereço IP http://192.168.43.1:8080.
- Na parte superior da página do Console do Controlador do Robô, deve haver 3 opções de menu: Blocks, OnBot Java e Manage. Escolha Blocks.
Senhas são sensíveis a maiúsculas e minúsculas. Se você não se lembrar da sua senha, use o Hardware Client para verificar a seção Program e Manage do Console do Controlador do Robô.
OnBot Java
A ferramenta de programação baseada em texto que permite aos programadores usar um navegador da web para criar, editar e salvar seus modos de operação (op modes) em Java.
OnBot Java é ideal para programadores com habilidades básicas a avançadas em Java que desejam escrever modos de operação (op modes) baseados em texto. OnBot Java compartilha algumas das propriedades de isolamento do Blocks, mas dá aos usuários acesso a elementos mais complexos das bibliotecas do SDK. Por exemplo, OnBot Java exige que os usuários realizem chamadas a classes como o hardwareMap, que estão ocultas nos trechos de código do Blocks.
OnBot Java compartilha uma interface baseada na web com a ferramenta de programação Blocks. O modelo baseado na web é de fácil acesso na maioria dos dispositivos para realizar alterações no código, reduzindo a necessidade de ter um dispositivo dedicado para alterações no código.
Resumo dos Benefícios
Oculta complexidades do usuário, permitindo que ele se concentre em aprender a lógica
Tem uma opção para Mostrar Java que permite aos usuários ver qual seria a sintaxe correspondente em Java
Interface baseada na Web – acessível na maioria dos dispositivos
Salva diretamente no robô
Tão poderoso quanto OnBot Java
Acessando o OnBot Java
Esta seção pressupõe que você já tenha seguido as etapas de configuração do seu sistema de controle REV. Para obter mais informações sobre como configurar seu sistema de controle, consulte as seções "Getting Started" ou "Managing the Control System" no Guia do Sistema de Controle. Esta seção também pressupõe que você tenha um navegador da web com JavaScript habilitado.
- Vá para as Configurações de Wi-Fi em um computador com Windows 10, clicando no ícone de Wi-Fi.
- Uma vez exibida a lista de redes Wi-Fi disponíveis na vizinhança, selecione a rede que corresponde ao nome do seu ponto de acesso Wi-Fi.
- Insira a senha que você definiu ao configurar o sistema de controle.
- Após conectar-se, abra um navegador com suporte a JavaScript (o FIRST recomenda o Google Chrome).
- Acesse o endereço IP http://192.168.43.1:8080.
- Na parte superior da página do Console do Controlador do Robô, deve haver 3 opções de menu: Blocks, OnBot Java e Manage. Escolha OnBot Java.
As senhas são sensíveis a maiúsculas e minúsculas. Se você não se lembrar da sua senha, use o Hardware Client para verificar a seção Program e Manage do Console do Controlador do Robô.
Android Studio
Um ambiente de desenvolvimento integrado avançado para criar aplicativos Android. Essa ferramenta é a mesma que os desenvolvedores profissionais de aplicativos Android utilizam. O Android Studio é recomendado apenas para usuários avançados que possuam ampla experiência em programação Java.
O Android Studio oferece aos programadores com um entendimento avançado de Java um ambiente de desenvolvimento mais poderoso para trabalhar. Ele oferece recursos avançados de edição e depuração que não estão disponíveis no OnBot Java ou Blocks. Também permite aos programadores trabalhar com bibliotecas de terceiros que não estão incluídas no SDK. No entanto, o Android Studio não é um software baseado na web e exigirá um laptop dedicado para ser executado.
Resumo dos Benefícios
Acesso a classes de biblioteca mais complicadas para uma programação mais avançada
Recursos aprimorados de edição e depuração Permite acesso a bibliotecas de terceiros
Acessando o Android Studio
Para aprender como baixar e trabalhar corretamente com o Android Studio, por favor, visite a FTC Wiki.
A FIRST Global não oferece suporte para o Android Studio.
Op Modes
Os modos de operação (ou op modes) são programas de computador utilizados para personalizar ou especificar o comportamento de um robô. O Controlador do Robô, seja o Control Hub (REV-31-1595) ou um dispositivo Android emparelhado com um Expansion Hub (REV-31-1153), armazena e executa os op modes. A Estação do Motorista permite que os usuários selecionem qualquer um dos op modes armazenados no Controlador do Robô e inicializem, iniciem ou interrompam os op modes.
No SDK, existem dois tipos de modos de operação (op modes): autônomo e teleoperação. Ambos os tipos de op modes possuem funcionalidades de inicialização, início e parada no telefone da Estação do Motorista. Cada recurso corresponde a diferentes tipos de segmentos de código que serão discutidos em detalhes nas seções específicas do Test Bed para cada ferramenta de programação deste documento.
A principal diferença entre os modos de operação autônomo e de teleoperação está em como eles aparecem na aplicação da Estação do Motorista. Os modos de operação autônomo aparecem em um menu suspenso no lado esquerdo da aplicação da Estação do Motorista. A Estação do Motorista atribui um temporizador de 30 segundos aos modos de operação autônomos. Se o modo de operação autônomo não for interrompido manualmente antes do final dos 30 segundos, a Estação do Motorista interromperá automaticamente o código. Os modos de operação de teleoperação aparecerão em um menu suspenso no lado direito da aplicação da Estação do Motorista. Esses modos de operação serão executados até serem interrompidos manualmente.
Também vale destacar que no SDK, os modos de operação podem ser modos de operação lineares ou modos de operação iterativos. Este guia foca nos modos de operação lineares, que executam linhas de código em uma ordem sequencial. Para chamar repetidamente ações dentro de um modo de operação linear, é necessário usar uma função de loop. Este tópico será discutido em detalhes conforme você acompanha este guia.