![]() |
|
|
|
| VHF: Canal 77 |    | ![]() |
![]() |
![]() |
![]() |
![]() |
|
|
|
#1
|
||||
|
||||
|
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. |
|
#2
|
||||
|
||||
Gracias Carcamal. No me expliqué bien. El sensor que has utilizado me parece mejor, en el sentido que creo que no va a ser necesario montarlo en un cardan. Por ello estoy dispuesto a comprarlo y creo que en cuatro dias lo tendré en casa. El servomotor que menciono solo pretendia usarlo como si fuera el que moviera la caña del timón. a modo de prueba. En principio para hacer esta prueba, quisiera prescindir de valores PWM, porque me complicaria tener que añadirle lineas a tu programa. Simplemente quisiera poder montar y experimentar con el dibujo-esquema que has hecho en tu anterior comentario (nº #139) pero poniendo un motor "pequeño", que gire unos segundos cuando, después de pulsar el botón, y yo mueva el sensor a "babor o estribor" unos 5 grados, pueda observar como gira el motor. Supongo que le faltará añadir al código, como dije antes, los los numeros de los pins donde se coloca el motor (de 6v) que imagino que seran salidas analógicas. Y también en que numero de pin "saldrá corriente" cuando el error sea (+5) y en que numero ha de salir cuando sea (-5) de manera que pueda observa como gira en un sentido u otro. Quizás he dicho alguna incongruencia. Pero es lo que me gustaria realizar para empezar. Sinó es posible, pués empezaré por ver como se ilumina un led, y si me funciona también estaré contento, pero no tanto. Gracias de nuevo. |
|
#3
|
||||
|
||||
La consulta anterior del motorcito que queria poner no puede ser. Estoy dando mis primeros pasos en arduino y he descubierto que este motor que tengo es de pasos (para otras aplicaciones). Hoy he acabado los deberes y tenido una alegria, he modificado el típico ejercicio con un led y he probado con dos(babor y estribor)....Y me ha funcionado![]() ![]() Animado por el éxito, he montado el sensor que tenia (HMC6352) solo para seguir probando. Y decepción. Me da error en la compilación ya antes de cargarlo al arduino. Creo que debo tener alguna confusión en los directorios y archivos, porque no he cambiado nada de los ejemplos que he probado. Hasta pronto. |
|
#4
|
||||
|
||||
He avanzado un pasito. ¡Una ronda para todos! Tamamoana, gracias de nuevo por abrir este hilo. Me ha motivado para aprender electrónica. Al final he encontrado un sketch que me reconoce el sensor con el cuál estoy dando estos palos de ciego, el HMC 6352. Lo he compilado y no me ha dado error. Lo he introducido en el arduino y funciona, ohhh que emoción!! pues veo la lectura en grados en el "Monitor Serial" que aparece en mi ordenador y responde a los movimentos que le doy. Ahora viene lo malo, le he añadido dos leds al sketch (para leer rumbos babor y estribor) y también me ha permitido la compilación. Pero cuando le he intentado escribir lo que queria hacer con los dos leds, entonces me ha dado el mesaje de error que veis en la imagen:![]() Llevo dias de sufrimiento. ¿Alguien sabria decirme de donde puede venir el error? Gracias |
| Los siguientes cofrades agradecieron este mensaje a Geronimo | ||
TAMAMOANA (13-11-2014) | ||
|
#5
|
||||
|
||||
|
Hola buenas...
![]() Ese "or" ahí ( y unas lineas mas abajo) no sé si lo reconoce el lenguaje de Arduino. He visto poner || (AltGr+1 del teclado) en lugar de "or". En una guia que tengo al menos lo expresa de ese modo. Es un documento con enlaces a Internet de cada palabra del Arduino Suerte Editado por carcamal en 30-05-2016 a las 18:00. |
|
#6
|
||||
|
||||
|
Acaba de presentarse un nuevo complemento para la raspberry y enseguida he pensado en este proyecto: http://www.gertbot.com/index.html
Basicamente es una placa que se conecta sobre la raspberry y que es capaz de manejar motores y maneja 30V y 3A. Teniendo en cuanta lo facil que es conectar un compas a la raspberry y la cantidad de documentaciñón que hay por ahí quizas sea una alternativa.... Por si acaso sirve yo lo lanzo ![]() |
| Los siguientes cofrades agradecieron este mensaje a sailoog.com | ||
TAMAMOANA (17-11-2014) | ||
|
#7
|
||||
|
||||
|
Cita:
![]() ![]() Gracias por el capote. Cambiaría el sentido del hilo en otra dirección pero sería paralela y de gran interés. Este hilo no tiene porque ser solo de Arduinos. ![]()
__________________
La vida es aquello que te va sucediendo mientras tú te empeñas en hacer otros planes. Editado por TAMAMOANA en 17-11-2014 a las 18:38. |
![]() |
Ver todos los foros en uno |
| Herramientas | |
| Estilo | |
|
|