blog-eletrogate-logo-desktop blog-eletrogate-logo-mobile
  • Categorias
    • Voltar
    • INICIANTES
    • INTERMEDIÁRIOS
    • AVANÇADOS
    • divide
    • Automação Residencial
    • Componentes Eletrônicos
    • Impressão 3D
    • IoT
    • Modelagem 3D
    • Módulos Wifi
    • Por trás da tecnologia
    • Projetos
    • Raspberry Pi
    • Robótica
    • Sensores
    • Shields
    • Sistemas Operacionais
    • Tipos de Arduino
    • Tutoriais
  • Apostilas
  • Quem Somos
  • Seja um redator
  • Trabalhe Conosco
    • Categorias
      • Voltar
      • INICIANTES
      • INTERMEDIÁRIOS
      • AVANÇADOS
      • divide
      • Automação Residencial
      • Componentes Eletrônicos
      • Impressão 3D
      • IoT
      • Modelagem 3D
      • Módulos Wifi
      • Por trás da tecnologia
      • Projetos
      • Raspberry Pi
      • Robótica
      • Sensores
      • Shields
      • Sistemas Operacionais
      • Tipos de Arduino
      • Tutoriais
    • Apostilas
    • Quem Somos
    • Seja um redator
    • Trabalhe Conosco
Loja Eletrogate
voltar
  • Introdução
  • Vamos montar um exemplo
  • Agora vejamos a programação
  • Conclusão
  • Sobre o Autor
Sensores

Como Programar o Sensor de Inclinação SW-520D

Eletrogate 4 de maio de 2022

Introdução

Imagine, comigo, uma situação em que um carro anda normalmente em uma rua plana, sem nenhuma dificuldade. Mas, de repente, ele precisa fazer uma curva em uma rua e, depois, subir uma ladeira. Agora, imagine o que precisa acontecer com o motor do carro para conseguir subir essa ladeira… Sim, o motor precisa gerar mais torque. Não concorda? Se o motor não tiver mais potência, provavelmente não ira conseguir subir. Neste exemplo, quem reconhece a ladeira é o motorista, que percebe a inclinação e pisa no acelerador para que o carro suba. Mas, e se estivéssemos sem o motorista e o carro precisasse, então, identificar, sozinho, o momento em que precisa acelerar. É exatamente isso que nós vamos ver aqui hoje.


Vamos montar um exemplo

Agora, iremos montar um projeto simples para mostrar como isso funcionaria. Temos um módulo sensor de inclinação SW-520D, que faz o papel dos olhos do motorista. Ele reconhece quando há uma alteração no nível do solo. Agora, imagine usar este módulo em um pequeno robô que precisa andar em terrenos irregulares, por exemplo. Usar de tal sensor pode facilitar muito a confecção do seu projeto. Quer aprender a usar este módulo sensor de inclinação? Então, fique conosco até o final e eu prometo que você vai sair daqui sabendo como usar esse módulo. Este módulo é usado, principalmente, para identificar quando há subidas e descidas. Em nosso exemplo, ele identifica quando estamos subindo. Por isso, é perfeito para projetos de robótica. Com a ajuda do sensor de inclinação, podemos programar o robô, por exemplo, para ligar um motor extra ao atingir uma inclinação. Mas, claro, tudo vai depender de como a gente calibra a sensibilidade do sensor, o que a gente faz manualmente, aqui, no próprio módulo, com uma chave. Agora, o que o Arduino vai fazer com a informação que ele recebe vai depender da nossa programação e de como nós queremos usar. Nesse exemplo, nós queremos que o sistema entenda que, quando estiver em uma rampa, o motor deve ser acelerado. Para fazer a comunicação entre o sensor de inclinação e os movimentos do motor, estamos usando o Arduino Uno e uma Ponte-H. Sobre o sensor, especificamente, nós temos 3 conexões: positivo e negativo, que vão, respectivamente, no 5 V e no GND do Arduino. Além destes, temos uma terceira conexão, que deve ser ligada a uma porta digital. Veja esse esquema um pouquinho mais de perto.

Veja, conectamos o módulo à porta digital 7, mas ele pode estar em qualquer porta digital. Então, neste caso, se posicionarmos o sensor para que ele mude quando estiver na rampa de subida, ele enviará um nível lógico para o Arduino dizendo que sim, está na rampa. Também é importante posicionarmos o robô corretamente, como dissemos. Nós também temos um motor, que não é o foco desse post. Ainda assim, é importante comentar, porque não podemos ligar o motor direto ao Arduino, mas, sim, à ponte H. Devemos, também, alimentar este módulo com duas baterias 18650 em série.


Agora vejamos a programação

// DEFINIÇÕES DE PINOS
#define pinMot1A  10
#define pinMot1B  11
#define pinSensor 7
#define INTERVALO 5000
// DECLARAÇÃO DE VARIÁVEIS
unsigned long controleTempo;
int movimento;

void setup() {
  pinMode(pinMot1A, OUTPUT);
  pinMode(pinMot1B, OUTPUT);
  pinMode(pinSensor, INPUT);
}
void loop() {
  bool ladeira = !digitalRead(pinSensor); // QUANDO ESTÁ INCLINADO == false
  int velocidade = 100 + (ladeira * 150); // SE ESTIVER INCLINADO VAI SOMAR 150 NA VELOCIDADE

  switch (movimento) {
    case -2 : {} // SEM O BREAK EXECUTA O CODIGO DE BAIXO
    case 0 : {   // if ( movimento == -2 || movimento == 0) {
        // PARADO
        digitalWrite(pinMot1A, LOW );
        digitalWrite(pinMot1B, LOW );
        break;
      }
    case 1 : {
        // MOVER PARA FRENTE
        analogWrite(pinMot1A, velocidade );
        analogWrite(pinMot1B, LOW );
        break;
      }
    case -1 : {
        analogWrite(pinMot1A, LOW );
        analogWrite(pinMot1B, velocidade );
        break;
      }
  }
  if ( millis() - controleTempo > INTERVALO) { // CONTROLA A TROCA DE MOVIMENTOS
    movimento++;
    if (movimento > 1) movimento = -2;
    if (movimento == -2 || movimento == 0) controleTempo = ((millis() - INTERVALO) + 500);
    else controleTempo = millis();
  }
}

Logo no início, definimos os pinos que estão conectados à Ponte-H:

Abaixo, o pino que está conectado ao sensor:

Já no loop, ele esta lendo as informações do sensor:

E salvando na variável “ladeira”

Aqui, também temos uma variável que armazena a velocidade:


Conclusão

Agora, é com você!! Caso crie qualquer projeto, ou use esse sensor, poste e marque a Eletrogate no Instagram: @eletrogate


Sobre o Autor


Alejandro Rocha

Desde muito jovem eu me interessava por robótica e tive que aprender sozinho, hoje tento dividir meu conhecimento com outras pessoas que queiram estar entrando nesse hobby maravilhoso.


Eletrogate

4 de maio de 2022

A Eletrogate é uma loja virtual de componentes eletrônicos do Brasil e possui diversos produtos relacionados à Arduino, Automação, Robótica e Eletrônica em geral.

Componentes Eletronicos

Termistor NTC para controle de temperatura

Eletrogate26 de maio de 2022

Aprenda a medir temperatura com um Termistor NTC junto de um ESP32 utilizando a equação Steinhart-Hart para realizar o cálculo de temperatura detectada pelo termistor NTC.

Componentes Eletronicos

Termistor NTC para controle de temperatura

Eletrogate26 de maio de 2022

Aprenda a medir temperatura com um Termistor NTC junto de um ESP32 utilizando a equação Steinhart-Hart para realizar o cálculo de temperatura detectada pelo termistor NTC.

Módulos Wifi

Placa de Desenvolvimento Arduino Uno WiFi

Eletrogate24 de maio de 2022

Neste post, você conhecerá uma placa que une o melhor das baseadas em ESP8266 com o melhor da família de placas baseadas no ATmega328p: a Uno WiFi.

Módulos Wifi

Placa de Desenvolvimento Arduino Uno WiFi

Eletrogate24 de maio de 2022

Neste post, você conhecerá uma placa que une o melhor das baseadas em ESP8266 com o melhor da família de placas baseadas no ATmega328p: a Uno WiFi.

Projetos

Radar/Sonar Ultrassônico para seus Projetos

Eletrogate19 de maio de 2022

Neste projeto, iremos construir um Radar (‘Radio Detection And Ranging’) ultrassônico com a Arduino e o software Processing. Iremos usar o conhecimento em programação com o sensor ultrassônico no Arduino obtido no post “Sensor Ultrassônico HC-SR04 com Arduino”.

Projetos

Radar/Sonar Ultrassônico para seus Projetos

Eletrogate19 de maio de 2022

Neste projeto, iremos construir um Radar (‘Radio Detection And Ranging’) ultrassônico com a Arduino e o software Processing. Iremos usar o conhecimento em programação com o sensor ultrassônico no Arduino obtido no post “Sensor Ultrassônico HC-SR04 com Arduino”.

Projetos

Levitação Ultrassônica com Arduino

Eletrogate17 de maio de 2022

Não é nenhuma varinha mágica ou encantamento como “Wingardium Leviosa” que você vai precisar para esse projeto. Com um Arduino, um driver de motor ponte H e um sensor de distância ultrassônico HC-SR04 você consegue criar uma máquina capaz de fazer objetos levitarem.

Projetos

Levitação Ultrassônica com Arduino

Eletrogate17 de maio de 2022

Não é nenhuma varinha mágica ou encantamento como “Wingardium Leviosa” que você vai precisar para esse projeto. Com um Arduino, um driver de motor ponte H e um sensor de distância ultrassônico HC-SR04 você consegue criar uma máquina capaz de fazer objetos levitarem.

Eletrogate Robô

Cadastre-se e fique por
dentro de novidades!

blog-eletrogate-logo-footer

Rua Rio de Janeiro, 441 - Sala 1301
Centro - Belo Horizonte/MG
CEP 30160-041
*Não temos atendimento físico

ANWAR SLEIMAN HACHOUCHE - ME
CNPJ: 18.917.521/0001-73

Atendimento

(31) 3142-3800

contato@eletrogate.com


Seg a Sex - das 8h às 17h

Institucional

  • Apostilas
  • Quem Somos
  • Privacidade
  • Seja um Redator
  • Trabalhe Conosco

Nos acompanhe

Facebook Instagram Youtube

© ELETROGATE 2022 - Todos os direitos reservados. Termos de uso e Política de privacidade.