VHF: Canal 77
"Se navega por los astros, por la mar, por la tierra, por las gentes, por los sentimientos...Se navega." — Altair

Anuncio

Colapsar

NORMAS DEL FORO: OBLIGATORIA SU LECTURA

Hola cofrade, has recalado en la Taberna del Puerto, algo más que un foro náutico. Eres bienvenido, participa, aprende y enséñanos; de eso se trata, de enriquecernos todos en nuestros conocimientos, y sobre todo de pasar un buen rato. No entres si vienes buscando conflictos, polémicas o cualquier otro fin que no sean los anteriormente descritos. Tenemos algunas normas y es obligatorio que las leas antes de empezar.

1/ Este es un foro náutico y aunque se permite hablar de otros temas, se ruega contención en el uso de los mismos, para ello existe un foro específico.

2/ Usa títulos claros y que describan el contenido del tema. De este modo será más fácil encontrarlos en el buscador para posteriores consultas además de que facilitas el trabajo de los que te vayan a responder. Títulos ambiguos como “ayuda”, “tengo un problema”, etc... no colaboran a este fin. Inserta tú tema en el foro adecuado, mira antes de lanzarlo por si alguien poco antes que tú ha puesto lo mismo; si es así no crees un tema nuevo, contesta al otro. Usa el buscador, es una gran herramienta. No escribas todo el texto con mayúsculas, se interpreta como que estás gritando. Todo esto facilita enormemente el trabajo de los que curramos aquí.

3/ No se permite el "spam" ni la publicidad de empresas o de actividades que conlleven lucro. Tampoco solicitud de ofertas de empresas o profesionales salvo en los foros de anuncios de compra-venta.

4/ No uses el foro como un chat salvo en aquellos temas habilitados a tal efecto, los cuales periódicamente serán eliminados. Las contestaciones reiterativas y/o automáticas, haciendo uso del sistema copi-pegui o cualquier otro no están permitidas.

5/ Respeta a los demás y a sus opiniones si quieres que las tuyas sean respetadas. Los insultos, la agresividad, el mal gusto y la mala educación no están permitidas en este foro. Aquí venimos a divertirnos, no a pelearnos. Se prohíbe insultar, ser agresivo, maleducado, soez, no respetar a los demás, intentar imponer nuestras ideas, empezar o dar pie a que empiecen peleas o trifulcas. Se exige orden y delicadeza a la hora de tratar ciertos asuntos, como por ejemplo, en lo que a la ortografía se refiere. Serán considerados como insultos y faltas de respeto el calificar a los Moderadores y/o Administradores como censores, dictadores, que coartan la libertad de expresión, que aplican un doble rasero, y expresiones similares.

6/ Nos gusta conocer con quién hablamos, así que, una pequeña presentación en el foro correspondiente que existe para tal fin siempre será bien recibida. No obstante, si alguien decide no presentarse, los demás usuarios se abstendran de reclamar dicha presentación y/o realizar crítica o petición alguna.

7/ Los temas políticos o que induzcan a la polémica innecesaria, mejor los dejas para otros foros de los muchos que hay para ello en la red. Se prohíbe hablar de política, de política económica, de política social, de nacionalismos, de antinacionalismos, de diferencias idiomáticas, de banderas nacionales, de exaltaciones patrióticas, de hechos diferenciales, de religión, de anti-religíon, de toros y del maltrato animal, y en general de todos los temas que se sabe de antemano van a ser polémicos y mucho más si no son náuticos. No contestes a estos temas o mensajes, informa a los administradores. No se tolerarán actitudes racistas, xenófobas, sexistas, denigrantes hacia otros colectivos o para con los demás, totalitarias o extremistas sean del signo que sea.

8/ El reenvío de mensajes que hayan sido modificados, o bien el envío de otros mensajes que muestren su descontento con esta modificación, pueden conducir al bloqueo de la cuenta. Esto también sucederá cuando un usuario insista en retomar algún tema o continuar sobre una conducta de la que se le ha alertado. En casos de que la mala conducta de un usuario continúe, se podrá proceder a su expulsión definitiva.

9/ Todos los temas y/o mensajes que fomenten la piratería sobre cualquier software u otro material protegido, o informen de cómo o dónde llevarla a cabo serán retirados inmediatamente del foro. No obstante, y debido a la imposibilidad por parte de los administrador de controlar todos los temas y mensajes , si alguien detecta cualquier incidencia de este tipo ruego lo comunique de forma inmediata a la administración, especificando el enlace al tema para poder ser retirado.

10/ Se prohíbe la reproducción total o parcial de textos u otros medios sujetos a Copyright y/o pertenecientes a otras webs, foros, etc... Sin embargo si que se podrán insertar enlaces a los mismos, pero siempre haciendo referencia a la página propietaria.

11/ La Taberna es un foro en lengua castellana o español, pero cada uno es libre de expresarse como quiera, allá él si la mayoría no lo entiende. Los usuarios se abstendrán de hacer ningún comentario indicando al que escribe en otra lengua su pertinencia o no. Tampoco se tolerará el uso del idioma como arma reivindicativa de ningún tipo.

12/ No se permiten insultos ni difamaciones a empresas, profesionales o particulares. Tampoco acusaciones de ningún tipo, que no estén probadas o demostradas judicialmente o por lo medios legales adecuados. Este no es un medio para presentar denuncias, para ello, existen los juzgados, consumo, etc...

13/ No se permite la inserción de hilos o mensajes con el fin de generar exclusivamente tráfico a otras web o canales, bien sea mediante enlaces, mediante árticulos, ficheros o datos parciales, o por cualquier otro método.

14/ Cualquier incumplimiento de estas normas, puede ser motivo de amonestación y/o expulsión del autor, de borrado o cierre de temas o mensajes, o de cualquier otra medida que la administración decida para intentar hacer que éstas sean cumplidas. Los temas pueden ser movidos o unidos sin previo aviso a criterio de los administradores.

15/ Si estás de acuerdo con ellas este es tú sitio; si no te gustan, no te apetece cumplirlas, las consideras restrictivas, censoras o que coartan tu libertad de expresión, no entres, no intervengas, y no te quejes cuando te sean aplicadas las medias correctoras adecuadas. No luches por cambiarlas a tu conveniencia, no puedes.

16/ Baja Voluntaria del foro.

Ni éste ni ningún otro Foro tiene previsto un sistema de Bajas voluntarias y automáticas. Simplemente con dejar de participar en él, y editar el Perfil de usuario para que dejen de aparecer los datos que crean no deben verse es sufiente.

No obstante, si alguien quiere que se le borre su cuenta, deberá enviar un e-mail desde el enlace "contáctanos" que se encuentra en la parte inferior del foro usando el e-mail con el que está registrado en la Taberna ya que es la única forma de comprobar la autenticidad del que se quiere dar de baja.
Así se evita que alguien pueda coger los datos de tu cuenta y pedir que se borre la misma.

Por otro lado advertir que los mensajes del usuario aparecerán, una vez borrada la cuenta, como realizados por un "invitado" ya que las intervenciones en un Foro público, son públicas. Es decir, desde el momento en que se publican dejan de pertenecer al usuario. Por otro lado, como siempre hay contestaciones a los mensajes, si algunos son borrados, el hilo deja de tener sentido.

En cualquier caso, si existe algún o algunos mensajes en el que aparezcan datos personales que el usuario no quiere que sigan apareciendo, ANTES de pedir la baja, podrá reportarnos estos mensajes, usando la opción "reportar mensajes" y nosotros eliminaremos esos datos personales.

Se entiende que una vez borrada la cuenta, esta acción es irreversible, con lo cual no se podrá volver atrás.


Estas normas pueden ser modificadas sin previo aviso, por lo que se recomienda consultarlas regularmente...



Bueno, y eso es todo, pasa, busca asiento por donde puedas y pide lo que guste...
Ver más
Ver menos

Simulador de corredera usando 1 GPS

Colapsar
X
 
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes

  • #76
    Re: Simulador de corredera usando 1 GPS

    A mi también me harían falta los archivos!!

    Un saludo.

    Comentario


    • #77
      Re: Simulador de corredera usando 1 GPS

      Sabe alguien de este antro si se puede hacer algo con el display de la tridata ST50 para que me muestre datos de SOG..... rondas para todos. sin usar la corredera amiga de los caracolillos...
      Editado por última vez por duendevelas; 30/06/2015, 15:54:21. Razón: fato datos...jejeje

      http://veleroduende.webcindario.com/

      Comentario


      • #78
        Re: Simulador de corredera usando 1 GPS

        Buenas tardes me he decidido a comprar el arduino en espera de que programen a ver si funciona
        Editado por última vez por pato; 29/09/2015, 16:41:53.

        Comentario


        • #79
          Respuesta: Simulador de corredera usando 1 GPS

          Bueno amigos... ¿Alguien de por aquí ha tenido acceso a la documentación de este proyecto para poder enviarla?

          Saludos!!

          Comentario


          • #80
            Re: Simulador de corredera usando 1 GPS

            Originalmente publicado por pato Ver Mensaje
            Buenas tardes me he decidido a comprar el arduino desearía que le hachareis un vistazo al esquema a ver si las conexiones son correctas y cuales no y adonde iría a parar las conexiones de la corredera en la parte de programación ya me buscare la vida espero que me corrijáis y si tengo que colocar mas elementos, transistores, diodos, etc mi corredera es B&G unas
            Hola yo tambien tengo B&G Network, y estoy muy interesado en este tema, por eso queria preguntarte si ya has conseguido hacerlo funcionar.

            saludos y

            Comentario


            • #81
              Respuesta: Simulador de corredera usando 1 GPS

              Buenas, estoy intentando programar el Arduino con el Atmel Studio 6.2 pero no hay manera de compilar el código, me devuelve un error tal que así:
              Código:
              unrecognized command line option '-Wl'
              ¿Alguien sería tan amable de decirme que estoy haciendo mal?

              Muchas gracias y un saludo

              Comentario


              • #82
                Re: Simulador de corredera usando 1 GPS

                Originalmente publicado por masivas Ver Mensaje
                Hola yo tambien tengo B&G Network, y estoy muy interesado en este tema, por eso queria preguntarte si ya has conseguido hacerlo funcionar.

                saludos y
                Perdona no ver tu mensaje te cuento compradas todos los elementos localizadas las puntas correspondientes para hacer la conexión y esperando que me lo programen el arduino mi corredera es B&G pero el modelo FOCUS si monto el artilugio lo pondré aquí y pondré el esquema por si le vale a alguien

                Comentario


                • #83
                  Re: Simulador de corredera usando 1 GPS

                  Originalmente publicado por pato Ver Mensaje
                  Perdona no ver tu mensaje te cuento compradas todos los elementos localizadas las puntas correspondientes para hacer la conexión y esperando que me lo programen el arduino mi corredera es B&G pero el modelo FOCUS si monto el artilugio lo pondré aquí y pondré el esquema por si le vale a alguien
                  Muchas gracias, lo esperare ansiosamente

                  Comentario


                  • #84
                    Simulador de corredera usando 1 GPS

                    Originalmente publicado por jiauka Ver Mensaje
                    Hola:

                    Hace días que tenía pendiente 1 pequeño brico para sustituir el típico sensor airmar analógico que llevan muchos veleros (el típico con el cable de masa, rojo y verde). Lo que hace es simular los impulsos en función de la velocidad GPS (SOG), ya sé que no es muy ortodoxo, ya que no tiene en cuenta la corriente, pero no tengo ningún agujero en el casco y no quiero hacerlo.

                    He usado 1 placa de desarrollo arduino



                    1 sensor GPS NMEA0183


                    y 1 poco de programación en C algo cutre.
                    Código:
                      
                    
                    #define F_CPU 16000000L
                    #include <avr/io.h>
                    #include <avr/interrupt.h>
                    #include <util/delay.h>    // including the avr delay lib
                    #include "led.h"            // Header file for led
                    #include "usart.h"            // Header for Serial communication
                    #include "SoftwareSerial.h"
                    
                    #define MYDEBUG(x)
                    
                    // OBJECT CREATION
                    LED led1(0x05,5);            // Creates an object called led1 connected to PortB.5 (0x05 is the Special function register for PORTB)
                    LED output(0x0b,4);  //PPRTD, bit 4
                    
                    SoftwareSerial mySerial(2, 3,false);
                    #include <avr/io.h>
                    #include <avr/interrupt.h>
                    
                    #define FOSC F_CPU // Clock Speed
                    #define BAUD 115200      // Baud Rate
                    #define MYUBRR (((((FOSC * 10) / (16L * BAUD)) + 5) / 10) - 1)
                    
                    // NMEA setences
                    #define NMEA_DISABLE_CGA "PSRF103,00,00,00,01"
                    #define NMEA_DISABLE_GLL "PSRF103,01,00,00,01"
                    #define NMEA_DISABLE_GSA "PSRF103,02,00,00,01"
                    #define NMEA_DISABLE_GSV "PSRF103,03,00,00,01"
                    #define NMEA_DISABLE_RMC "PSRF103,04,00,00,01"
                    #define NMEA_DISABLE_VTG "PSRF103,05,00,00,01"
                    #define NMEA_ENABLE_VTG_1HZ "PSRF103,05,00,05,01"
                    #define NMEA_QUERY_VTG "PSRF103,05,01,01,01"
                    
                    char nmea_data[128];
                    char setnyb(unsigned char c)
                    {
                      if(c<9) return c+'0';
                      else return c-10+'A';
                    }
                    
                    void send_nmea(const char *datagram) {
                        int i;
                        char *p=(char*)datagram;
                        unsigned char checksum=0;
                        i=0;
                        nmea_data[i++]='$';
                        while(*p) {
                            nmea_data[i]=*p++;
                            checksum=checksum^nmea_data[i];
                            i++;
                        }
                        nmea_data[i++]='*';
                        nmea_data[i++]=setnyb((checksum >> 4) &0x0f);
                        nmea_data[i++]=setnyb(checksum &0x0f);
                        nmea_data[i]=0x00;
                        mySerial.println((const String &)nmea_data);
                        
                    }
                    #define STAT_NMEA_NONE 0
                    #define STAT_NMEA_HEADER 1
                    #define STAT_NMEA_DATA 2
                            
                    //    VTG-Course Over Ground and Ground Speed
                    //$GPVTG,309.62,T,,M,0.13,N,0.2,K
                    char nmea_header[5];
                    char nmea_field[32];    
                    int knots=1450,dotpos,tknots=10;
                    
                    int int_counter = 0;
                    volatile int second = 0;
                    int oldSecond = 0;
                    long starttime = 0;
                    int on=0;
                    /* Timer2 reload value, globally available */  
                    unsigned int tcnt2;  
                     
                    // Aruino runs at 16 Mhz, so we have 1000 Overflows per second...
                    // 1/ ((16000000 / 64) / 256) = 1 / 1000
                    ISR(TIMER2_OVF_vect) {
                           /* Reload the timer */  
                          TCNT2 = tcnt2;  
                        int_counter++;
                        if(tknots > 0 ) {
                              if (int_counter >= tknots) {
                                 if(on) {
                                     led1.on();
                                    output.on();
                                    on=0;
                                }
                                   else {
                                       led1.off();
                                    output.off();
                                    on=1;
                                }
                                int_counter = 0;
                            }
                        }
                    };
                     
                     void timer_setup() {  
                      
                      TIMSK2 &= ~(1<<TOIE2);  
                      
                      /* Configure timer2 in normal mode (pure counting, no PWM etc.) */  
                      TCCR2A &= ~((1<<WGM21) | (1<<WGM20));  
                      TCCR2B &= ~(1<<WGM22);  
                      
                      /* Select clock source: internal I/O clock */  
                      ASSR &= ~(1<<AS2);  
                      
                      /* Disable Compare Match A interrupt enable (only want overflow) */  
                      TIMSK2 &= ~(1<<OCIE2A);  
                      
                      /* Now configure the prescaler to CPU clock divided by 128 */  
                      TCCR2B |= (1<<CS22)  | (1<<CS20); // Set bits  
                      TCCR2B &= ~(1<<CS21);             // Clear bit  
                      
                      /* We need to calculate a proper value to load the timer counter. 
                       * The following loads the value 131 into the Timer 2 counter register 
                       * The math behind this is: 
                       * (CPU frequency) / (prescaler value) = 125000 Hz = 8us. 
                       * (desired period) / 8us = 125. 
                       * MAX(uint8) + 1 - 125 = 131; 
                       */  
                      /* Save value globally for later reload in ISR */  
                      tcnt2 = 131;   
                      
                      /* Finally load end enable the timer */  
                      TCNT2 = tcnt2;  
                      TIMSK2 |= (1<<TOIE2);  
                    }  
                    
                    int main(void)
                    {
                        char c,*p;
                        unsigned char stat=STAT_NMEA_NONE;
                        int i,head_counter,nmea_field_counter,nmea_field_data_counter;
                        // INITIALIZATIONS
                        DDRB = 0b00100000;    //B5 output: board LED
                        USART_Init(MYUBRR); // Initializes the serial communication
                    
                        mySerial.begin(4800);
                        mySerial.listen();
                        tknots=10000/knots;
                        timer_setup();
                        _delay_ms(1000);
                        sei();
                        send_nmea(NMEA_DISABLE_CGA);
                        send_nmea(NMEA_DISABLE_GLL);
                        send_nmea(NMEA_DISABLE_GSA);
                        send_nmea(NMEA_DISABLE_GSV);
                        send_nmea(NMEA_DISABLE_RMC);
                        send_nmea(NMEA_DISABLE_VTG);
                        send_nmea(NMEA_ENABLE_VTG_1HZ);
                        while(1)
                        {
                            sei();
                            
                             if (mySerial.available()) {
                                c=mySerial.read();
                                MYDEBUG(USART_Sendbyte(c));
                                if( c < 0x20) {
                                    stat=STAT_NMEA_NONE;
                                }
                                if( c == 0x0a) {
                                    _delay_ms(100);
                                    send_nmea(NMEA_QUERY_VTG);
                                }
                                switch (stat) {
                    
                                    case STAT_NMEA_HEADER:
                                        if(head_counter < 5 ) {
                                            nmea_header[head_counter++] = c;
                                            if(head_counter==5) {
                                                if(strncmp(nmea_header,"GPVTG",5) ==0) {
                                                    MYDEBUG(USART_Send_string("GPVTG\r\n"));
                                                    stat=STAT_NMEA_DATA;
                                                    nmea_field_counter=0;
                                                    head_counter=0;
                                                } else {
                                                    stat=STAT_NMEA_NONE;
                                                }                            
                                            }
                                        } else {
                                            stat=STAT_NMEA_NONE;
                                        }                            
                                
                                    break;
                                    case STAT_NMEA_DATA:
                                        if(c == ',') {
                                            if(nmea_field_counter==5) {
                                                p=nmea_field;
                                                dotpos=0;
                                                knots=0;
                                                while(*p) {
                                                    if(*p >= '0' && *p <= '9') {
                                                        knots=knots*10+*p-'0';
                                                    }
                                                    p++;
                                                }
                                                sprintf(nmea_field,"\r\nspeed=%d\n\r",knots);
                                                USART_Send_string(nmea_field);
                                                if(knots>0)
                                                    tknots=10000/knots;
                                                else
                                                    tknots=0;
                                            }                            
                        
                                            nmea_field_counter++;
                                            nmea_field_data_counter=0;
                                            nmea_field[0]=0;
                                        }
                                        if(nmea_field_counter==5) {
                                            nmea_field[nmea_field_data_counter++]=c;
                                            nmea_field[nmea_field_data_counter]=0;
                                        }
                                        break;
                                    case STAT_NMEA_NONE:
                                    default:
                                        if(c=='$') {
                                            stat=STAT_NMEA_HEADER;
                                            head_counter=0;
                                        }
                                    break;
                                }
                            }
                        }
                    }
                    Si hay alguien interesado en esquema, etc... para hacerse 1 que me lo diga y miro de pasarlo a limpio.

                    Hola jiauka. Te he puesto un privado también, pero parece que no te llega o tienes la entrada llena. Me puedes orientar sobre esto:

                    Buenas, estoy intentando programar el Arduino con el Atmel Studio 6.2 pero no hay manera de compilar el código, me devuelve un error tal que así:

                    Código:
                    unrecognized command line option '-Wl'


                    ¿Alguien sería tan amable de decirme que estoy haciendo mal?



                    Muchas gracias y un saludo

                    Comentario


                    • #85
                      Re: Simulador de corredera usando 1 GPS

                      Originalmente publicado por duendevelas Ver Mensaje
                      Sabe alguien de este antro si se puede hacer algo con el display de la tridata ST50 para que me muestre datos de SOG..... rondas para todos. sin usar la corredera amiga de los caracolillos...


                      Lo mismo digo, ¿Con gps de la RS120 y el Raymarine C70 se pueden pasar los datos de SOG al ST60 sin usar el artilugio del colega Jijauka?
                      sigpic
                      En Instagram somos THESAILINGDREAMERS y allí podéis seguir nuestra aventura NAVEGADA 2023 desde el Cantábrico al Mediterráneo (fotos y vídeos)

                      Y si os gusta leer, también podéis descargar mi novela, con tema náutico de fondo
                      , "Los caminos del agua"


                      https://www.libreriaproteo.com/libro...-del-agua.html

                      Visita mi blog, encontrarás relatos para leer (algunos con la mar de fondo).
                      http://elblogdejlconty.blogspot.com.es/

                      Comentario


                      • #86
                        Re: Simulador de corredera usando 1 GPS

                        Hola buenos tardes intento conectar el arduino (que ya me lo han programado)con la corredera para evitar tener que limpiarla mi corredera es B&G modelo Focus conecto y resulta que parece que no llega a los 5 v que necesita el gps, alimento con 12 v por su patilla y funciona el modulo gps con su parpadeo que según el informático significa que ya tiene posición, conecto todo como se ve en el esquema pero nada que estoy haciendo mal o que me falta por favor echarme un cable gracias
                        Editado por última vez por pato; 16/01/2016, 21:53:34.

                        Comentario


                        • #87
                          Re: Simulador de corredera usando 1 GPS

                          Gracia Jialuka por este invento que hace practico llevar la velocidad en la corredera mas simple,

                          Existe algun programa que aproveche la señal del gps del barco para que el arduino tenga estos datos?

                          En cualquier caso, me puede pasar alguien el esquema, para saber que cables hay que conectar del gps al arduino, y del arduino al display corredera?

                          Gracias de nuevo!!

                          Editado por última vez por ManelvallsVila; 29/01/2016, 12:42:13.

                          Comentario


                          • #88
                            Re: Simulador de corredera usando 1 GPS

                            Originalmente publicado por ManelvallsVila Ver Mensaje
                            Gracia Jialuka por este invento que hace practico llevar la velocidad en la corredera mas simple,

                            Existe algun programa que aproveche la señal del gps del barco para que el arduino tenga estos datos?

                            En cualquier caso, me puede pasar alguien el esquema, para saber que cables hay que conectar del gps al arduino, y del arduino al display corredera?

                            Gracias de nuevo!!

                            Hola ManelvallsVila. Espero que te sirva.

                            El transistor creo que es un BC547.

                            Gracias a Jiauka por compartir esto, me funciona de cine en el barco.

                            Salud y suerte!
                            Archivos Adjuntos

                            Comentario


                            • #89
                              Re: Simulador de corredera usando 1 GPS

                              Originalmente publicado por ManelvallsVila Ver Mensaje
                              Gracia Jialuka por este invento que hace practico llevar la velocidad en la corredera mas simple,

                              Existe algun programa que aproveche la señal del gps del barco para que el arduino tenga estos datos?

                              En cualquier caso, me puede pasar alguien el esquema, para saber que cables hay que conectar del gps al arduino, y del arduino al display corredera?

                              Gracias de nuevo!!


                              Puedes sustituir el modulo gps por 1 conversor rs232/ttl y usar la salida de tu gps conectada a la entrada del modulo rs232 y su salida a la entrada del arduino , la salida del puerto serie del arduino la dejas sin conectar.

                              Comentario


                              • #90
                                Re: Simulador de corredera usando 1 GPS

                                Otra pregunta, sabeis si con el IDE compiler de arduino se puede cargar este software al Arduino?

                                Esta noche me meto con el tema a ver si me sale...

                                Comentario

                                Trabajando...
                                X