TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: sergiopic en 28 de Octubre de 2008, 02:19:14
-
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 (http://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
-
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.
-
perdon master . ya lo corregi , no habia leido el reglamento bien :( :(