top of page

Medindo Distancias com o P12 – Sensor de Obstaculos

“Extraído do Livro Arduino Simples e Divertido com autorização dos autores”. Escrito por: Cláudio Vieira Oliveira e Humberto Zanetti

SENSOR DE DISTÂNCIA

Neste projeto vamos utilizar os módulos P12 – Sensor de Obstáculos e PL2 – First Robot (ou P21 – Semáforo) para desenvolver um sensor de distância bastante simples.

O módulo P12 – Sensor de Obstáculos deverá ser conectado ao Arduino da seguinte maneira:

  1. Pino 5+ do P12 ao pino 5V do Arduino;

  2. Pino GND do P12 a um dos pinos GND do Arduino;

  3. Pino A0 do Arduino ao pino A0 do P12;

  4. GND do P21 a qualquer pino GND do Arduino;

  5. Led1 do P21 ao pino 11 do Arduino;

  6. Led2 do P21 ao pino 10 do Arduino;

  7. Led3 do P21 ao pino 9 do Arduino.

Em seguida, entre no ambiente de desenvolvimento do Arduino e digite o seguinte programa.

// Sensor de distância

int VERM = 11; // LED Vermelho

int AMAR = 10; // LED Amarelo

int VERD = 9; // LED Verde

int SENSOR = A0;

int valor;

void setup() {

Serial.begin(9600);

pinMode(VERM, OUTPUT);

pinMode(AMAR, OUTPUT);

pinMode(VERD, OUTPUT);

}

void loop() {

// Obter o valor do sensor (entre 0 e 1023)

valor = analogRead(SENSOR);

Serial.print(“Valor: “);

Serial.println(valor);

int distancia = map(valor, 0, 1023, 0, 4);

switch (distancia) {

case 0:

digitalWrite(VERM, HIGH);

digitalWrite(AMAR, LOW);

digitalWrite(VERD, LOW);

break;

case 1:

digitalWrite(VERM, LOW);

digitalWrite(AMAR, HIGH);

digitalWrite(VERD, LOW);

break;

case 2:

digitalWrite(VERM, LOW);

digitalWrite(AMAR, LOW);

digitalWrite(VERD, HIGH);

break;

default:

digitalWrite(VERM, LOW);

digitalWrite(AMAR, LOW);

digitalWrite(VERD, LOW);

break;

}

delay (100);

}

Neste sketch conforme algo se aproxima do módulo P12 – Sensor de Obstáculos, nós iremos acendendo os LEDs do módulo PL2 – First Robot (ou P21 – Semáforo). Todos os LEDs apagados indicam que não há objeto nas proximidades. O LED Verde aceso indica algo distante, o Amarelo indica um objeto à uma distância média enquanto o LED Vermelho vai indicar um objeto muito próximo (ou tocando) o sensor. Desta maneira, obtemos o valor do sensor (entre 0 e 1023) e o mapeamos para um valor entre 0 e 4, que indicará a proximidade de um objeto em relação ao sensor, conforme podemos observar no trecho de código-fonte a seguir.

valor = analogRead(SENSOR);

int distancia = map(valor, 0, 1023, 0, 4);

Para mais projetos como esse compre o Livro Arduino Simples e Divertido clicando aqui!

“Extraído do Livro Arduino Simples e Divertido com autorização dos autores”. Escrito por: Cláudio Vieira Oliveira e Humberto Zanetti


Posts Em Destaque
Posts Recentes
Arquivo
Procurar por tags
Nenhum tag.
Siga
  • Facebook Basic Square
  • Twitter Basic Square
  • Google+ Basic Square
bottom of page