Ya ves compy nos dejan solos ante el peligro, yo esto lo tengo como "hobby", pero claro un hobby que no veas los quebraderos de cabeza que da!!!
bueno el tanque del video si va con motores de CC es mas facil de hacer, yo creo que el problema principal que tengo es el servo y las pausas, pero no soy capaz de solucionarlo..
En lo del RF alomejor te puedo ayudar, ¿que modulos usas? yo uso unos aurel de 433mhz y al principio no habia manera de que funcionaran solo pillaba ruido hasta que encontre esto
http://www.todopic.com.ar/foros/index.php?topic=14917.360. Fue estabilizar la corriente y se pusieron a funcionar de lo lindo!!
Esque me quema el que no me salga algo y hago otras cosas para desestresarme jejeje
AH! por cierto ya no se me cuelga!!! sigue lento por eso de los pauses en el servo pero ya no se queda pillado puse esto :
DEFINE OSC 4
CMCON=7
TRISB=%00000010 'habilita el pin RB1 como entrada de datos
DEFINE HSER_TXSTA 24H 'Esta linea ha sido añadida. Coloca el registro de transmision en transmision habilitada
DEFINE HSER_RCSTA 90H 'Esta linea ha sido añadida. Registro de receptor, receptor habilitado
DEFINE HSER_BAUD 2400
DEFINE HSER_CLROERR 1
RCIF var PIR1.5
FERR VAR RCSTA.2
OERR VAR RCSTA.1
inicio:
portb=%00000010
if RCif =1 then
Hserin [serial]
endif
resto de programa....
y ahora borra el buffer cuando se llena.
no te pongo la fuente porque lo tengo en marcadores del otro ordenador, ya pondre el link.
Tambien he mirado para poner lo del timer que me comentaste, pero no he encontrado nada para pbp, solo en asm... no se si he mirado donde debia, pero me he recorrido por lo menos las 20 primeras paginas de todo lo que he estado buscando en google: "servo con interrupciones pbp" pic basic interrupciones para servo" y no logro entender nada, no se si esque solo se puede hacer en asm o esque hay que hacerlo en asm e intercalarlo en en pbp. Total que ahora no se cuelga pero sigue como antes en cuanto a la velocidad de respuesta.. ahora mismo el programa completo esta asi :
DEFINE OSC 4
CMCON=7
TRISB=%00000010 'habilita el pin RB1 como entrada de datos
DEFINE HSER_TXSTA 24H 'Esta linea ha sido añadida. Coloca el registro de transmision en transmision habilitada
DEFINE HSER_RCSTA 90H 'Esta linea ha sido añadida. Registro de receptor, receptor habilitado
DEFINE HSER_BAUD 2400
DEFINE HSER_CLROERR 1
RCIF var PIR1.5
FERR VAR RCSTA.2
OERR VAR RCSTA.1
serial var byte 'variable para dato introducido por serial
cont var byte 'variable para servo
b1 var byte
b1=149
marcha var portb.4
atras var portb.3
servo var portb.5
luces var portb.6
cam var portb.7
'------------------------------------------
main:
low atras
low marcha
portb=%00000010
if RCif =1 then
Hserin [serial]
endif
if serial="U" then gosub avance
if serial="D" then gosub retroceso
if serial="L" then left
if serial="R" then right
if serial="A" then upzR
if serial="B" then upzL
If serial="C" then downzR
if serial="E" then downzL
if serial="F" then camon
if serial="f" then camoff
goto main
camon:
high cam
goto main
camoff:
low cam
goto main
upzR:
high marcha
for cont = 0 to 50
pulsout servo,105
pause 10
next
goto main
upzL:
high marcha
for cont = 0 to 50
pulsout servo,210
pause 10
next
goto main
downzR:
high atras
for cont = 0 to 50
pulsout servo,105
pause 10
next
goto main
downzL:
high atras
for cont = 0 to 50
pulsout servo,210
pause 10
next
goto main
avance:
low atras
high marcha
return
retroceso:
low marcha
high atras
return
left:
for cont = 0 to 50
pulsout servo,210
PAUSE 5
next
goto main
right:
for cont = 0 to 50
pulsout servo,105
PAUSE 5
next
goto main
end
con PWM podria hacer algo parecido? o seguiria necesitando las pausas?
tambien tengo que mirar si puedo enviar valores numericos por hserout para mandar la posición desde el pc, para centrar la dirección si se va hacia algun lado el vehiculo, pero bueno como bien dices poco a poco.. Gracias por el apoyo!! y a seguir investigando!!
SALUDOS!!