Plataforma Robótica Chassi 2WD com Sensor de Linha Infravermelho 4 Sondas

Aplicação e funcionamento: Carro robô inteligente 2WD para plataforma Arduino – Kit Chassi: A Plataforma Robótica Chassi 2WD é um carrinho com 3 rodas, das quais duas são tracionadas...

Aplicação e funcionamento:

Carro robô inteligente 2WD para plataforma Arduino – Kit Chassi:

A Plataforma Robótica Chassi 2WD é um carrinho com 3 rodas, das quais duas são tracionadas e estão localizadas na parte traseira e a terceira conhecida como “roda boba” encontra-se na parte dianteira, auxiliando nas voltas e serem executadas.

O Carro robô – Kit chassi é de grande utilidade para criar um carro automático ou até mesmo um veículo controlado remotamente. Produzido com matérias de qualidade, as rodas traseiras possuem aplicações em borracha, o que evita o derrapamento e diminui o atrito com o chão.

A Plataforma Robótica Chassi 2WD é constituída em acrílico e possui um compartimento pala instalação de 4 pilhas. Acompanha parafusos para a montagem das rodas, além de discos encoder para medição das rotações.

Abaixo, apresentaremos isoladamente o funcionamento de um Sensor de Linha Infravermelho 4 Sondas e de um Driver Duplo Ponte H. Ambos os objetos serão necessários para a criação do projeto de um robô seguidor de linha que logo será apresentado.

Driver Duplo Ponte H:

O Driver Duplo Ponte H é um componente eletrônico destinado ao controle de motores de passo ou DC, desde que se respeite o limite de 800mA para cada canal. A ponte H tem a função de inverter a rotação dos motores conforme a entrada do dispositivo.


Sensor de linha infravermelho 4 sondas:

O sensor de linha infravermelho é um dispositivo muito utilizado por hobbystas e estudantes para aplicação em projetos eletrônicos, especialmente carrinhos robotizados. Os sensores estarão realizando a leitura do ambiente em busca de uma linha marcada, seja ela branca ou preta e, conforme o controlador utilizado efetuará o alinhamento do carrinho com a linha.

Teste Prático:

Produtos Utilizados:

arduino-uno-r3-original-italia_1 sensor-linha

Carro robô inteligente 2WD para plataforma Arduino – Kit Chassi

Sensor de Linha Infravermelho 4 Sondas

Driver Duplo Ponte H de motor DC ou Passo – L9110S

Arduino UNO

Protoboard 830 pontos

Jumpers

Montagem Física:

Com todos os itens supramencionados em mãos, daremos início à montagem do projeto. É necessário utilizar algum tipo de bateria, no nosso caso utilizamos o suporte de pilhas que vem acompanhado do carrinho, juntamente com 4 pilhas recarregáveis.

Importante lembrar que após todas as ligações feitas você deve calibrar cada sensor até que detecte o caminho corretamente. Devemos fixar os sensores na parte frontal do carrinho com o intuito que ele verifique a linha e ser seguida. Siga as ligações conforme a imagem abaixo:
plataforma_robotica

Funcionamento do Programa:

Neste código temos uma lógica um pouco mais complexa devido à necessidade de fazer a leitura dos sensores. Por meio de constantes varreduras e conforme o resultado obtido o sistema acionará o motor da direita ou da esquerda, com a finalidade de seguir a linha demarcada.

Download do Programa para teste

// Módulo seguidor de linha;
// Código carrinho seguidor de linha.
 
int UT1 = 12;
int UT2 = 11;
int UT3 = 10;
int UT4 = 9;
 
int B1B = 7;
int B1A = 6;
int A1B = 5;
int A1A = 4;
 
int Sensor1 = 0;
int Sensor2 = 0;
int Sensor3 = 0;
int Sensor4 = 0;
 
void setup() {
 pinMode(UT1, INPUT);
 pinMode(UT2, INPUT);
 pinMode(UT3, INPUT);
 pinMode(UT4, INPUT);
 
 pinMode(B1B, OUTPUT);
 pinMode(B1A, OUTPUT);
 pinMode(A1B, OUTPUT);
 pinMode(A1A, OUTPUT);
 
}
void loop() {
 ler();
 
 if(Sensor1==1) {
 MotorDireita();
 }
 
 if(Sensor2==1) {
 MotorDireita();
 }
 
 if(Sensor3==1) {
 MotorEsquerda();
 }
 
 if(Sensor4==1) {
 MotorEsquerda();
 }
 if((Sensor1==0) && (Sensor2==0) && (Sensor3==0) && (Sensor4==0)) {
 MotorFrente();
 }
 if((Sensor1==1) && (Sensor2==1) && (Sensor3==1) && (Sensor4==1)) {
 MotorParar();
 delay(1000);
 }
 delay(2);
}
 
void ler() {
 Sensor1 = digitalRead(UT1);
 Sensor2 = digitalRead(UT2);
 Sensor3 = digitalRead(UT3);
 Sensor4 = digitalRead(UT4);
 return;
}
 
void MotorDireita() {
 digitalWrite(B1B, HIGH);
 digitalWrite(A1A, LOW); 
 digitalWrite(A1B, LOW);
 digitalWrite(B1A, LOW);
 delay(5);
}
 
void MotorEsquerda() {
 digitalWrite(A1B, HIGH);
 digitalWrite(B1A, LOW);
 digitalWrite(B1B, LOW);
 digitalWrite(A1A, LOW); 
 delay(5);
}
 
void MotorFrente() {
 digitalWrite(B1A, LOW);
 digitalWrite(A1A, LOW); 
 
 analogWrite(A1B, 180);
 analogWrite(B1B, 180);
 }
 
void MotorParar() {
 digitalWrite(A1B, LOW);
 digitalWrite(B1B, LOW);
 digitalWrite(B1A, LOW);
 digitalWrite(A1A, LOW); 
 delay(5);
}

Conclusões:

O Carro robô inteligente 2WD é o dispositivo ideal para estudantes, hobbystas, desenvolvedores, entre outros. Ele é um kit Chassi muito prático, não exigindo necessidade de adaptações para motores e rodas. O funcionamento dos Sensores e do Driver foram muito satisfatórios, pois cumpriram exatamente os comandos e funções ordenados. A partir de agora é com você, desperte sua criatividade e construa o que imaginar!

Autor: Leonardo Dalla Porta

 

Categorias
Arduino
14 Número de Comentários
  • Gabriel
    15 junho 2016 at 17:59
    Enviar Resposta

    Olá. O meu está dando o seguinte erro:

    Arduino: 1.6.8 (Windows 7), Placa:”Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)”

    C:\Users\Gabriel\Documents\Arduino\sketch_jun15a\sketch_jun15a.ino: In function ‘void loop()’:

    sketch_jun15a:49: error: ‘amp’ was not declared in this scope

    if((Sensor1==0) && (Sensor2==0) && (Sensor3==0) && (Sensor4==0)) {

    ^

    sketch_jun15a:49: error: expected ‘)’ before ‘;’ token

    if((Sensor1==0) && (Sensor2==0) && (Sensor3==0) && (Sensor4==0)) {

    ^

    sketch_jun15a:49: error: ‘amp’ was not declared in this scope

    if((Sensor1==0) && (Sensor2==0) && (Sensor3==0) && (Sensor4==0)) {

    ^

    sketch_jun15a:49: error: expected ‘;’ before ‘)’ token

    if((Sensor1==0) && (Sensor2==0) && (Sensor3==0) && (Sensor4==0)) {

    ^

    sketch_jun15a:52: error: expected ‘)’ before ‘;’ token

    if((Sensor1==1) && (Sensor2==1) && (Sensor3==1) && (Sensor4==1)) {

    ^

    sketch_jun15a:52: error: expected ‘;’ before ‘)’ token

    if((Sensor1==1) && (Sensor2==1) && (Sensor3==1) && (Sensor4==1)) {

    ^

    exit status 1
    ‘amp’ was not declared in this scope

    Biblioteca inválida encontrada em C:\Users\Gabriel\Documents\Arduino\libraries\examples: C:\Users\Gabriel\Documents\Arduino\libraries\examples

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.

    • Ana Paula de Oliveira
      15 junho 2016 at 18:41
      Enviar Resposta

      Olá Gabriel, nosso código estava com erro, já corrigimos a falha.
      Peço que tente novamente.
      Qualquer dúvida estamos a disposição.
      Equipe Usinainfo

  • Heike
    4 fevereiro 2018 at 00:58
    Enviar Resposta

    Como faço para no lugar da Ponte h eu usar o motor shield seria a mesma coisa?e se eu adaptar um sensor utrasonico para desviar o obstáculo?poderia mandar o código obrigatório ❤

    • Equipe Usinainfo
      7 fevereiro 2018 at 16:23
      Enviar Resposta

      A adaptação desejada pode ser realizada sem problema, porém vale observar que os pinos podem não ser os mesmos e será necessário, desta forma, uma alteração física e de código para o perfeito funcionamento do projeto.

  • Carlos
    27 maio 2018 at 11:53
    Enviar Resposta

    posso usar outro modelo de ponte H?

    • Equipe Usinainfo
      30 maio 2018 at 12:54
      Enviar Resposta

      Bom dia Carlos!
      Sim, outros modelos de Ponte H podem ser utilizados, porém vale ficar de olho nos esquemas de conexão e utilização de cada modelo.

  • DENNY
    5 agosto 2018 at 16:03
    Enviar Resposta

    eu posso usar 4 sensores tcrt5000 no lugar desses ai?

    • Equipe Usinainfo
      17 setembro 2018 at 19:55
      Enviar Resposta

      Podem sim ser utilizados outros equipamentos infravermelho, porém vale ressaltar que a alteração física do projeto traz consigo a necessidade de uma alteração no software também, como bibliotecas e variáveis específicas.

  • ROBERTO
    22 outubro 2018 at 16:34
    Enviar Resposta

    Boa tarde!! Comprei esse sensor seguidor de linha com 4 sensores, porém não estou conseguindo acertar a calibragem dos 4 ao mesmo tempo. Ou seja, os 4 ligados ou os 4 desligados. Existe algum macete para acertar essa calibragem? Obrigado!!

    • Equipe Usinainfo
      29 novembro 2018 at 13:08
      Enviar Resposta

      Olá Roberto!
      Esta questão não depende apenas de calibragem, o problema pode estar no código ou na ligação dos módulo, verificou isto? Outro problema que pode estar ocorrendo é quanto a distância que os mesmos estão instalados no solo, esta distância é a mesma para os 4 sensores? Verifique através de um celular se os LEDs infravermelhos estão todos em funcionamento e verifique a distância de detecção do seu módulo.

  • Fabio
    17 dezembro 2018 at 00:44
    Enviar Resposta

    Muito bom o projeto.

    Estou elaborando um TCC e gostaria de utilizar esse projeto, porém gostaria de adicionar um sensor ultrassônico para os motores pararem quando se tem um obstáculo.

    Poderia me ajudar a desenvolver a programação ? Como incluir isso nessa programação.

    • Equipe Usinainfo
      25 janeiro 2019 at 13:27
      Enviar Resposta

      Bom Dia Fabio!
      Infelizmente não temos um código pronto com esta função, porém as funções e variáveis do sensor ultrassônico podem ser facilmente encontradas no artigo “ALARME COM ARDUINO E SENSOR ULTRASSÔNICO – PROJETO PÁSCOA SEGURA!“, com isto basta adaptar o seu código de forma que se torne compatível com o que deseja.

    Enviar Resposta

    *

    *

    Sobre nós

    Hoje a Usinainfo é um dos maiores ecommerces de Ferramentas, Peças para Eletrônica, Componentes Eletrônicos, Sensores e Arduino do Brasil, contando com uma grande diversidade de produtos na linha de eletrônica.

    Sugestões

    Artigos Relacionados