Autor Tema: ayuda con interrupciones para mover un servo y adquirir datos con sensor ultraso  (Leído 3487 veces)

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

Desconectado sergiopic

  • PIC10
  • *
  • Mensajes: 31
hola amigos :-/

espero y esten bien . en verdad necesito ayuda ya que he buscado ayuda sobre interrupciones tipo para controlar un servo hitec 311 y un sensor ultrasonico srf05  osea en terminos electronicos que por un pin me mande un pwm constante para que el servomotor este girando  de 0 a 180 grados y por otro al mismo tiempo me este mandando un pulso y resiviendo los datos de el sensor ,hasta que encuentre un objeto en un rango de x cm y el servomotor quede  en direccion hacia el objeto si no me explico muy bien literalmente les pondre un link de un video para que vean mas o menos que es lo que basicamente kiero hacer .
beo-bothttp://www.youtube.com/watch?v=bXzwWr6b8m8
el motivo por el cual escribo es que mi amigo navaismo me comento que las interrupciones podian ejecutarce en segundo plano mientras el pic hace otra funcion en software ya que por HPWM no obtube grandes resultados ya que nadie ha usado esa instruccion lo unico quequiero hacer es escanear 180º con el sensor ultrasonico y si me detecta algo en 120 cm se detenga hasta que el objeto detectado se salga del rango de vision del sensor.
 a continuacion esta un intento de mi programa con  interrupciones ,ya que por hpwm fue un fracaso porque o hace un proceso u otro .
espero y uds amigos con experiencia mas avanzada me puedan ayudar ya que es un proyecto para competencia de sumo en mi universidad  el funcionmiento ya esta hecho en 2 micros 16f84 pero se ke se puede hacer todo desde un solo micro  :-/ animo !!!!!!!

device 16f628a
declare xtal=4
Symbol int0 = INTCON.0
Symbol pin = PORTB.0
symbol pin1 = portb.3
dim pos as word
dim rango as word    
 INTCON = %10001000  
inicio:

On Interrupt GoTo int
for pos=600 to 2400 step 20
servo pin1,pos
delayms 5
On Interrupt GoTo int
next pos


delayms 250

for pos=2400 to 600 step -20
servo pin1,pos    
delayms 5
On Interrupt GoTo int

next pos
delayms 250


goto inicio
disable
int:
rango = 0
 pulsout pin,1
 pulsin pin,1,rango
 rango=(rango/58.30)*10
 if rango <= 15 then
 servo pin1,pos
 else
 goto inicio
 endif
 int0 = 0
 resume
 enable
 end
« Última modificación: 30 de Mayo de 2009, 17:13:37 por sergiopic »

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: ayuda con interrupciones para un servo con un sensor ultrasonico
« Respuesta #1 en: 28 de Octubre de 2008, 11:54:00 »
Hola:

Bueno no te puedo ayudar ya que no se que signifique para ti estas palabras:

ke
kiero
kual
eskribo
akontinuacion
kon 
porke

Por más que busco y busco en el diccionario no las encuentro, no se cuál sea tu edad, pero al menos creo que nos merecemos respeto las personas que leemos los mensajes de los demás, creo que no tienes un teclado de celular y tampoco estás mandando mensajes SMS a colegiales, lo que ganas escribiendo en ese “tipo de lenguaje” es trabar y dificultar su correcta lectura, me pregunto si ya has leído las reglas del foro, si no lo has hecho, pues te recomiendo e invito a que lo hagas, y por favor, olvídate de esa “K” que ya te quisiera ver luego en un trabajo si le escribes a tu jefe algo como esto:
“Jefe Kiero k me suba el sueldo”
Personalmente te pediría la renuncia y no te subiría el sueldo.
Por favor, escribe como se debe y así todos ganamos, nosotros como lectores podemos entender perfectamente el significado de las palabras y tú te puedes beneficiar de ello recibiendo respuestas.
Saludos que tengas un buen día y espero sepas entender estas líneas.
« Última modificación: 28 de Octubre de 2008, 12:05:49 por LordLafebre »

Desconectado sergiopic

  • PIC10
  • *
  • Mensajes: 31
Re: ayuda con interrupciones para un servo con un sensor ultrasonico
« Respuesta #2 en: 28 de Octubre de 2008, 21:46:33 »
perdon master . ya lo corregi , no habia leido el reglamento bien  :( :(
« Última modificación: 30 de Mayo de 2009, 17:11:44 por sergiopic »