Ir para o conteúdo principal

Exemplos de aplicação REV DUO


Programação para FIRST Tech Challenge

Um dos pedidos mais comuns dos usuários do Control Hub é como usar o Blinkin para sinalizar ao piloto as diferentes ações que o robô está realizando. O código básico abaixo mostra como usar o SDK para programar o Blinkin para diferentes ações. Quando um botão específico do gamepad é pressionado, o LED acende em uma cor sólida; se nenhum botão estiver pressionado, o LED exibe o padrão Beats Per Minute com a Paleta Floresta.

Blocks

Blocks-code-example-FTC.png

OnBot Java

Em Java, o padrão de LED do Blinkin é atribuído usando a convenção de nomenclatura CONSTANT_CASE. Por exemplo, se você quiser usar o Padrão de Cor Personalizada, Gradiente de Cor, o nome da variável constante é: CP1_2_COLOR_GRADIENT

package org.firstinspires.ftc.teamcode;

import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode;
import com.qualcomm.hardware.rev.RevBlinkinLedDriver;
import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
import com.qualcomm.robotcore.util.ElapsedTime;


@TeleOp

public class BlinkInTest extends LinearOpMode {
RevBlinkinLedDriver blinkinLedDriver;
RevBlinkinLedDriver.BlinkinPattern pattern;

@Override
public void runOpMode() {
    blinkinLedDriver = hardwareMap.get(RevBlinkinLedDriver.class, "blinkin");
    waitForStart();


    while (opModeIsActive()) {
        if(gamepad1.x){
            pattern = RevBlinkinLedDriver.BlinkinPattern.BLUE;
            blinkinLedDriver.setPattern(pattern);
        }
        else if(gamepad1.y){
            pattern = RevBlinkinLedDriver.BlinkinPattern.ORANGE;
            blinkinLedDriver.setPattern(pattern);
        }
        else if (gamepad1.b){
            pattern = RevBlinkinLedDriver.BlinkinPattern.WHITE;
            blinkinLedDriver.setPattern(pattern);
        }
        else if (gamepad1.a){
            pattern = RevBlinkinLedDriver.BlinkinPattern.VIOLET;
            blinkinLedDriver.setPattern(pattern);
        }
        else{
            pattern = RevBlinkinLedDriver.BlinkinPattern.BEATS_PER_MINUTE_FOREST_PALETTE;
            blinkinLedDriver.setPattern(pattern);
        }
        
        
    }
}

}

Fiação Independente

O Blinkin pode operar no modo autônomo quando não há como gerar um sinal PWM ou quando é necessário apenas um padrão de saída único. Nesse modo, o Blinkin funcionará em Modo Normal sem sinal de entrada (LED azul piscando) e adotará o padrão programado para ausência de sinal (configuração de fábrica é o padrão 29 – Ondas de Cor, Paleta Festiva).

O padrão exibido atualmente pode ser alterado a qualquer momento pressionando os botões de subir e descer para navegar pela lista de padrões. A menos que um novo padrão padrão para ausência de sinal seja salvo na memória ao completar o processo de configuração, o Blinkin voltará ao último padrão salvo após um ciclo de energia.

image-6.png

  1. Conecte a uma fonte de energia de 12V que possa fornecer até 5 amperes.

  2. Selecione uma fita de LED de 12V ou 5V.

  3. Siga as etapas de Configuração para programar um padrão padrão.

Ideias de Aplicação para Robótica Competitiva

Adicionar LEDs ao seu robô (ou outro projeto) pode fazer mais do que apenas deixá-los visualmente legais; você pode usar os LEDs para fornecer feedback visual crítico. Aqui estão alguns exemplos:

  • Programe um botão do controlador para mudar o padrão de saída dos LEDs (por exemplo, 85 – Amarelo sólido) para que o piloto possa usar os LEDs para comunicar ao jogador humano na estação do portal, do outro lado do campo, que o robô está pronto para receber um objeto do jogo.

  • Se o piloto tiver dificuldade para ver se o robô capturou um objeto do jogo, adicione um sensor na entrada, e a fita de LED pode ser programada para exibir automaticamente um novo padrão quando o objeto for capturado. Assim, o piloto não precisa desviar o olhar do robô para verificar o painel, pois o robô exibirá claramente seu status.

  • Usando o valor do tempo da partida disponível no software, os LEDs podem ser alterados para um padrão de aviso de tempo (por exemplo, Vermelho sólido) quando faltarem X segundos para o fim da partida.

  • O robô pode exibir um padrão diferente quando estiver habilitado versus desabilitado, oferecendo um indicador visual mais claro do estado do robô do que o RSL (Robot Signal Light).