Poll
Question: O que acham do Sensor ping - genérico da Paralax ?
Tive problemas e não consigo obter dados
Substituir o mesmo por um sensor da Paralax

Pages: [1]   Go Down
Author Topic: Ping Sensor Tatuíno ( Paralax Genérico )  (Read 969 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 14
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ajudem-me por favor.

Preciso de ajuda com o sensor tatuíno ping.
Infelizmente comprei esse sensor no Brasil , pois nem imaginava a existência do Ping Paralax, mas agora nem consigo obter valores do mesmo.
Peguei os exemplos e testo, mas nada funciona.
Tenho
Gnd ( ligado )
5v (ligado)
out ( pra onde vai isso ? )
int ( pra onde vai isso ? )

Queria pelo menos obter resultados no processing, se conseguir atingir esse objetivo o resto eu me viro.

Logged

PoA - RS - Brasil
Offline Offline
Newbie
*
Karma: 0
Posts: 27
-protect-
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Dexter, você deve ligar os pinos IN e OUT a dois I/Os do Arduino, o pino IN controla a leitura e o pino OUT gera um pulso proporcional à distância lida pelo sensor.

Por exemplo, ligando o pino IN ao pino 4 do Arduino e o pino OUT ao pino 5 do Arduino, seu código deve ficar mais ou menos assim:

Code:
//codigo baseado em um projeto do fundo do bau
//do tempo que eu usava os BS1 da Tato...

//inicializa I/Os
byte pinoInSensor = 4; //pino 4, IN do sensor
byte pinoOutSensor = 5; //pino5, OUT do sensor

//variaveis globais
byte distanciaEmCm = 0; //usa variavel byte por 2 motivos, o sensor nao le direito acima de +-220cm, e fica mais facil mandar pela serial
unsigned long duracaoDoPulso = 0;

void setup()
{
    pinMode(pinoInSensor, OUTPUT); //seta pino como saida
    digitalWrite(pinoInSensor, HIGH); //seta nivel alto na saida, estado de repouso do sensor
    pinMode(pinoOutSensor, INPUT); //seta pino como entrada
    digitalWrite(pinoOutSensor, HIGH); //habilita pull-up interno, so pra garantir...
    Serial.begin(9600);
}

//programa princpal
void loop()
{
    //gera pulso de 50uS no pino IN do sensor para iniciar uma leitura
    digitalWrite(pinoInSensor, LOW);
    delayMicroseconds(50);
    digitalWrite(pinoInSensor, HIGH);

    //deixa pino 5 esperando o pulso de leitura do sensor, que ocorre em nivel alto
    duracaoDoPulso = pulseIn(pinoOutSensor, HIGH);

    //converte a leitura de microsegundos para centimetros
    duracaoDoPulso *= 34; //multiplica pela velocidade do som
    duracaoDoPulso /= 2; //divide por 2, pois a leitura = tempo de ida + volta
    duracaoDoPulso /= 1000; //acerta a escala para centimetros
    if(duracaoDoPulso > 220) //overflow, erro na leitura do sensor...
    {
        duracaoDoPulso = 255; //valor 255 indica overflow, use como referencia no processing...
    }

    //passa valor para variavel byte e manda pela serial
    distanciaEmCm = duracaoDoPulso;
    Serial.print(distanciaEmCm, BYTE);

    //espera 1 segundo até a próxima leitura
    delay(1000);
}
Logged


0
Offline Offline
Newbie
*
Karma: 0
Posts: 14
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Continua o problema.
Bem desta vez, não obtive resposta alguma.
Poderia o sensor estar com problemas.

Obs.: Insiro um led na saída OUT do mesmo + um GND e ele pulsa, ou seja vejo que o mesmo está dando resposta.
Mas o pulso do led só funciona fortemente quando posiciono o dedo nele.

Alguém dá mais alguma dica ?
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 34
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

tem dois sensores ping no site da tato, qual vc comprou?

ou se vc tiver o datasheet dele, melhor ainda
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 14
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bem pessoal esse problema eu resolvi.
Quero agradecer ao pessoal do pdcon2009 em São Paulo, que me deram a maior força.

Consegui implementar com o mesmo código do ping parallax o, tudo funcionando perfeito. As distâncias do ping da tato são até maiores que o da Ping parallax.

Até consigo escutar as dist[ch7847]ncias em processing, mas ainda tenho problemas.

Desde já agradeço
Logged

Pages: [1]   Go Up
Jump to: