MEDIÇÃO DISTÂNCIA ULTRASSOM CÁSSIO DANIEL 0912212

9
7/14/2019 MEDIÇÃO DISTÂNCIA ULTRASSOM CÁSSIO DANIEL 0912212 http://slidepdf.com/reader/full/medicao-distancia-ultrassom-cassio-daniel-0912212 1/9 MEDIÇÃO DE DISTÂNCIA UTILIZANDO PLATAFORMA ARDUINO 1 CÁSSIO DANIEL SALOMÃO SILVA 2  RESUMO - Um sensor ultrassônico utilizando plataforma Arduino foi desenvolvido. Objetiva- se medir distâncias através de sensor tipo PING e rastrear objetos dentro de uma distância especificada usando-se servomotores e mostrando-se esta distância através de um display LCD 16x2 e indicar a procura através de um sonorizador piezoelétrico. Termos para indexação: Arduino, medição de distância, ultrassom, servomotores. DISTANCE MEASUREMENT USING ARDUINO PLATFORM. ABSTRACT  – A ultrasonic sensor using Arduino platform. The objective is to measure distance using PING Sensor and track objects within the specified distance using servo motor and displaying display the distance measured on the 16X2 LCD display and indicating seeking  by using piezoelectric sound buzzer. Index terms: Arduino, distance measurement, ultrasound, servomotors. INTRODUÇÃO 1 As medidas de nível de líquidos podem ser realizadas por meio de diversos métodos. Nesse trabalho deu- se ênfase aos métodos baseados no fenômeno de pulso-eco, como os que, manifestam-se biologicamente em animais como o morcego, que emite pulsos ultrassônicos e, após receber os ecos refletidos pelas barreiras do ambiente, referencia seu voo. Dos métodos eletrônicos destinados à determinação de distâncias destacam-se,  portanto, os que se baseiam na emissão e reflexão de ondas sônicas e os que usam ondas ultra-sônicas que se atenuam à medida em que a distância relativa a uma barreira física cresce. Nesse grupo de detectores encontram-se os baseados na produção de ultrassons por fenômenos piezoelétricos, que convertem pulsos elétricos em sons, e os pulsos refletidos (ondas mecânicas) em pulsos elétricos novamente. São desta forma classificados como transdutores. A maioria dos sistemas automáticos que usam ultrassons para medição de distâncias baseia-se em técnicas eletrônicas avançadas para processar e transmitir medidas feitas pelos mesmos tipos de sensores, que vêm sendo utilizados de forma maciça mais recentemente. O objetivo do presente trabalho é mostrar o desenvolvimento desse sensor e sua lógica, sua viabilidade técnica e precisão para medir distâncias. MATERIAL E MÉTODOS O sensor ultrassônico é um módulo eletrônico baseado em tecnologia ultra-som, cuja finalidade é o envio de pulsos e captura de ecos, enviando sinais ao módulo Arduino proporcionais em relação a proximidade de obstáculos. A abrangência do trabalho é teórica e prática, relativa às teorias conhecidas de ultra-som. O desenvolvimento dar-se-á através da criação de esquemático elétrico, do lay-out da placa, e programação. Sensores ultrassônicos (fig. 1) são elementos piezoelétricos que emitem ou recebem ultrassons no meio de transmissão na faixa de freqüências acima de 20kHz, que não são perceptíveis pelo ouvido humano.

Transcript of MEDIÇÃO DISTÂNCIA ULTRASSOM CÁSSIO DANIEL 0912212

7/14/2019 MEDIÇÃO DISTÂNCIA ULTRASSOM CÁSSIO DANIEL 0912212

http://slidepdf.com/reader/full/medicao-distancia-ultrassom-cassio-daniel-0912212 1/9

MEDIÇÃO DE DISTÂNCIA UTILIZANDO PLATAFORMA ARDUINO1

CÁSSIO DANIEL SALOMÃO SILVA2 

RESUMO - Um sensor ultrassônico utilizando plataforma Arduino foi desenvolvido. Objetiva-

se medir distâncias através de sensor tipo PING e rastrear objetos dentro de uma distância

especificada usando-se servomotores e mostrando-se esta distância através de um display LCD16x2 e indicar a procura através de um sonorizador piezoelétrico.

Termos para indexação: Arduino, medição de distância, ultrassom, servomotores.

DISTANCE MEASUREMENT USING ARDUINO PLATFORM.

ABSTRACT  –  A ultrasonic sensor using Arduino platform. The objective is to measure

distance using PING Sensor and track objects within the specified distance using servo motor 

and displaying display the distance measured on the 16X2 LCD display and indicating seeking

 by using piezoelectric sound buzzer.

Index terms: Arduino, distance measurement, ultrasound, servomotors.

INTRODUÇÃO

1As medidas de nível de líquidos podem ser realizadas por meio de diversos métodos. Nesse trabalho deu-

se ênfase aos métodos baseados no fenômeno de pulso-eco, como os que, manifestam-se biologicamente em

animais como o morcego, que emite pulsos ultrassônicos e, após receber os ecos refletidos pelas barreiras do

ambiente, referencia seu voo. Dos métodos eletrônicos destinados à determinação de distâncias destacam-se,

 portanto, os que se baseiam na emissão e reflexão de ondas sônicas e os que usam ondas ultra-sônicas que se

atenuam à medida em que a distância relativa a uma barreira física cresce. Nesse grupo de detectores

encontram-se os baseados na produção de ultrassons por fenômenos piezoelétricos, que convertem pulsos

elétricos em sons, e os pulsos refletidos (ondas mecânicas) em pulsos elétricos novamente. São desta forma

classificados como transdutores.A maioria dos sistemas automáticos que usam ultrassons para medição de distâncias baseia-se em técnicas

eletrônicas avançadas para processar e transmitir medidas feitas pelos mesmos tipos de sensores, que vêm

sendo utilizados de forma maciça mais recentemente. O objetivo do presente trabalho é mostrar o

desenvolvimento desse sensor e sua lógica, sua viabilidade técnica e precisão para medir distâncias.

MATERIAL E MÉTODOS

O sensor ultrassônico é um módulo eletrônico baseado em tecnologia ultra-som, cuja finalidade é o envio

de pulsos e captura de ecos, enviando sinais ao módulo Arduino proporcionais em relação a proximidade de

obstáculos.

A abrangência do trabalho é teórica e prática, relativa às teorias conhecidas de ultra-som. O

desenvolvimento dar-se-á através da criação de esquemático elétrico, do lay-out da placa, e programação.

Sensores ultrassônicos (fig. 1) são elementos piezoelétricos que emitem ou recebem ultrassons no meio de

transmissão na faixa de freqüências acima de 20kHz, que não são perceptíveis pelo ouvido humano.

7/14/2019 MEDIÇÃO DISTÂNCIA ULTRASSOM CÁSSIO DANIEL 0912212

http://slidepdf.com/reader/full/medicao-distancia-ultrassom-cassio-daniel-0912212 2/9

 Figura 1 – representação esquemática efeito piezoelétrico.

Os sensores ultra-sônicos são apropriados para o uso das escalas de detecção dependendo da

frequência em que operam. Fez-se uso de um sistema Pulse Burst (Sonar) que é baseado no princípio depthsounding do eco, ou conhecido também como pulso-eco, onde os sensores são excitados periodicamente, em

seqüência , e transmitem então os sinais de ultra-som. Os sensores são ativados pelo sinal recebido da reflexão

do obstáculo e para o cálculo da posição do objeto em relação ao veículo, é medido o tempo da emissão do

sinal até o mesmo ser refletido no objeto e retornar ao sensor.

O diagrama de blocos (fig. 2) define a interligação do sistema operando em uma unidade emissor-receptor,

ou seja, um sensor e um receptor montados em uma única placa.

Figura 2 – representação esquemática do circuito elétrico

O circuito de recepção utiliza quatro estágios de amplificadores a transistor, sendo que os três primeiros

estão sintonizados em 40kHz e o último amplifica o sinal de áudio, a sua envoltória.

O circuito transmissor é excitado através do sinal NA_TX que vem do processador, gerando 10 pulsos de

40kHz (Ton = 12us e Toff = 13us) num intervalo aproximado de 50ms. Este sinal é ligado na base dos

transistores TR6 e TR5. A cápsula está montada em uma ponte H entre os sinais S1_GND e S1_TR, assim,quando há uma subida no sinal (Ton), TR6 e TR7 conduzem corrente através da cápsula dando um pulso

 positivo na cápsula, e quando o pulso de NA_TX está em baixa (Toff) o TR5 e TR8 conduzem corrente

através da cápsula e gera o pulso negativo na cápsula apresentando então um pulso de 24V pico a pico nas

extremidades da cápsula.

7/14/2019 MEDIÇÃO DISTÂNCIA ULTRASSOM CÁSSIO DANIEL 0912212

http://slidepdf.com/reader/full/medicao-distancia-ultrassom-cassio-daniel-0912212 3/9

 Figura 3 – esquema elétrico transmissor

O capacitor na base do transistor permite a passagem do sinal transitório evitando acionamento com

valores contínuos, apenas TR6 não tem capacitor devido à recepção do sinal, descritos no circuito de

recepção.

A mesma cápsula de transmissão é usada na recepção do sinal, ou seja, após um tempo em torno de

2ms (depende do modelo da cápsula) o sinal NA_TX é colocado em nível alto para que o TR6 entre em

condução e conecte um dos pinos da cápsula ao terra. Nesta configuração o circuito fica em posição de

recepção. O sinal refletido em algum objeto é injetado através da cápsula no S1_TR que é amplificado na

frequência de 40kHz nos três primeiros estágios, sendo que o estágio subsequente é a amplificação do

detector de envoltório. A configuração dos amplificadores é a transistor emissor comum.

Figura 4- esquema elétrico receptor

A interface sonora funciona por um sinal BUZZ vindo do processador, que emite trem de pulsos

conforme a faixa de distância detectada, de uma faixa espaçada, intermediária e por fim um sinal contínuo.Transistor TR37 funciona como um chave, ligando e desligando os 12V sobre o buzzer.

A plataforma utilizada será Tatuíno, versão da TATO para plataforma Arduino, que atende as

necessidades do sensor; é um microcontrolador de 8bits, de alta performance RISC. Tem um comparador 

interno, um oscilador externo a cristal ou ressonador interno utilizando um RC externo com memória flash de

1024 word, 64 bytes de SRAM e 128 Bytes de EEprom.

A configuração dos pinos do micro para projeto é a seguinte:

  OSC1 e OSC2 – Conexão do ressonador externo de 4MHz;

  RA0 – Sinal do NA_S1, recebe infromações do sensor referente à posição e distância do objeto;

7/14/2019 MEDIÇÃO DISTÂNCIA ULTRASSOM CÁSSIO DANIEL 0912212

http://slidepdf.com/reader/full/medicao-distancia-ultrassom-cassio-daniel-0912212 4/9

  RA1 – Sinal do NA_S2, espera para projeto de 4 sensores ou outro se necessário;

  RC0 e RC2 – Sinal da distância visual;

  RC3 – Buzz, sinal da distância sonora;

  RC4 e RC5 - Rx e Tx para serial, usado futuramente se necessário para depuração do sistema.

  RA3 – Não utilizado

Figura 5 – esquema básico plataforma de recepção e processamento.

O processador tem a tarefa de emitir os pulsos e aguardar resposta dos periféricos e processar essa

informação dando a posição ou à distância do veículo ao objeto.

7/14/2019 MEDIÇÃO DISTÂNCIA ULTRASSOM CÁSSIO DANIEL 0912212

http://slidepdf.com/reader/full/medicao-distancia-ultrassom-cassio-daniel-0912212 5/9

 

Figura 6 – fluxograma de software

LCD  1 2 3 4 5 6 7 8 9 10  11  12  13  14  15  16 PLACA

TATUÍNO  GND  +5V  GND  12  GND  11  -  -  -  -  6  5  4  3  +5V  GND 

#include <Servo.h> // include the servo library

#include <LiquidCrystal.h> // include the library code:

Servo servoMotor; // creates an instance of the servo object to control a servo

 LiquidCrystal lcd(12, 11, 6, 5, 4, 3); // initialize the library with the numbers of the interface pins

const int pingPin = 13; // Control pin for Ping Sensor 

const int servoPin = 2; // Control pin for servo motor, may only be pin 9 or 10

const int speakerPin = 8; // Control pin for the Sound Buzzer 

int moveServoLeft = 0; // variable to control the motion of the Servo Motor to the left 

7/14/2019 MEDIÇÃO DISTÂNCIA ULTRASSOM CÁSSIO DANIEL 0912212

http://slidepdf.com/reader/full/medicao-distancia-ultrassom-cassio-daniel-0912212 6/9

int moveServoRight = 0; // variable to control the motion of the Servo Motor to the right 

int servoPosition = 0; // variable to control the position of the Servo Motor 

void setup() { 

 // set up the LCD's number of rows and columns:

lcd.begin(16, 2);

 // initial Display

lcd.setCursor(0,0);

lcd.print("Distance (inch.)");

lcd.setCursor(0,0);

 servoMotor.attach(servoPin); // attaches the servo on pin 2 to the servo object  servoMotor.write(0); // set servo to intial position

moveServoLeft = 1; // intial motion of Servo is from 0 to 180 i.e left 

 }

void loop() { 

 // get Distance

long duration, inches, cm;

 // to set speakerPin and servoPin mode to OUTPUT 

 pinMode(speakerPin, OUTPUT);

 pinMode(servoPin, OUTPUT);

digitalWrite(speakerPin, LOW); // sound buzzer is defalut switched off 

 // The PING Sensor is triggered by a HIGH pulse of 2 or more microseconds.

 // Give a short LOW pulse beforehand to ensure a clean HIGH pulse:

 pinMode(pingPin, OUTPUT);

digitalWrite(pingPin, LOW);

delayMicroseconds(2);

digitalWrite(pingPin, HIGH);

delayMicroseconds(5);

digitalWrite(pingPin, LOW);

7/14/2019 MEDIÇÃO DISTÂNCIA ULTRASSOM CÁSSIO DANIEL 0912212

http://slidepdf.com/reader/full/medicao-distancia-ultrassom-cassio-daniel-0912212 7/9

 

 // The same pin is used to read the signal from the PING Sensor, a HIGH pulse whose duration is the time

(in

 // microseconds) from the sending of the ping to the reception of its echo off of an object.

 pinMode(pingPin, INPUT);

duration = pulseIn(pingPin, HIGH);

 // convert the time into a distance

inches = microsecondsToInches(duration);

cm = microsecondsToCentimeters(duration);

delay(200);

lcd.clear(); // set the cursor to column 0, line 1

 // (note: line 1 is the second row, since counting begins with 0):

lcd.print("Distance (inch.)");

lcd.setCursor(0, 1);

lcd.print(inches);

 // to enable tracking the Servo motor is rotated only if the distance of the objects are greater than or equal to

5” 

if(inches >= 5) {  servoMotor.attach(servoPin);

 servoMotor.write(servoPosition);

delay(20);

 // to move right if the motor has reached 180 degrees

if(servoPosition == 180 && moveServoLeft == 1){ 

moveServoRight = 1;

moveServoLeft = 0;

 }

 // to move left if the motor has reached 0 degrees

if(servoPosition == 0 && moveServoRight == 1){ 

moveServoLeft = 1;

moveServoRight = 0;

 }

 // to move left from 0 degree to 180 degrees

7/14/2019 MEDIÇÃO DISTÂNCIA ULTRASSOM CÁSSIO DANIEL 0912212

http://slidepdf.com/reader/full/medicao-distancia-ultrassom-cassio-daniel-0912212 8/9

if(moveServoLeft == 1 & servoPosition <= 160)

 servoPosition = servoPosition + 20;

 // to move right from 180 degrees to 0 degree

if(moveServoRight == 1 & servoPosition >= 0)

 servoPosition = servoPosition - 20;

 }

 // to disable tracking the Servo motor is detached if the distance of the object is lesser than 5” 

else { 

 servoMotor.detach();

 for(int duration = 0; duration < 100; duration ++){ 

digitalWrite(speakerPin, HIGH);delayMicroseconds(200);

digitalWrite(speakerPin, LOW);

delayMicroseconds(200);

 }

 }

 }

long microsecondsToInches(long microseconds)

 // According to Parallax's datasheet for the PING))), there are 73.746 microseconds per inch (i.e. sound 

travels at 

 // 1130 feet per second). This gives the distance travelled by the ping, outbound and return, so we divide by

2 to

 // get the distance of the obstacle. See: http://www.parallax.com/dl/docs/prod/acc/28015-PING-v1.3.pdf 

return microseconds / 74 / 2;

 }

long microsecondsToCentimeters(long microseconds)

 // The speed of sound is 340 m/s or 29 microseconds per centimeter. The ping travels out and back, so to find 

the

7/14/2019 MEDIÇÃO DISTÂNCIA ULTRASSOM CÁSSIO DANIEL 0912212

http://slidepdf.com/reader/full/medicao-distancia-ultrassom-cassio-daniel-0912212 9/9

// distance of the object we take half of the distance travelled.

return microseconds / 29 / 2;

 }

Figura 6 – projeto funcional com placa Tatuíno e IHM 16x2 LCD