Autor Tema: Sensor SRF02 y mikroC  (Leído 3311 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado yiyeyo

  • PIC10
  • *
  • Mensajes: 8
Sensor SRF02 y mikroC
« en: 16 de Febrero de 2011, 14:56:53 »

Hola a todos,

Compré hace un mes 3 sensores SFR02. Estoy un poco desesperado, porque aun siguiendo las indicaciones del datasheet no consigo realizar una lectura de este sensor.
He probado ya casi todo. El código que he utilizado y que según la hoja de datos debería funcionar es el siguiente:

void main()
{
    unsigned short i;
    char  cadena[20];
    unsigned short dato;

    INTCON.GIE=0;            //DesHabilitar interrupciones general
    usart_init(9600);
   
    Glcd_Init(&PORTB,0,1,2,3,5,4,&PORTD);
    Glcd_Fill(0x00);

    i=0;
    while(1)
    {
      usart_write(0);             //Direccionamos el dispositivo SFR02
      usart_write(0x51);          //Indicamos que queremos realizar una medida en cm.
      delay_ms(120);              //Damos tiempo para que el dispositivo realice dicha medida

      usart_write(0);             //Direccionamos el dispositivo
      usart_write(0x5E);          //Comando para indicar que queremos leer

      while(!usart_data_ready()){} //Esperamos a tener datos que recibir
     
      while(usart_data_ready())     //Mientras tenemos datos que recibir
      {
        dato=usart_read();
        sprintf(cadena,"%d",dato);
        glcd_write_text(cadena,1,i,1);
        i++;
        if(i>6) i=0;
        delay_ms(100);
      }
      delay_ms(1000);
    }
}


El sensor parece que recibe la señal, ya que el led se enciende cuando recibe su dirección (no se enciende cuando le enviamos otra dirección). Pero al recibir datos por el puerto serie y mostrarlos por la pantalla, siempre se recibe lo mismo. He probado a desconectar el sensor y cortocircuitar TX con RX y recibo exactamente lo mismo que cuando tengo el sensor.

Alguien tiene alguna idea? Que estoy haciendo mal? Se me puede haber roto algo?? (He probado con dos sensores sacados del paquete)

He probado a mandar los comandos 81 (Real ranging mode) y luego 94 (Get range). También he probado el codigo 84 (Real ranging mode con respuesta automatica) y siempre obtengo valores fijos.

Muchas gracias

Desconectado tannke

  • PIC16
  • ***
  • Mensajes: 176
Re: Sensor SRF02 y mikroC
« Respuesta #1 en: 20 de Mayo de 2011, 07:54:38 »
Edito... lo que habia puesto no es correcto.  Voy a ver y vuelvo a contestar.
Has provado por I2C?
Un saludo
« Última modificación: 20 de Mayo de 2011, 07:58:38 por tannke »

Desconectado alcubo01

  • PIC12
  • **
  • Mensajes: 69
Re: Sensor SRF02 y mikroC
« Respuesta #2 en: 23 de Mayo de 2011, 10:03:12 »

 Hola, yo lo he usado en modo I2C y no he tenido problemas, a ver si te podemos echar una mano para que lo hagas andar en modo Serie.

 + ¿Tienes el pin modo a 0V?

 + La lectura que haces del puerto serie parece un poco extraña...