Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
Hola, quiero controlar un servo programandolo en el programa Microcode Studio Plus, el servo esta trucado, me gustaria que alguien pusiera un ejemplo sencillo para que haga por ejemplo:
1º - Gira a la derecha con un pulso de 1800, durante 5 segundos
2º - Se para un segundo (esto lo se hacer)
3º - Gira a la izquierda con un pulso de 1200, durante 2 segundos
4º - Se para un segundo
He buscado informacion sobre como hacer esto, pero no me funciona y me pone error de sintaxis, ¿son compatibles las instrucciones del lenguaje picbasic para el Microcode y el proton?.
He puesto este ejemplo porque creo habra mucha gente que sabra decirme el codigo para un ejemplo tan sencillo como este, pero si el codigo es para un ejemplo diferente lo acepto tambien porque se guro que me valdra para aprender.
tengo que decir que, se muy poco sobre enviar pulsos a servos pero por lo menos se que en el valor 1500 el servo esta parado y un valor mayor o menor que este hara que el servo gire hacia derecha o izquierda tambien con una velocidad distinta que es mayor cuanto mas extremo es el valor del numero. Con esto quiero decir que entendere los parametros de las instrucciones del ejemplo.
Saludos. 😀
Hola, ya se un poco como programar el 16f84a para mover un servo, aqui pongo el codigo que es muy sencillo:
a var byte
b var byte
a=1
derecha:
b=1
a=a+1
high portb.0
pauseus 1200
low portb.0
pause 10
if a=20 then goto izquierda
goto derecha
izquierda:
b=b+1
high portb.0
pauseus 1800
low portb.0
pause 10
if b=20 then a=0:b=0: goto izquierda
No me funciona como yo quiero, pero ya lo mejorare.
Con otro ejemplo que he probado me sale un error de sintaxis en el microcode:
derecha:
for I = 1 to 255
high portb.1
pauseus 1300
low portb.1
pause 20
next i
pause 1000 ' tiempo de espera para cambiar el sentido de rotación
izquierda:
for I = 1 to 255
high portb.1
pauseus 1700
low portb.1
pause 20
next i
pause 1000
goto inicio
Con este codigo me sale el error en el microcode, ¿Estoy usando mal el bucle for-next? 😥
Gracias de antemano.
Saludos.
Hombre, no se como funciona el editor de programas que usas, pero veo que inicias el bucle con for I (en mayusculas) y lo cierras con next i (en minusculas)
Hola, UCfort gracias por responder, es verdad eso que dices 😳 , pero lo he cambiado y tampoco me funciona :?, en el mensaje de antes tambien falta poner el label inicio:, pero en el programa que tengo yo ya lo tengo puesto desde el principio.
¿Alguien de aqui usa el Microcode Studio Plus? ❓
Si hay alguien, porfavor que me diga como hace para que le funcione el bucle For-Next.
Otra cosa, ¿Como se hace para que gire al reves ? ❓
Saludos.
Wee,
Para que el servo gire al reves...
al trucarlo tienes que sustituir el potenciometro de realimentacion del propio servo por uno sin conexion mecanica al eje de salida, o bien un par de resistencias.. (recomiendo el potenciometro)
Entonces le mandas una señal de la mitad del rango total de movimiento que admite el servo, 1,5mS seria lo normal.. mientras esta llegando esta señal al servo.. ajustas el potenciometro para que el eje de salida deje de rotar.. y ya lo tienes centrado! ahora una señal por encima de 1,5mS hara que el servo gire a derechas por ejemplo... y una señal por debajo de 1,5mS hara que lo haga en sentido contrario.. contra mas se aleje la señal de la central 1,5mS mas rapido correra el servo.
Todo esto lo tienes en http://www.x-robotics.com en la seccion mecanica/montaje/trucaje servo 360º
Saludos y suerte ❗