facilmente se obtem a relacao de distancia em milimetros atraves da equacao:Distancia = Velocidade * Tempo 2 * Distancia = 340 * Tempo Distancia = 170 * Tempo Todos estes calculos sao efetuados diretamente pelo sensor DYP-ME007 que ao final entrega no pino Echo um pulso ativo correspondente a distancia real do objeto como mostra a figura abaixo: Para se transformar o tempo (us) retornado pelo sensor em distancia(mm), basta dividir valor do tempo por 58. Este valor e obtido da seguinte relacao: Um metro corresponte a um pulso de aproximadamente 5764us, transformando em cm temos 57,64cm que arredondamos para 58 para facilitar os calculos no microcontrolador. Teste de funcionamento.Este sensor possui quatro pinos de conexao sendo:VCC Alimentacao de 5V (Consumo medio de 20ma)GND Alimentacao GND Trigger- Pino para disparo de leitura (10ms)Echo Pino de retorno de informacoes referente a distancia medidaOut Este pino NAO devera ser conectadoPodemos detectar a largura de pulso do sensor de varias maneiras, porem a maneira mais elegante de se fazer isto com microcontroladores PIC, e utilizando o modulo CCP na funcao CAPTURE.Para isto temos que conhecer um pouco mais sobre este modulo interno do microcontrolador. O modulo CCP utiliza os Timers internos do microcontrolador como base de tempo, neste caso especifico do modo CCP que e o CAPTURE, e utilizado o TIMER1 incrementando a cada us. Desta forma quando o modulo CCP detecta a borda alta correspondente ao pino ECHO do sensor, ativa a contagem do TIMER,(incrementeado a cada us) e muda a configuracao da borda de sensibilidade para baixa, aguardando assim o termino do pulso referente a distancia, com isto conseguimos saber qual o periodo do pulso entrege pelo sensor em ja em us.Apos esta informacao ser processada temos que alterar novamente a borda de sensibilidade para alta afin de estarmos prontos para uma nova informacao proveniente so sensor.Atraves do uso deste modulo, trabalhamos apenas com interrupcoes liberando o microcontrolador para outras tarefas tornando o programa mais eficiente. Abaixo segue o programa exemplo da placa PK2Lab para uso com estes sensores./****************************************************************************** JL Audio Manutencao EletronicaData: 01/2012Autor: Jean CarlosProjeto: Sensor de distancia DYP-ME007Microprocessador: PIC18F4550Clock do processador: 8MHzEstacao de desenvolvimento: PK2Lab V 1.1Compilador: MikroC PRO V 4.60.0.0Versao atual:Descricao: Este projeto demonstra o uso do sensor de distancia DYP-DM007 Com a placa PK2Lab, o valor referente a distancia entre o objeto e o sensor e exibido no display LCD. Trigger -> RC0 Echo -> RC2 -> Entrada do modulo CCP1 O resultado da captura e salvo em CCPR1H e CCPR1L Para efetuar este projeto, iremos configurar o TMR1 como contador sincrono,para ser incrementado pela fonte de clock externo que e o cristal de 8MHz conectado a placa PK2Lab(Sem PLL). 8MHz -> (Fosc/4)2MHz -> Prescaler 2:1 -> 1MHz (1uS) Para calcular a distancia em centimetros, usamos a formula abaixo:*******************************************************************************/// Configuracao do LCD da placa PK2Lab V.1.1sbit LCD_RS at RB2_bit;sbit LCD_EN at RB3_bit;sbit LCD_D4 at RB4_bit;sbit LCD_D5 at RB5_bit;sbit LCD_D6 at RB6_bit;sbit LCD_D7 at RB7_bit;sbit LCD_RS_Direction at TRISB2_bit;sbit LCD_EN_Direction at TRISB3_bit;sbit LCD_D4_Direction at TRISB4_bit;sbit LCD_D5_Direction at TRISB5_bit;sbit LCD_D6_Direction at TRISB6_bit;sbit LCD_D7_Direction at TRISB7_bit;//******************************************************************************// Definicoes e Variaveis Globais#define Trigger RC0_bitchar txt[4];