domingo, 15 de diciembre de 2013

Control de giro de servos

1.GIRO A AMBOS LADOS

Esta práctica consiste en empezar a aprender a usar servos. Concretamente empezamos conectándolo a la placa Picaxe y realizando giros a derechas e izquierdas.
Por último lo aplicamos a un proyecto en el que se clasifican cajas enviándolas al lado derecho o izquierdo.
 

Código del programa:
inicio:
high B.4 'Desconectamos el servo para evitar movimientos involuntarios
if pin5=1 then goto blanco 'si pulsamos interruptor 5
If pin6=1 then goto negro 'si pulsamos interruptor 6
goto inicio ' si no pulsamos ninguno vuelve a inicio
blanco:
servo 4, 75 'giro a izquierdas
pause 5000
servo 4, 225 'giro a derechas
pause 1500
goto inicio
negro:
servo 4, 225
pause 5000
servo 4, 75
pause 1500
goto inicio

2.AUMENTO PROGRESIVO DE GIRO

Esta práctica de control, con Picaxe, propone realizar un aumento del giro realizado por el servo a cada lado.



Código del programa:
inicio:
b1=150
b2=150
giro:
servo 4, b1
pause 200
servo 4, b2
pause 200
let b1=b1-10
let b2=b2+10
if b1menor75 or b1mayor225 then goto inicio
goto giro

3.GIRO COMPLETO Y PASO A PASO

Esta práctica de Picaxe de control de servo propone realizar 2 giros completos del mismo y posteriormente paso a paso.


Código del programa:
inicio:
for b1=1 to 2
servo 4, 75
pause 100
servo 4, 225
next b1

servo 4, 75
pause 100
servo 4, 90
pause 100
servo 4, 105
pause 100
servo 4, 120
pause 100
servo 4, 105
pause 100
servo 4, 90
pause 100
servo 4, 75
pause 100
goto inicio

4.LIMPIAPARABRISAS CON SENSOR DE PRESENCIA

En esta prácticade control de servos con Picaxe hemos realizado una especie de limpiaparabrisas que gire hasta que se encuentre con algún obstáculo que le indique que debe volver al inicio.
Este obstáculo se simula mediante un sensor de reflectancia conectado a una entrada analógica que devuelve un valor u otro en la variable b0 según haya o no presencia del limpiaparabrisas. Así permite el contro del giro según se cambie la posición de dicho obstáculo.
   
 Código del programa:
b1=75
examen:
readadc 0, b0
If b0menor40 then goto paro
If b0mayor40 then goto girar
paro:
b1=75
pause 2000
servo 4, b1
goto examen
girar:
let b1=b1+5
servo 4, b1
goto examen

2 comentarios:

  1. Hola, tengo un problema con un servomotor de picaxe...Como puedo hacer que mi placa "ande" con 4 motores servos en los extremos?
    He intentado hacerlo con el control "servo", y la potencia del motor de 225 y 75 respectivamente. Aún asi, los servomotores que se connectan a las salidas 7 y 6 se paran al empezar la simulación. Necesitamos ayuda porfavor, que hacemos mal?

    ResponderEliminar
    Respuestas
    1. Hola:
      Necesitaria algo mas de información o fotografias de las conexiones que has hecho y la programación que has empleado. Supongo que estamos hablando de una placa como las que empleo yo.
      Si quieres enviarme dicha información aquí tienes mi correo para que pueda estudiar lo que me dices.
      Planchibus2@hotmail.com
      Un saludo

      Eliminar

En este espacio puedes comentar la entrada publicada o hacer preguntas o sugerencias