La Taberna del Puerto Svb
"Se navega por los astros, por la mar, por la tierra, por las gentes, por los sentimientos...Se navega." Altair
VHF: Canal 77   
Regresar   La Taberna del Puerto > Foro > Foros Náuticos > Foro Náutico Deportivo

Avisos

 
 
Herramientas Estilo
  #17  
Antiguo 03-11-2014, 17:03
Avatar de carcamal
carcamal carcamal esta desconectado
Capitán pirata
 
Registrado: 12-04-2012
Edad: 73
Mensajes: 826
Agradecimientos que ha otorgado: 253
Recibió 524 Agradecimientos en 269 Mensajes
Sexo:
Predeterminado Re: Piloto automático con el dichoso arduino.

Por partes....
El codigo que puse adjunto unicamente maneja la señal procedente del LSM303 y obtiene el error (+/-) que hay entre un rumbo guardado mediante un boton y los cambios que puede haber posteriores a la pulsacion.
Quiero decir que en ese codigo NO hay nada relativo a salidas PWM o SERVOS u otros usos.

Ese codigo SOLO es aplicable al LSM303... No se que sensor usas pero en el codigo que puse no sera muy dificil adaptarlo para el tuyo.

Una vez obtengas de tu sensor un error a babor o estribor de un rumbo marcado con un boton conectado a TU placa, lo siguiente sería el traducir ese error a valores de PWM con los que hacer girar tu servo en un sentido u otro según la tolerancia del error que quieras manejar.
En un dibujo mas abajo explico lo del PWM.
Ya dije que es algo parecido a un taladro apilas con control de velocidad.
Para explicarlo con el taladro que todos tenemos en casa:
Si el error es positivo atornillamos a derechas (el taladro lleva una palanquita para ello) y la velocidad de giro la controlas con el gatillo (eso es el PWM) con velocidad de lento a maximas revoluciones.
Si el error es negativo atornillamos a izquierdas (la palanquita al contrario) y de igual modo vamos de menos al tope de revoluciones.
Yendo de nuevo a tu servo:
Aqui hay una rutina que controla el servo
http://arduino.cc/en/Tutorial/Sweep
En el codigo de esa pagina hay una variable llamada "pos" que tiene un valor inicial de 0 (cero),
Si ese codigo lo incorporas al de deteccion de error y sustituyes el valor de cero por el del rumbo seleccionado podría el servo moverse a un lado u otro con el error que hubiese despues de fijar el rumbo.
En fin... que hay materia para entretenerse. Y no es tan complicado...
Yo usé codigo copiado de varios sitios de Internet y luego pregunté y pregunté hasta llegar a tener lo que queria...
Saludos y recuperate pronto.

Editado por carcamal en 30-05-2016 a las 18:00.
Citar y responder
 

Svb


Reglas del foro
No puedes crear discusiones
No puedes responder a mensajes
No puedes editar tus adjuntos
No puedes editar tus mensajes

BB code está activado
Emoticonos está activado
El código [IMG] está activado
El código HTML está desactivado
Ir a


Todas las horas son GMT +1. La hora es 20:23.


Powered by vBulletin® Version 3.7.0
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
© La Taberna del Puerto