Autor Tema: Sensor Ultrasónico SRF02 por puerto serial  (Leído 2747 veces)

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

Desconectado aeric011

  • PIC10
  • *
  • Mensajes: 1
Sensor Ultrasónico SRF02 por puerto serial
« en: 17 de Octubre de 2009, 14:14:41 »
Hola

Estoy tratatando de hacer funcionar el sensor ultrasonico srf02 con el microcontrolador PIC16F877A transmitiendo los datos del sensor al micro mediante el puerto serial. Según lo que leí el sensor solamente necesita que le envíen la dirección del sensor (0) pordefault y la instrucción que se desea que realice, en este caso 0x54 para que el sensor mida y envíe el dato al micro en cm. El siguiente es el código que hice, esta en microC, pero no hago que funciona.

Alguien me podría ayudar por favor para que mi código funcione, porque en la salida del micro no envía nada.

Saludos.

// Constantes - Definición de constantes
#define BIT_RATE 9600                 // Velocidad del puerto serial

// Variables - Definición de variables
unsigned short serial = 0;            // Variable temporal (1 byte) para
                                      // recibir datos del puerto serial

// Función principal
void main() {
     // Inicializar puertos
     TRISB = 0;                      // Todo PORTB como salidas
     TRISC = 255;                    // Todo PORTC como entradas
     PORTB = 0;                      // Limpiar PORTB

     // Inicializar el módulo USART
     // 8 bits, sin bit de paridad, velocidad definida en la constante BIT_RATE
     // 1 bit de paro, sin control de flujo
     Usart_Init(BIT_RATE);

     while (1) {                         // Ciclo infinito
       Usart_Write(0x00);                // Enviar direccion del sensor
       Usart_Write(0x54);                // Pedir medida y que reciba en cuanto este listo
       Delay_ms(90);
          if (Usart_Data_Ready()) {      // ¿Se recibió un byte por serial?
               serial = Usart_Read();    // Almacenar el byte recibido

               PORTB = serial;
               Delay_ms(50);
               
               }

          } // Cierre del if (Usart_Data_Ready())
     }      // Cierre del while (1)
}

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Sensor Ultrasónico SRF02 por puerto serial
« Respuesta #1 en: 17 de Octubre de 2009, 14:30:22 »
Hola.

Pues yo nunca lo he usado por serial, pero por I2C son 2 bytes los que se leen.

Según el datasheet, se le envía la dirección (0x00) y luego el comando (0x54), tal como tu lo tienes, de pronto dale un delay entre los dos envíos. Prueba también la recepción por interrupción.

Saludos
El papel lo aguanta todo