Home

⚙ LEGO MINDSTORMS — Guia Completo

Robótica EV3
Mindstorms

Tudo que você precisa saber sobre o kit de robótica mais famoso do mundo: sensores, motores, portas e linguagens de programação.

7 Sensores
3 Motores
7 Linguagens
6 Competições
LEGO EV3 MINDSTORMS ● PRONTO PORTAS DE ENTRADA 1 2 3 4 PORTAS DE SAÍDA

Sensores EV3

O EV3 suporta sensores nas 4 portas de entrada (1–4) usando conectores RJ12. Cada sensor coleta dados do ambiente para que o robô possa reagir ao mundo real.

👆
Sensor Digital

Sensor de Toque

Detecta se o botão foi pressionado, solto ou pressionado e solto (colisão). Ideal para detecção de obstáculos e limites de movimento.

EstadosPressionado / Solto
TipoDigital
Porta1, 2, 3 ou 4
ConectorRJ12
🎨
Sensor Óptico

Sensor de Cor

Detecta cores, mede intensidade de luz refletida e luz ambiente. Opera em 3 modos: cor, luz refletida e luz ambiente.

Cores7 (Preto, Azul, Verde, Amarelo, Vermelho, Branco, Marrom)
ModosCor / Refletida / Ambiente
Frequência1 kHz
ConectorRJ12
📡
Sensor Analógico

Sensor Ultrassônico

Mede distâncias emitindo ondas sonoras de alta frequência (40 kHz). Pode detectar presença de objetos em modo de escuta.

Alcance3 cm — 250 cm
Precisão±1 cm
Frequência40 kHz
ModosDistância cm / pol / Presença
🌀
Sensor Inercial

Sensor Giroscópio

Mede a taxa de rotação e o ângulo acumulado em um único eixo. Essencial para curvas precisas e controle de equilíbrio.

Ângulo± 360° (ilimitado)
Taxaaté 440 °/s
Precisão±3°
ModosÂngulo / Taxa de rotação
🔴
Sensor IR

Sensor Infravermelho

Mede distância aproximada de objetos e detecta sinais do controle remoto EV3. Opera em 3 modos distintos.

Alcance~70 cm (aprox.)
ModosProximidade / Farol / Controle Remoto
Canais IR4 canais
CompatívelControle Remoto EV3
🌡️
Compatível NXT

Sensor de Temperatura

Mede temperatura em Celsius ou Fahrenheit. Compatível com EV3 via portas de entrada. Ideal para projetos científicos e monitoramento ambiental.

Alcance-20°C a +120°C
Precisão±1°C
ModosCelsius / Fahrenheit
SondaAço inoxidável
🔊
Compatível NXT

Sensor de Som

Mede intensidade sonora em decibéis. Pode reagir a palmas, vozes e ruídos do ambiente, funcionando como ativador por som.

Faixa55 dB — 90 dB
ModosdB / dBA (ponderado)
TipoMicrofone analógico
OrigemNXT (compatível EV3)

Motores EV3

Os motores conectam-se às portas de saída (A–D) e possuem encoder rotativo integrado para leitura de posição e velocidade com precisão de 1°.

⚙️
Motor Principal

Motor Grande EV3

Motor de alto torque projetado para tracionamento e movimentos de força. Encoder rotativo integrado com resolução de 1° para controle preciso de posição.

Velocidade160–170 RPM
Torque20 N·cm
Torque máx. (stall)40 N·cm
Encoder1° por pulso
Massa76 g
PortasA, B, C ou D
Uso típicoRodas, tração, braços
🔩
Motor Compacto

Motor Médio EV3

Motor mais leve e compacto, com maior velocidade e tempo de resposta mais rápido. Ideal para mecanismos onde o espaço e a velocidade importam mais que o torque.

Velocidade240–250 RPM
Torque8 N·cm
Torque máx. (stall)12 N·cm
Encoder1° por pulso
Massa36 g
PortasA, B, C ou D
Uso típicoDireção, garras, mecanismos rápidos
🔧
Compatível NXT

Motor Interativo NXT

Motor da geração anterior (NXT), totalmente compatível com o EV3. Encoder integrado com resolução similar. Funciona em todas as portas de saída do EV3.

Velocidade~170 RPM
Torque18 N·cm
Torque máx. (stall)30 N·cm
Encoder1° por pulso
Massa73 g
PortasA, B, C ou D
Uso típicoUso geral (retrocompatível)

Portas do EV3 Brick

O Brick EV3 possui 4 portas de entrada para sensores e 4 portas de saída para motores, além de conectividade USB, Bluetooth, Wi-Fi e slot microSD.

Portas de Entrada (Sensores)

1

Sensor

2

Sensor

3

Sensor

4

Sensor

EV3

EV3 Brick

Portas de Saída (Motores)

A

Motor

B

Motor

C

Motor

D

Motor

Porta Tipo Uso Protocolo Voltagem
1 Entrada Qualquer sensor EV3/NXT IIC / UART / Analógico 4.3 V
2 Entrada Qualquer sensor EV3/NXT IIC / UART / Analógico 4.3 V
3 Entrada Qualquer sensor EV3/NXT IIC / UART / Analógico 4.3 V
4 Entrada Qualquer sensor EV3/NXT IIC / UART / Analógico 4.3 V
A Saída Motor Grande / Médio / NXT PWM + Encoder Bateria (9V)
B Saída Motor Grande / Médio / NXT PWM + Encoder Bateria (9V)
C Saída Motor Grande / Médio / NXT PWM + Encoder Bateria (9V)
D Saída Motor Grande / Médio / NXT PWM + Encoder Bateria (9V)
USB Host
Wi-Fi dongle, USB hub, 2ª brick
Bluetooth
Comunicação com PC, tablet, celular
MicroSD
Armazenamento e boot alternativo (ev3dev)
Mini USB
Conexão com PC para programação

Linguagens de Programação

O EV3 pode ser programado com diversas linguagens e ambientes, do visual por blocos ao Python avançado. Escolha o nível ideal para seu projeto.

EV3-G — EV3 Lab Software

Ambiente visual oficial da LEGO baseado no LabVIEW da National Instruments. Programação por blocos de diagrama de fluxo. Ideal para iniciantes e competições como FLL.

Oficial LEGO Visual / Blocos Iniciante
// EV3-G usa programação visual por blocos — sem código textual.
// Estrutura equivalente em pseudocódigo:

INÍCIO DO PROGRAMA
  Motor[A].Ligar(75)            // Liga Motor A a 75% de potência
  Motor[B].Ligar(75)            // Liga Motor B a 75% de potência

  ESPERAR Sensor[1].Toque.Pressionado

  Motor[A].Parar()
  Motor[B].Parar()

  LOOP:
    SE Sensor[3].Cor == VERMELHO:
      Motor[A].Girar(-75, 360)   // Vira à esquerda 1 volta
    SENÃO SE Sensor[3].Cor == VERDE:
      Motor[A].Girar(75, 360)    // Continua reto
    FIM SE
  FIM LOOP
FIM DO PROGRAMA
Sistema Operacional
Windows / macOS
Nível
Iniciante
Conexão
USB / Bluetooth / Wi-Fi
Download
education.lego.com

EV3 Classroom — App Oficial Moderno

Aplicativo gratuito mais recente da LEGO para EV3. Interface renovada com blocos Python integrado. Disponível para iPad, Android, Windows e macOS.

Oficial LEGO Blocos + Python Iniciante
# EV3 Classroom — Modo Python (embutido na interface)
from mindstorms import MSHub, Motor, MotorPair
from mindstorms.control import wait_for_seconds
from mindstorms.operator import greater_than

hub = MSHub()
motor_esq = Motor('B')
motor_dir = Motor('C')
par = MotorPair('B', 'C')

# Andar para frente por 3 segundos
par.start(50)
wait_for_seconds(3)
par.stop()

# Tocar som
hub.speaker.beep(60, 0.5)
Sistema Operacional
Windows / macOS / iOS / Android
Nível
Iniciante–Intermediário
Gratuito
Sim
Novidade
Python integrado

Scratch 3 com Extensão EV3

Ambiente visual popular do MIT com extensão oficial para EV3. Conecta via Bluetooth usando o Scratch Link. Ótimo para alunos mais jovens.

Visual / Blocos Iniciante MIT / Gratuito
// Scratch 3 — Blocos visuais (representação textual)
// Na interface real, cada linha é um bloco colorido

quando [bandeira verde] clicado
ligar motor [A v] direção [este jeito v]
ligar motor [B v] direção [este jeito v]

esperar até que <sensor de toque [1 v] pressionado?>

parar motor [A v]
parar motor [B v]

reproduzir som [Meow v] e esperar

para sempre
  se <cor do sensor [3 v] = [vermelho v]> então
    girar motor [A v] por (360) graus a (50) % de potência
  fim
fim
Sistema Operacional
Windows / macOS / ChromeOS
Nível
Iniciante (6–12 anos)
Conexão
Bluetooth + Scratch Link
Acesso
scratch.mit.edu

MicroPython — Pybricks

Firmware Pybricks substitui o firmware original LEGO com Python nativo no EV3. Código roda diretamente no hardware sem Linux. API limpa e moderna.

Python Pybricks Intermediário
#!/usr/bin/env pybricks-micropython
from pybricks.hubs import EV3Brick
from pybricks.ev3devices import Motor, TouchSensor, ColorSensor, UltrasonicSensor
from pybricks.parameters import Port, Direction, Color
from pybricks.tools import wait
from pybricks.robotics import DriveBase

# Inicializar hardware
ev3 = EV3Brick()
motor_esq = Motor(Port.B)
motor_dir = Motor(Port.C, positive_direction=Direction.COUNTERCLOCKWISE)
sensor_toque = TouchSensor(Port.S1)
sensor_cor = ColorSensor(Port.S3)
sensor_us = UltrasonicSensor(Port.S4)

# Criar robô com base de tração diferencial
robo = DriveBase(motor_esq, motor_dir, wheel_diameter=56, axle_track=114)

ev3.speaker.beep()

# Loop principal
while True:
    distancia = sensor_us.distance()
    if distancia < 200:          # menos de 20 cm
        robo.stop()
        ev3.light.on(Color.RED)
        robo.turn(90)              # Girar 90°
    else:
        robo.drive(200, 0)        # 200 mm/s, reto
        ev3.light.on(Color.GREEN)
Firmware
Pybricks (substitui LEGO OS)
Nível
Intermediário
IDE
VS Code + Extensão Pybricks
Documentação
docs.pybricks.com

Python completo — ev3dev

Sistema operacional Linux (ev3dev) instalado em cartão microSD. Python 3 completo com biblioteca ev3dev2. Acesso total ao hardware e ao sistema Linux.

Python 3 Linux / ev3dev Avançado
#!/usr/bin/env python3
# ev3dev2 — Python completo no EV3
from ev3dev2.motor import LargeMotor, MediumMotor, MoveSteering, OUTPUT_A, OUTPUT_B
from ev3dev2.sensor import INPUT_1, INPUT_2, INPUT_3, INPUT_4
from ev3dev2.sensor.lego import TouchSensor, ColorSensor, UltrasonicSensor
from ev3dev2.sound import Sound
from ev3dev2.led import Leds
import time

# Inicialização
m_dir = MoveSteering(OUTPUT_A, OUTPUT_B)
sensor_us = UltrasonicSensor(INPUT_4)
sensor_cor = ColorSensor(INPUT_3)
sound = Sound()
leds = Leds()

sensor_us.MODE_US_DIST_CM = 'US-DIST-CM'
sensor_cor.mode = 'COL-COLOR'

sound.speak('Robô iniciado')
leds.set_color('LEFT', 'GREEN')

# Seguidor de linha com threshold
THRESHOLD = 50

while True:
    luz = sensor_cor.reflected_light_intensity
    correcao = (luz - THRESHOLD) * 0.5
    m_dir.on(int(correcao), 30)
    time.sleep(0.01)
Sistema Operacional
Linux (ev3dev)
Nível
Avançado
Instalação
Cartão microSD bootável
Site
ev3dev.org

Java — leJOS EV3

Framework leJOS substitui o firmware com uma JVM Java. Permite programação orientada a objetos completa em Java. Popular em competições universitárias e robótica avançada.

Java / JVM Avançado leJOS
// leJOS EV3 — Java no hardware EV3
import lejos.hardware.motor.EV3LargeRegulatedMotor;
import lejos.hardware.port.MotorPort;
import lejos.hardware.port.SensorPort;
import lejos.hardware.sensor.EV3UltrasonicSensor;
import lejos.hardware.sensor.EV3TouchSensor;
import lejos.robotics.SampleProvider;

public class RoboEV3 {
    public static void main(String[] args) {
        EV3LargeRegulatedMotor motorA = 
            new EV3LargeRegulatedMotor(MotorPort.A);
        EV3LargeRegulatedMotor motorB = 
            new EV3LargeRegulatedMotor(MotorPort.B);
        EV3UltrasonicSensor ultrasonico = 
            new EV3UltrasonicSensor(SensorPort.S4);
        
        SampleProvider distancia = ultrasonico.getDistanceMode();
        float[] amostra = new float[distancia.sampleSize()];
        
        motorA.setSpeed(400);
        motorB.setSpeed(400);
        motorA.forward();
        motorB.forward();
        
        while (true) {
            distancia.fetchSample(amostra, 0);
            if (amostra[0] < 0.2f) { // menos de 20 cm
                motorA.stop(true);
                motorB.stop(true);
                motorA.rotate(-360);  // Recuar
                motorA.forward();
                motorB.forward();
            }
        }
    }
}
Linguagem
Java 7+
Nível
Avançado
IDE
Eclipse + Plugin leJOS
Site
lejos.sourceforge.net

C/C++ — RobotC / ev3dev

Programação de baixo nível com máxima performance. RobotC usa C proprietário da Carnegie Mellon. ev3dev também suporta C++ compilado com cross-compiler para ARM.

C / C++ Avançado RobotC / ev3dev
// RobotC — C para EV3 (competições VEX/FRC style)
// Configuração dos sensores
#pragma config(Sensor, S1, sensorToque,  sensorEV3_Touch)
#pragma config(Sensor, S3, sensorCor,   sensorEV3_Color)
#pragma config(Sensor, S4, sensorUS,    sensorEV3_Ultrasonic)
#pragma config(Motor,  motorA, motorEsq, tmotorEV3_Large, PIDControl, encoder)
#pragma config(Motor,  motorB, motorDir, tmotorEV3_Large, PIDControl, encoder)

task main() {
    // Andar para frente
    setMotorSpeed(motorEsq, 75);
    setMotorSpeed(motorDir, 75);

    // Esperar obstáculo
    while (getUSDistance(sensorUS) > 20) {
        sleep(10);
    }

    // Parar e girar
    setMotorSpeed(motorEsq, 0);
    setMotorSpeed(motorDir, 0);
    sleep(500);

    setMotorSpeed(motorEsq, -50);
    setMotorSpeed(motorDir, 50);
    sleep(800);    // Girar ~90°

    setMotorSpeed(motorEsq, 75);
    setMotorSpeed(motorDir, 75);
}
Linguagem
C (RobotC) / C++ (ev3dev)
Nível
Avançado / Especialista
IDE
RobotC IDE / VS Code
Uso
Alta performance / Competições

Comparação das Linguagens

Linguagem Tipo Nível Gratuito Sistema Melhor para
EV3-G Visual / Blocos Iniciante Sim Win / Mac Educação, FLL
EV3 Classroom Blocos + Python Iniciante Sim Win/Mac/iPad Escola, iniciantes
Scratch 3 Visual / Blocos Iniciante Sim Web Crianças 6–12 anos
MicroPython Textual Intermediário Sim Pybricks Programação Python real
Python (ev3dev) Textual Avançado Sim Linux Projetos complexos
Java (leJOS) Textual / OOP Avançado Sim leJOS JVM OOP, universidades
C/C++ Textual / Baixo nível Especialista Parcial RobotC / ev3dev Performance máxima

Competições de Robótica

As competições de robótica com EV3 desenvolvem raciocínio lógico, trabalho em equipe, programação e engenharia. Conheça as principais do mundo e do Brasil.

FIRST Lego League

A maior competição de robótica do mundo

Internacional EV3 / Spike Brasil CBTC

Competição anual com tema diferente a cada temporada. As equipes constroem um robô autônomo com LEGO e também desenvolvem um projeto de inovação social relacionado ao tema.

Idade
9 a 16 anos
Equipe
2 a 10 membros
Duração
2,5 min por partida
Nível
Regional → Nacional → Mundial

World Robot Olympiad

Olimpíada Mundial de Robótica

Internacional LEGO EV3 Múltiplas categorias

Realizada em mais de 85 países, a WRO tem categorias Regular (missões com LEGO), Open (robô criativo) e Advanced Robotics Challenge para equipes mais experientes.

Idade
8 a 25 anos
Equipe
2 a 3 membros
Categorias
Regular / Open / ARC
Nível
Estadual → Nacional → Mundial

OBR — Olimpíada Brasileira de Robótica

Principal competição nacional

Nacional Brasil LEGO EV3 Gratuita

Organizada pelo MEC e MCT, a OBR possui modalidade Prática (robô segue linha e faz missões de resgate) e Teórica (prova de conhecimentos). Classificação para a WRO.

Idade
Até 21 anos
Equipe
2 a 4 membros
Missão base
Resgate em labirinto
Inscrição
obr.org.br

RoboCup Junior

Futebol, Resgate e Dança

Internacional EV3 Compatível Até 19 anos

Divisão júnior da RoboCup mundial. As modalidades são Soccer (futebol autônomo), Rescue (resgate em arenas com vítimas) e OnStage (apresentação coreografada).

Idade
Até 19 anos
Equipe
2 a 4 membros
Modalidades
Soccer / Rescue / OnStage
Brasil
LARC / CBR

Torneio SESI / SENAI

Competições regionais brasileiras

Brasil EV3 Oficial Escolar

O SESI Robótica e os torneios do SENAI são eventos estaduais e nacionais que usam kits LEGO EV3. Participam alunos da rede pública e privada, com foco em inovação e tecnologia.

Público
Ensino Fundamental/Médio
Kit oficial
LEGO EV3
Abrangência
Estadual → Nacional
Info
sesirobótica.com.br

FIRST Lego League Explore

Versão para crianças mais novas

Internacional LEGO / WeDo Iniciante

Versão para crianças de 6 a 10 anos que usam kits LEGO Education WeDo e Spike Essential. Foco em exploração e não competição — equipes apresentam modelos construídos com tema anual.

Idade
6 a 10 anos
Equipe
2 a 6 membros
Kit
WeDo 2.0 / Spike
Formato
Expo (não competitivo)

Como Funciona a FLL (Passo a Passo)

A FIRST Lego League é a competição mais usada com EV3 no mundo. Veja como funciona cada fase desde a inscrição até o campeonato mundial.

Jornada de uma Temporada FLL
01

Inscrição e formação da equipe

Uma equipe de 2 a 10 integrantes se registra na plataforma oficial FIRST. O técnico (coach) cadastra a equipe e recebe acesso ao tema da temporada, que é revelado anualmente em agosto.

coach obrigatório kit EV3 ou Spike Prime inscrição paga
02

Estudo do tema — Innovation Project

Cada temporada tem um tema científico (ex: exploração espacial, meio ambiente, saúde). A equipe pesquisa o tema, identifica um problema real e propõe uma solução inovadora. Essa solução é apresentada para os juízes durante o evento.

pesquisa científica entrevista com especialistas proposta de solução
03

Construção e programação do robô

A equipe constrói um robô com peças LEGO EV3 (ou Spike Prime) e o programa para completar missões numa arena chamada “tapete”. O tapete muda a cada temporada e é liberado junto com o tema. Cada missão cumprida gera pontos.

tapete 2,4m × 1,2m 15–20 missões por temporada base de lançamento fixa
04

Torneio regional / classificatório

A equipe participa de um torneio local ou regional com outras equipes. Acontecem 3 rodadas de Robot Game (2,5 minutos cada), apresentação do Innovation Project, sessão de Design do Robô com juízes e avaliação dos Core Values (trabalho em equipe).

3 rodadas de jogo melhor pontuação conta 4 sessões de julgamento
05

Campeonato estadual / nacional

As equipes classificadas avançam para campeonatos estaduais e depois o nacional (no Brasil é organizado pela CBTC). O formato é o mesmo, mas com mais equipes e juízes mais exigentes.

CBTC no Brasil premiações por categoria convite para o mundial
06

Campeonato Mundial FIRST

As equipes mais bem colocadas representam o Brasil no Campeonato Mundial da FIRST, realizado nos EUA (Houston/Detroit). Centenas de equipes de mais de 110 países competem pelos prêmios máximos. Uma experiência única de intercâmbio e troca de cultura.

Houston / Detroit +110 países experiência internacional

As 4 Áreas de Avaliação da FLL

🤖
Robot Game
Pontuação das missões completadas no tapete. O robô opera de forma autônoma. Melhor das 3 rodadas é usada.
💡
Innovation Project
Pesquisa e solução inovadora para o problema do tema. Apresentada em 5 minutos para um painel de juízes especializados.
🔧
Robot Design
Avaliação do design mecânico e código do robô. Juízes verificam estratégia, programação e engenharia aplicada.
🤝
Core Values
Trabalho em equipe, respeito, gracious professionalism e inclusão. Avaliado ao longo de todo o evento pelos juízes.

Dicas para Competir bem

⚙ Estratégia de missões

Não tente fazer todas as missões do tapete. Escolha as missões com maior valor de pontos que seu robô consegue executar com consistência. Um robô que completa 8 missões com 100% de sucesso vale mais do que um que tenta 15 e erra metade.

💻 Sensor de Giroscópio é essencial

Para curvas precisas no tapete, use sempre o Sensor Giroscópio no lugar de calcular tempo. Pequenas variações de bateria afetam a velocidade dos motores e, sem o giroscópio, o robô vai errar a trajetória. Calibre o sensor antes de cada partida.

⚠ Regra de autonomia

Nas competições FLL e WRO, o robô deve operar de forma totalmente autônoma após o início. Nenhum membro da equipe pode tocar no robô durante a missão — exceto na base de lançamento entre corridas. Violações resultam em desclassificação da rodada.

🏁 Treine a consistência, não a velocidade

Um robô rápido que derruba as peças nas viragens não pontua. Prefira velocidade moderada (40–60% de potência), sensor de cor para calibrar posição e trajetórias simples e diretas. Use o encoder dos motores para controlar distâncias com precisão.

🛠 Engenharia da estrutura

Construa o robô com o mínimo de peças necessárias. Robôs mais compactos e com menor centro de gravidade têm mais estabilidade no tapete. Teste sempre os acessórios (braços, garras) após qualquer ajuste mecânico — peças LEGO afrouxam com o uso.

Calendário Típico de uma Temporada
Mês Evento O que fazer
AGO Lançamento do Tema Estudar o tema, montar equipe, inscrição oficial
SET Desenvolvimento Construção do robô, pesquisa do Innovation Project
OUT Programação e testes Programar missões, treinar estratégia no tapete
NOV Torneio Regional / Estadual Participar do torneio local, receber feedback dos juízes
DEZ–JAN Refinamento Melhorar robô e projeto com base no feedback recebido
FEV–MAR Campeonato Nacional Fase nacional (se classificado), possível vaga para o mundial
ABR–MAI 🌍 Campeonato Mundial FIRST Championship em Houston/Detroit, EUA
⚙ EV3 MINDSTORMS

Guia completo de robótica LEGO EV3 — sensores, motores, portas, linguagens de programação e competições. Criado para estudantes e entusiastas de robótica.

LEGO e MINDSTORMS são marcas registradas do Grupo LEGO. Este site é educacional e não oficial.

Rolar para cima