Como Fazer um Carro Autônomo Usando Sensores e Placas de Circuito: Projeto para Iniciantes

A tecnologia dos veículos autônomos está revolucionando o mundo, desde carros inteligentes até robôs automatizados em fábricas. Mas você sabia que é possível construir um carro autônomo simples em casa, usando sensores e placas de circuito? Neste artigo, vamos guiá-lo por um projeto acessível e didático para criar seu próprio mini carro autônomo, ideal para iniciantes que querem aprender mais sobre eletrônica e programação.

Por que aprender sobre robótica e automação?


A robótica e a automação são áreas fundamentais dentro do aprendizado STEM (Ciência, Tecnologia, Engenharia e Matemática). Projetos práticos como este ajudam a desenvolver habilidades essenciais, como:

✅ Raciocínio lógico e programação – Escrever código para controlar o carro melhora o pensamento computacional.
✅ Conhecimento em eletrônica – Montar circuitos e sensores ensina os princípios básicos da eletricidade e da automação.
✅ Resolução de problemas – Testar e ajustar o funcionamento do carro incentiva a criatividade e a análise de erros.
✅ Aprendizado prático e divertido – Construir um robô real é muito mais envolvente do que apenas estudar teoria.

Se você já teve curiosidade sobre como funcionam os veículos autônomos ou quer dar os primeiros passos na robótica, este projeto é um excelente começo!


Ao longo deste guia, você verá:

Quais materiais e componentes são necessários para o projeto.
Como montar a estrutura e os circuitos do carro.
Como programá-lo para detectar obstáculos e se movimentar sozinho.
Como testar, ajustar e até melhorar o projeto com novas funcionalidades.
Prepare-se para embarcar nessa jornada e construir seu próprio carro autônomo de maneira simples e divertida!

Materiais Necessários


Antes de começarmos a montagem do carro autônomo, é essencial reunir todos os materiais e componentes necessários para o projeto. Felizmente, os itens são relativamente acessíveis e fáceis de encontrar em lojas de eletrônica ou online.

Lista de Componentes Principais
Aqui estão os principais componentes que você precisará:

Microcontrolador (Arduino ou Raspberry Pi)
O cérebro do carro! Ele será responsável por processar os sinais dos sensores e controlar os motores. Você pode escolher entre:

Arduino Uno ou Nano – Ideal para iniciantes, fácil de programar e econômico.
Raspberry Pi – Mais avançado, permite programação em Python e até visão computacional.
Para este projeto, o Arduino Uno é a melhor opção para quem está começando.

Sensores (Ultrassônicos, Infravermelhos, etc.)
Os sensores permitem que o carro “enxergue” o ambiente e evite obstáculos. Os mais utilizados são:

Sensor Ultrassônico HC-SR04 – Mede distâncias e ajuda a detectar objetos à frente.
Sensor Infravermelho – Pode ser usado para detectar linhas no chão (caso queira fazer um carro seguidor de linha).
Motores e Driver de Motor
Para mover o carro, precisamos de motores e um controlador para eles:

Motores DC – Motores de corrente contínua comuns em projetos de robótica.
Servo Motores – Úteis para movimentar sensores ou outras partes do carro.
Módulo L298N – Um driver de motor que permite controlar a rotação e velocidade dos motores.
Bateria e Fonte de Alimentação
O carro precisa de uma fonte de energia para funcionar:

Baterias recarregáveis (Li-ion ou pack de 9V) – Fornecem energia para o Arduino e motores.
Módulo regulador de tensão – Para evitar que a bateria forneça mais voltagem do que o necessário.
Estrutura do Carro (Chassi, Rodas)
A parte mecânica do carro inclui:

Chassi de acrílico ou MDF – A base onde os componentes serão montados.
Rodas e suportes – Para permitir o movimento adequado do carro.
Rodízio livre (Roda boba) – Pequena roda na parte traseira que dá estabilidade ao veículo.
Fios e Protoboard
Para conectar os componentes, você precisará de:

Protoboard – Facilita a montagem dos circuitos sem precisar soldar.
Fios jumper e conectores – Para interligar sensores, motores e microcontrolador.
Ferramentas Recomendadas
Além dos componentes eletrônicos, algumas ferramentas ajudam na montagem:

Ferro de solda e estanho – Para conexões mais firmes (opcional).
Chave de fenda e alicates – Para fixar peças e ajustar componentes.
Multímetro – Para medir voltagem e verificar conexões elétricas.
Com esses materiais em mãos, você estará pronto para começar a construção do seu carro autônomo! No próximo passo, veremos como tudo isso se conecta para dar vida ao projeto.

Como Funciona um Carro Autônomo Simples


Os carros autônomos modernos utilizam sensores avançados, inteligência artificial e algoritmos sofisticados para navegar com segurança. No entanto, a lógica básica por trás desses veículos pode ser replicada em projetos mais simples, como o que vamos construir. Vamos entender como isso funciona!

Sensores e Navegação Autônoma
Para que um carro autônomo se mova sozinho e evite obstáculos, ele precisa de “olhos” para enxergar o ambiente ao redor. Esses olhos são os sensores, que captam informações do meio externo e enviam para o microcontrolador processar.

Os sensores mais comuns para navegação são:

🔹 Sensores ultrassônicos – Medem a distância até objetos à frente. Quando um obstáculo é detectado, o carro pode parar ou desviar.
🔹 Sensores infravermelhos – Identificam superfícies e podem ser usados para seguir linhas, como em um robô seguidor de trilhas.

Com esses sensores, o carro pode “tomar decisões”, como evitar colisões ou seguir um caminho específico.

Como os Sensores Detectam Obstáculos?


O funcionamento do sensor ultrassônico HC-SR04, um dos mais usados nesse tipo de projeto, é bem simples:

1️⃣ Ele emite um sinal de ultrassom (imperceptível ao ouvido humano).
2️⃣ Esse sinal bate em um obstáculo e reflete de volta para o sensor.
3️⃣ O sensor mede o tempo que o sinal levou para ir e voltar.
4️⃣ Com essa informação, o microcontrolador calcula a distância do obstáculo e decide o que fazer.

Se a distância for muito pequena (por exemplo, menos de 10 cm), o código pode instruir o carro a parar ou virar para evitar uma colisão.

O Papel do Código na Movimentação do Carro


O microcontrolador (Arduino ou Raspberry Pi) é o cérebro do carro. Ele recebe as informações dos sensores e usa um código para decidir como o carro deve se movimentar.

O código segue uma lógica simples:

Se não houver obstáculo à frente → o carro segue em linha reta.
Se detectar um obstáculo perto → o carro para e procura um caminho livre.
Se um lado estiver livre → o carro vira na direção sem obstáculos.
Aqui está um exemplo básico de código para um carro com Arduino e sensor ultrassônico:

cpp
Copiar
Editar
const int trigPin = 9;
const int echoPin = 10;
const int motorEsq = 5;
const int motorDir = 6;

void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(motorEsq, OUTPUT);
pinMode(motorDir, OUTPUT);
Serial.begin(9600);
}

void loop() {
long duration;
int distance;

digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);

duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2; // Converte tempo em distância

Serial.println(distance);

if (distance > 10) {
digitalWrite(motorEsq, HIGH);
digitalWrite(motorDir, HIGH);
} else {
digitalWrite(motorEsq, LOW);
digitalWrite(motorDir, LOW);
delay(500);
digitalWrite(motorEsq, HIGH); // Faz o carro virar para evitar obstáculo
}

delay(100);
}
Esse código faz o seguinte:

✅ Mede a distância até o obstáculo.
✅ Se não houver nada perto, o carro segue em frente.
✅ Se detectar um objeto muito próximo, o carro para e desvia.

Com essa lógica simples, conseguimos criar um sistema básico de navegação autônoma. No próximo passo, veremos como montar o carro na prática!

Montagem do Carro


Agora que já entendemos os conceitos básicos e reunimos todos os materiais, chegou a hora de montar nosso carro autônomo! Nesta seção, você aprenderá o passo a passo para montar a estrutura, conectar os motores e sensores, e organizar os fios para garantir um funcionamento eficiente.

Passo 1: Montando o Chassi e os Motores
O chassi é a estrutura do carro, onde serão fixados os motores, rodas e demais componentes. Você pode usar um chassi de acrílico, MDF ou até construir um de papelão para projetos experimentais.

1️⃣ Fixe os motores

Se estiver usando motores DC com caixa de redução, fixe-os nas laterais do chassi usando parafusos ou fita dupla face resistente.
Deixe espaço suficiente para as rodas girarem livremente.
2️⃣ Instale as rodas e a roda boba

Encaixe as rodas nos motores e certifique-se de que giram suavemente.
Fixe uma roda boba (rodízio livre) na parte traseira para dar estabilidade ao carro.
Passo 2: Conectando os Sensores e o Microcontrolador
Agora que o chassi está pronto, vamos conectar os sensores e o microcontrolador (Arduino ou Raspberry Pi).

🔹 Instale o sensor ultrassônico HC-SR04 na parte frontal do carro, apontando para frente. Isso permitirá que o carro detecte obstáculos no caminho.
🔹 Fixe a placa do Arduino no chassi usando fita dupla face ou suportes parafusados.
🔹 Conecte os sensores ao Arduino, seguindo este esquema:

Componente Pino no Arduino
Trigger (TRIG) do sensor ultrassônico Pino digital 9
Echo (ECHO) do sensor ultrassônico Pino digital 10
Motores (via Driver L298N) Pinos 5 e 6
Passo 3: Ligação dos Motores ao Driver L298N
Os motores não podem ser ligados diretamente ao Arduino, pois ele não fornece corrente suficiente. Para isso, usamos um módulo Driver L298N, que controla a velocidade e a direção dos motores.

1️⃣ Conecte os terminais dos motores às saídas do L298N (OUT1, OUT2, OUT3 e OUT4).
2️⃣ Ligue a alimentação da bateria (ou pilhas) aos pinos VCC e GND do driver.
3️⃣ Conecte os pinos de controle do driver ao Arduino:

Pino L298N Pino no Arduino
IN1 5
IN2 6
IN3 7
IN4 8
Isso permitirá que o Arduino envie comandos para controlar os motores.

Passo 4: Organização dos Fios e Estabilidade da Estrutura
Para garantir que o carro funcione corretamente e os componentes fiquem bem fixos, siga estas dicas:

✅ Use fita isolante ou abraçadeiras plásticas para prender os fios e evitar que fiquem soltos.
✅ Fixe a bateria e o driver de motor no chassi para evitar que se movam durante o funcionamento.
✅ Evite sobrecarregar o chassi com muitos componentes pesados, pois isso pode dificultar a movimentação do carro.

Com tudo montado e bem organizado, seu carro autônomo já está pronto para ser programado! No próximo passo, vamos inserir o código e testar o funcionamento.

Programação do Carro


Com a montagem do carro completa, agora é hora de dar vida a ele através da programação! Nesta seção, vamos explorar como escrever um código simples para que o carro detecte obstáculos e se mova automaticamente.

Escolhendo a Linguagem de Programação


Se você está usando um Arduino, a programação será feita na linguagem C/C++, através da IDE do Arduino. Caso tenha optado pelo Raspberry Pi, você pode usar Python para controlar os motores e sensores. Neste tutorial, vamos focar no Arduino, pois é mais simples para iniciantes.

Código-Fonte para o Carro Autônomo (Arduino)


Aqui está um exemplo básico de código para que o carro se mova para frente e desvie de obstáculos usando um sensor ultrassônico e um driver de motor L298N:

cpp
Copiar
Editar
// Definição dos pinos do sensor ultrassônico
const int trigPin = 9;
const int echoPin = 10;

// Definição dos pinos do driver de motor L298N
const int motorEsq1 = 5;
const int motorEsq2 = 6;
const int motorDir1 = 7;
const int motorDir2 = 8;

void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);

pinMode(motorEsq1, OUTPUT);
pinMode(motorEsq2, OUTPUT);
pinMode(motorDir1, OUTPUT);
pinMode(motorDir2, OUTPUT);

Serial.begin(9600); // Para monitoramento via Serial
}

void loop() {
long duration;
int distance;

// Emite o sinal do sensor ultrassônico
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);

// Mede o tempo de retorno do sinal
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2; // Converte tempo em distância

Serial.println(distance); // Exibe a distância no monitor serial

// Lógica para evitar obstáculos
if (distance > 15) {
moverFrente();
} else {
parar();
delay(500);
virarDireita();
delay(700);
}

delay(100);
}

// Função para mover o carro para frente
void moverFrente() {
digitalWrite(motorEsq1, HIGH);
digitalWrite(motorEsq2, LOW);
digitalWrite(motorDir1, HIGH);
digitalWrite(motorDir2, LOW);
}

// Função para virar à direita
void virarDireita() {
digitalWrite(motorEsq1, HIGH);
digitalWrite(motorEsq2, LOW);
digitalWrite(motorDir1, LOW);
digitalWrite(motorDir2, HIGH);
}

// Função para parar o carro
void parar() {
digitalWrite(motorEsq1, LOW);
digitalWrite(motorEsq2, LOW);
digitalWrite(motorDir1, LOW);
digitalWrite(motorDir2, LOW);
}


Explicação das Principais Funções do Código


✅ Leitura do Sensor Ultrassônico
O sensor ultrassônico HC-SR04 mede a distância até um obstáculo através do tempo que o som leva para ir e voltar. A conversão para centímetros é feita pela fórmula:

cpp
Copiar
Editar
distance = duration * 0.034 / 2;
✅ Movimentação do Carro
O carro se movimenta de acordo com os comandos enviados ao Driver de Motor L298N, que ativa os motores conforme as funções definidas:

moverFrente() → Faz o carro seguir em linha reta.
virarDireita() → Faz o carro girar para a direita ao desligar um dos motores.
parar() → Para completamente o movimento do carro.
✅ Decisão de Movimento

Se não houver obstáculos próximos (distância maior que 15 cm), o carro segue em frente.
Se houver um obstáculo, o carro para, espera um momento e faz uma curva para a direita para tentar evitar o objeto.
Como Testar e Ajustar o Funcionamento do Carro?
Após carregar o código no Arduino, siga estas etapas para testar o funcionamento:

1️⃣ Ligue o carro e observe a movimentação. Ele deve seguir em frente quando não houver obstáculos e desviar quando encontrar um objeto.
2️⃣ Use o monitor serial da IDE do Arduino para verificar se o sensor está medindo corretamente as distâncias.
3️⃣ Ajuste os valores da distância mínima para desviar. Se o carro estiver colidindo com objetos antes de desviar, tente aumentar o valor do limite, por exemplo, de 15 cm para 20 cm.
4️⃣ Se o carro não estiver girando corretamente, aumente ou diminua o tempo de rotação na função virarDireita().
5️⃣ Verifique as conexões dos motores e sensores. Se o carro não se mover, pode haver problemas na fiação.


Agora que o carro está funcionando, você pode fazer melhorias, como:

Adicionar sensores infravermelhos para criar um seguidor de linha.
Incluir controle remoto via Bluetooth para movimentação manual.
Usar inteligência artificial (com Raspberry Pi) para decisões mais avançadas.

Com isso, você completou seu primeiro carro autônomo! No próximo passo, vamos testar o desempenho e fazer ajustes finais.

Testes e Ajustes


Agora que o carro autônomo está montado e programado, é hora de testá-lo e fazer os ajustes necessários para garantir um bom desempenho. Neste passo, vamos verificar se os motores e sensores estão funcionando corretamente, identificar problemas comuns e otimizar o código para melhorar a movimentação do carro.

Testando a Movimentação do Carro


Antes de testar o carro em um ambiente maior, siga estas etapas iniciais para garantir que tudo está funcionando corretamente:

1️⃣ Coloque o carro sobre uma superfície plana e sem obstáculos.
2️⃣ Ligue a alimentação (bateria ou fonte externa).
3️⃣ Observe a movimentação:

O carro deve começar a se mover para frente se não houver obstáculos próximos.
Ao detectar um obstáculo, ele deve parar e tentar desviar.
Se o carro não se mover ou apresentar comportamentos estranhos, siga para a seção de problemas comuns abaixo.

Testando a Detecção de Obstáculos


1️⃣ Use o Monitor Serial da IDE do Arduino

Conecte o Arduino ao computador e abra o Monitor Serial na IDE do Arduino.
O sensor ultrassônico deve exibir valores de distância em centímetros.
Se os valores estiverem inconsistentes ou sempre mostrando “0”, pode haver problemas na fiação ou no sensor.
2️⃣ Aproxime um objeto do sensor ultrassônico

O carro deve reagir e parar quando o objeto estiver próximo.
Se o carro não parar, verifique se os pinos do sensor estão corretamente conectados ao Arduino.
3️⃣ Teste em diferentes ambientes

Algumas superfícies podem não refletir bem o som do sensor ultrassônico. Tente testar com objetos de diferentes materiais.
Problemas Comuns e Como Resolvê-los
🔹 O carro não se move
✅ Verifique se a bateria está carregada.
✅ Confirme se os motores estão corretamente conectados ao driver de motor.
✅ Teste os motores individualmente ligando-os diretamente à alimentação.

🔹 O carro não detecta obstáculos
✅ Verifique as conexões do sensor ultrassônico.
✅ Use o Monitor Serial para ver se o sensor está lendo corretamente as distâncias.
✅ Teste com outro sensor caso o problema persista.

🔹 O carro gira aleatoriamente sem motivo
✅ Pode ser um problema na leitura dos sensores. Experimente aumentar o tempo de leitura do sensor ultrassônico.
✅ Ajuste os tempos das funções de curva no código para melhorar a movimentação.

Ajustes no Código para Melhor Desempenho


Se o carro estiver funcionando, mas não de forma ideal, podemos melhorar o código para um desempenho mais eficiente.

✅ Ajuste a sensibilidade da detecção de obstáculos
Se o carro estiver batendo em objetos antes de parar, aumente o limite de detecção no código:

cpp
Copiar
Editar
if (distance > 20) { // Aumentado de 15 cm para 20 cm
moverFrente();
} else {
parar();
delay(500);
virarDireita();
delay(700);
}
✅ Melhore a rotação ao desviar
Se o carro estiver demorando muito ou girando demais, ajuste o tempo da função virarDireita().

cpp
Copiar
Editar
delay(500); // Reduza ou aumente o valor para melhorar o giro
✅ Reduza oscilações no sensor ultrassônico
Se o sensor estiver detectando obstáculos de forma inconsistente, tente filtrar leituras irregulares usando uma média simples:

cpp
Copiar
Editar
int medirDistancia() {
long soma = 0;
for (int i = 0; i < 5; i++) { // Faz 5 medições e tira a média
soma += medirUmaVez();
delay(10);
}
return soma / 5;
}
Com esses ajustes, seu carro ficará mais estável e eficiente!


Após os testes e ajustes, seu carro autônomo estará pronto para ser usado e aprimorado. Agora você pode explorar novos desafios, como:

Adicionar sensores extras para mais precisão.
Controlar o carro via Bluetooth com um aplicativo no celular.
Criar um percurso e fazer o carro seguir uma rota específica.

Com esse projeto, você deu os primeiros passos no mundo da robótica e automação. Continue explorando e inovando!

Possíveis Melhorias e Expansões
Agora que seu carro autônomo simples está funcionando, que tal levá-lo para o próximo nível? Há diversas melhorias e expansões que você pode implementar para tornar o projeto mais sofisticado. Desde a adição de sensores mais avançados até a integração de inteligência artificial, as possibilidades são infinitas!

1️⃣ Adição de Sensores Mais Avançados
O sensor ultrassônico é um ótimo ponto de partida, mas existem tecnologias mais avançadas que podem aumentar a precisão e a eficiência do carro autônomo.

LIDAR (Light Detection and Ranging)

Usa feixes de laser para mapear o ambiente em 360°.
Permite navegação mais precisa e evita obstáculos em qualquer direção.
Pode ser encontrado em versões mais acessíveis, como o LIDAR TFmini.
Câmeras e Visão Computacional

Sensores como o Pixy2 podem reconhecer cores e objetos.
Usando um Raspberry Pi com OpenCV, o carro pode detectar placas, sinais e obstáculos com mais detalhes.
Com deep learning, ele pode até aprender a reconhecer padrões e melhorar a navegação.
Sensores Infravermelhos (IR) para Linha Seguidora

Permitem que o carro siga uma linha desenhada no chão.
Muito utilizado em competições de robótica.
Pode ser combinado com sensores ultrassônicos para um carro híbrido (desvia de obstáculos e segue a linha).
2️⃣ Implementação de Inteligência Artificial
Se você deseja transformar seu carro autônomo em um projeto mais avançado, pode integrar algoritmos de inteligência artificial para tornar a tomada de decisão mais sofisticada.

Machine Learning para Navegação

Usando redes neurais e aprendizado de máquina, o carro pode aprender com as experiências anteriores e melhorar seu trajeto.
O TensorFlow Lite, rodando em um Raspberry Pi, pode ser usado para detecção de objetos e reconhecimento de padrões.
Mapeamento e Localização (SLAM – Simultaneous Localization and Mapping)

Combinando LIDAR e câmeras, o carro pode criar mapas do ambiente em tempo real.
Projetos como o ROS (Robot Operating System) facilitam essa implementação.
3️⃣ Controle Remoto via Aplicativo ou Wi-Fi
Em vez de um carro totalmente autônomo, você pode adicionar um modo de controle manual via smartphone ou computador.

Controle Bluetooth com Aplicativo

Um módulo HC-05 Bluetooth permite conectar o carro a um aplicativo no celular.
Você pode programar um app no MIT App Inventor ou usar o Arduino Bluetooth Controller disponível na Play Store.
Controle via Wi-Fi com ESP8266/ESP32

Com um ESP8266 ou ESP32, seu carro pode ser controlado via internet.
Pode-se criar um dashboard online para monitorar a movimentação em tempo real.
Integração com Controle de Videogame

Usando um módulo NRF24L01, é possível controlar o carro com um controle de videogame sem fio.
Alternativamente, você pode conectar um controle de PS4 ou Xbox via Bluetooth.

Essas melhorias abrem um universo de possibilidades para expandir seu projeto! Dependendo do nível de complexidade que deseja alcançar, você pode transformar seu carro autônomo em uma plataforma avançada de aprendizado em robótica e inteligência artificial.

Qual será seu próximo passo? Você pode começar adicionando sensores extras, explorando inteligência artificial ou criando um sistema de controle remoto. O importante é continuar aprendendo e se desafiando!

Construir um carro autônomo usando sensores e placas de circuito é um excelente ponto de partida para aprender sobre robótica, eletrônica e programação. Ao longo deste projeto, exploramos desde a montagem física até a programação e os testes, além de possíveis melhorias para torná-lo ainda mais sofisticado.

Benefícios de Construir um Carro Autônomo


Aprendizado Prático em STEM – Esse projeto envolve conceitos de ciência, tecnologia, engenharia e matemática, tornando o aprendizado mais dinâmico e aplicado.

Introdução à Robótica e Automação – Você conheceu como sensores, motores e código interagem para criar um sistema autônomo, algo essencial para quem deseja se aprofundar em inteligência artificial e veículos autônomos reais.

Desenvolvimento de Habilidades Técnicas – Ao montar o carro e resolver problemas, você aprimorou suas habilidades em eletrônica, programação e depuração de código.

Criatividade e Inovação – Além do modelo básico, o projeto pode ser expandido com melhorias, como sensores mais avançados, controle remoto e algoritmos inteligentes.


Se você chegou até aqui, parabéns! Você deu um grande passo no mundo da robótica e automação. Mas esse é apenas o começo! Aqui estão algumas ideias para continuar sua jornada:

✅ Criar um seguidor de linha usando sensores infravermelhos.
✅ Integrar uma câmera e programar visão computacional com OpenCV.
✅ Desenvolver um robô que toma decisões baseadas em inteligência artificial.
✅ Explorar o controle remoto via Bluetooth ou Wi-Fi.

A robótica e a automação são áreas fascinantes e cheias de oportunidades. Com cada novo projeto, você estará desenvolvendo habilidades valiosas para o futuro, seja para estudo, competições ou até mesmo inovação no mercado.

Continue experimentando, criando e explorando! O próximo grande projeto está esperando por você.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *