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.

Ideias de Aplicação para Robótica Competitiva