Autor Tema: Programacion de sensor SRF05  (Leído 7077 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado thekingofhack

  • PIC10
  • *
  • Mensajes: 4
Programacion de sensor SRF05
« en: 01 de Mayo de 2011, 17:29:52 »
hola soy nuevo en esto de la programacion de pic's , y quisiera saber si alguien me puede dar una idea de como programar un sensor ultrasonico srf05 en lengueje ensamblador ya que ocupare un pic 16f628a  eh buscado en internet y dicen que sirve para medir la distancia  pero yo solo lo necesito para detectar un objeto a 50 cm si alguien me puede ayudar se lo agradeceria enormemente!!salu2

Desconectado tapi8

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1506
Re: Programacion de sensor SRF05
« Respuesta #1 en: 03 de Mayo de 2011, 13:41:17 »
Bienvenido al foro. En este foro te ayudaremos a hacerlo, pero solo te ayudaremos

Aqui te explica como utilizar el srf05 en español y muy bien explicado, con los datos que te da ahi tienes que calcular el tiempo para los 50cm, activas la señal durante el tiempo que te dice ahi, como es un tiempo pequeño lo puedes hacer por bucle, y en la patilla de recepcion, que puede ser la misma de emitir, esperas que se ponga a 1, mides con un TIMER o por bucle el tiempo para 50cm y al rematar ese tiempo miras si esta a 0, si esta a 0 la distancia es inferior, si sigue a 1 la distancia es superior.

Puedes hacer hasta 20 medidas por segundo, e incluso hacerlas cada menos tiempo para saber la distancia aproximada.


http://www.msebilbao.com/notas/downloads/Medidor%20Ultrasonico%20SRF05.pdf

Desconectado thekingofhack

  • PIC10
  • *
  • Mensajes: 4
Re: Programacion de sensor SRF05
« Respuesta #2 en: 04 de Mayo de 2011, 01:45:01 »
Muchas gracias amigo me sirvio mucho la info!!

Desconectado thekingofhack

  • PIC10
  • *
  • Mensajes: 4
Re: Programacion de sensor SRF05
« Respuesta #3 en: 09 de Mayo de 2011, 23:42:33 »
Bienvenido al foro. En este foro te ayudaremos a hacerlo, pero solo te ayudaremos

Aqui te explica como utilizar el srf05 en español y muy bien explicado, con los datos que te da ahi tienes que calcular el tiempo para los 50cm, activas la señal durante el tiempo que te dice ahi, como es un tiempo pequeño lo puedes hacer por bucle, y en la patilla de recepcion, que puede ser la misma de emitir, esperas que se ponga a 1, mides con un TIMER o por bucle el tiempo para 50cm y al rematar ese tiempo miras si esta a 0, si esta a 0 la distancia es inferior, si sigue a 1 la distancia es superior.

Puedes hacer hasta 20 medidas por segundo, e incluso hacerlas cada menos tiempo para saber la distancia aproximada.


http://www.msebilbao.com/notas/downloads/Medidor%20Ultrasonico%20SRF05.pdf

mmm disculpen la ignorancia pero aun no me sale, segun yo hice este programa para probar mi sensor  y nadamas no me prende el led que conecte al pic pero el led que se encuentra en la parte posterior del sensor comienza a prender y apagar pero al momente de acercarle la mano a distancia aprox. de 20 cm se queda sin parpadear por lo que deduci que mi programacion esta mal si alguien me puede hacerme notar en que me equivoque se lo agradeceria mucho, recurro a este foro ya que lo intente de varias maneras y nadamas no me sale!!

list      p=16F628A           ; list directive to define processor
    #include <p16F628A.inc>       ; processor specific variable definitions

    errorlevel  -302              ; suppress message 302 from list file

    __CONFIG   _CP_OFF & _DATA_CP_OFF & _LVP_OFF & _BOREN_OFF & _MCLRE_ON & _WDT_OFF & _PWRTE_ON & _INTOSC_OSC_NOCLKOUT


#DEFINE   PULSO   PORTB,1
#DEFINE   LED      PORTB,2
#DEFINE   ECO      PORTA,1


;**********************************************************************
RESET_VECTOR    CODE   0x0000     ; processor reset vector
        goto    START             ; go to beginning of program
   
INT_VECTOR    CODE    0x0004      ; interrupt vector location



MAIN_PROG     CODE

START
   bsf      STATUS,RP0
   bcf      STATUS,RP1
   movlw   0x00
   movwf   TRISB
   movlw   0xFF
   movlw   TRISA
   bcf      STATUS,RP0
   bcf      STATUS,RP1
   movlw   d'7'
   movwf   CMCON
   bcf      PULSO      ;prepara el pulso a nivel bajo
   
principal
   bsf      PULSO      ;comienza el pulso   
   call   tiempo      ;llama a subrutina para mantener el pulso aprox.766 micro segundos
   bcf      PULSO      ;termina el pulso
espera_eco
   btfss   ECO         ;pregunta si ah recibido el eco
   goto   espera_eco
   bsf      LED         ;prende led
   goto   espera_eco   ;regresa hacer todo el proceso
;subrutina de tiempo para mandar el pulso al sensor
tiempo

      movlw   0xFF
      movwf   0x21
aqui   decfsz   0x21
      goto   aqui
      return

      
   

        END                       ; directive 'end of program'



Desconectado tapi8

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1506
Re: Programacion de sensor SRF05
« Respuesta #4 en: 10 de Mayo de 2011, 05:57:17 »

Citar
goto   espera_eco   ;regresa hacer todo el proceso



No regresa a hacer todo el proceso, mira si hay ECO pero no le envias pulso para que el emita una nueva rafaga, seria:

goto  principal


Despues, estas chequeando que el ECO se pone a 1, pero el esta a 1 un tiempo proporcional a la distancia, lo que debes mirar es el tiempo que esta a 1 para saber la distancia.

Revisa como lo tienes conectado y configurado, porque creo que deberia encender, no mide distancias ni nada pero se deberia poner a 1 el LED.












Desconectado joseydoris

  • PIC12
  • **
  • Mensajes: 58
Re: Programacion de sensor SRF05
« Respuesta #5 en: 03 de Noviembre de 2012, 04:33:09 »
Un saludo a todos:Tenia un srf05 funcionando bien.Lo cambie por un hy-srf05(chino) y si tapo los sensores o cuando le da la gana se apagan los displays¿alguien sabe la causa?att jose