La Taberna del Puerto

La Taberna del Puerto (https://foro.latabernadelpuerto.com/index.php)
-   Foro Náutico Deportivo (https://foro.latabernadelpuerto.com/forumdisplay.php?f=2)
-   -   Bricobarco Simulador de corredera usando 1 GPS (https://foro.latabernadelpuerto.com/showthread.php?t=90073)

celsitomieres 26-06-2015 12:31

Re: Simulador de corredera usando 1 GPS
 
A mi también me harían falta los archivos!!

Un saludo.

:brindis::brindis::brindis:

duendevelas 30-06-2015 15:53

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..... :brindis:rondas para todos. sin usar la corredera amiga de los caracolillos...

pato 02-07-2015 20:53

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:brindis:

North Side 23-07-2015 21:47

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!!

masivas 27-07-2015 06:36

Re: Simulador de corredera usando 1 GPS
 
Cita:

Originalmente publicado por pato (Mensaje 1807619)
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 :brindis:

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 :brindis:

North Side 25-09-2015 08:59

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

pato 25-09-2015 21:45

Re: Simulador de corredera usando 1 GPS
 
Cita:

Originalmente publicado por masivas (Mensaje 1815838)
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 :brindis:

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

masivas 28-09-2015 16:42

Re: Simulador de corredera usando 1 GPS
 
Cita:

Originalmente publicado por pato (Mensaje 1837184)
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

North Side 29-09-2015 08:13

Simulador de corredera usando 1 GPS
 
Cita:

Originalmente publicado por jiauka (Mensaje 1287556)
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

http://arduino.cc/en/Main/ArduinoBoardNano

1 sensor GPS NMEA0183

http://www.hvwtech.com/products/921/...-00465-300.jpg
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

XALOC 29-09-2015 12:38

Re: Simulador de corredera usando 1 GPS
 
Cita:

Originalmente publicado por duendevelas (Mensaje 1806731)
Sabe alguien de este antro si se puede hacer algo con el display de la tridata ST50 para que me muestre datos de SOG..... :brindis: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?

pato 11-11-2015 17:32

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

ManelvallsVila 29-01-2016 11:38

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!!

:brindis:

Jarcio 31-01-2016 21:22

Re: Simulador de corredera usando 1 GPS
 
1 Archivo(s) adjunto(s)
Cita:

Originalmente publicado por ManelvallsVila (Mensaje 1871276)
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!!

:brindis:

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!

jiauka 01-02-2016 22:28

Re: Simulador de corredera usando 1 GPS
 
Cita:

Originalmente publicado por ManelvallsVila (Mensaje 1871276)
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!!

:brindis:


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.

ManelvallsVila 17-02-2016 16:01

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...

jiauka 17-02-2016 23:38

Re: Simulador de corredera usando 1 GPS
 
Cita:

Originalmente publicado por ManelvallsVila (Mensaje 1876833)
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...

Directamente, no sirve, pero no es dificil modificarlo.

ManelvallsVila 18-02-2016 22:32

Re: Simulador de corredera usando 1 GPS
 
Gracias Jialuka,

Como no tengo ordenadores con windows, estoy haciendo curso acelerado de tutoriales para aprender a cargar el código al arduino Nano con mac, o con la raspberry que tengo en el barco gracias al cofrade Sailoog..

Ahora ya me he dado cuenta de que con el código que ha hecho Jialuka, hay que crear un fichero con el contenido y la extension .c

Estoy investigando en que directorio meto el archivo para ejecutar el codigo... Igual cuando termine publico el manual para inexpertos con tu permiso.

:cid5::cid5:

jmbfri 20-02-2016 17:25

Simulador de corredera usando 1 GPS
 
Este este esquema es válido para el st60 raymarine?
http://uploads.tapatalk-cdn.com/2016...903bfa045c.jpg


Enviado desde mi iPhone utilizando Tapatalk

jiauka 20-02-2016 22:49

Re: Simulador de corredera usando 1 GPS
 
Cita:

Originalmente publicado por jmbfri (Mensaje 1877677)
Este este esquema es válido para el st60 raymarine?
http://uploads.tapatalk-cdn.com/2016...903bfa045c.jpg


Enviado desde mi iPhone utilizando Tapatalk

creo que sí, pero si puedes envia la foto con más resolución, se ve muy pequeña.

jmbfri 20-02-2016 22:53

Simulador de corredera usando 1 GPS
 
http://uploads.tapatalk-cdn.com/2016...43c8185e43.jpg

Espero que se vea mejor


Enviado desde mi iPad con Tapatalk

Jarcio 21-02-2016 09:30

Re: Simulador de corredera usando 1 GPS
 
Cita:

Originalmente publicado por jmbfri (Mensaje 1877791)
http://uploads.tapatalk-cdn.com/2016...43c8185e43.jpg

Espero que se vea mejor


Enviado desde mi iPad con Tapatalk

Hola.

Este es el esquema que adjunté en el post #88 de este hilo (siento que esté hecho a lápiz, un poco cutre, la verdad, pero creo que se entiende bien :cunao::cunao::cunao:).

Comentar que el módulo GPS EM-411 que tengo montado tiene esos colores, pero hay otra versión que tiene todos los cables grises excepto uno negro. Creo que el negro coincide en los dos modelos y orden es el mismo aunque sean todos grises.

Salud y suerte con el tema

jmbfri 21-02-2016 09:41

Simulador de corredera usando 1 GPS
 
Cita:

Originalmente publicado por Jarcio (Mensaje 1877849)
Hola.

Este es el esquema que adjunté en el post #88 de este hilo (siento que esté hecho a lápiz, un poco cutre, la verdad, pero creo que se entiende bien :cunao::cunao::cunao:).

Comentar que el módulo GPS EM-411 que tengo montado tiene esos colores, pero hay otra versión que tiene todos los cables grises excepto uno negro. Creo que el negro coincide en los dos modelos y orden es el mismo aunque sean todos grises.

Salud y suerte con el tema


Exactamente, de ahí cogí el esquema. El módulo lo tengo pedido pero no me ha llegado, hasta que no lo tenga no sabré que versión de cables trae. Como llevas el proyecto, lo tienes ya funcionando?


Enviado desde mi iPhone utilizando Tapatalk

Jarcio 21-02-2016 11:21

Re: Simulador de corredera usando 1 GPS
 
Cita:

Originalmente publicado por jmbfri (Mensaje 1877854)
Exactamente, de ahí cogí el esquema. El módulo lo tengo pedido pero no me ha llegado, hasta que no lo tenga no sabré que versión de cables trae. Como llevas el proyecto, lo tienes ya funcionando?


Enviado desde mi iPhone utilizando Tapatalk

Siiiiiiiiiiiiiiiiiiiiiiiiiiiii, funcionando a tope con un ST40. Gracias a Jiauka, que en un momento de atasco me ayudó a sacarlo adelante :adoracion::adoracion::adoracion:.

Salud

masivas 12-04-2016 23:55

Re: Simulador de corredera usando 1 GPS
 
Buenas noches a todos

Por favor jiauka, podrias volver a subir los ficheros con el codigo, porque en el primer mensaje aparece el codigo, pero no se si esta completo.

Si tu o alguien lo tiene migrado al arduino ide, pues mejor.

Yo tengo algo escrito en el arduino ide que me saca la velocidad en nudos y lo que quiero, es saber como mandarle por un pin (9) la info a la corredera, y eso no me acaba de quedar claro en el codigo que hay publicado.

En fin nose si alguien me puede arrojar luz, muchas gracias.
:brindis::brindis::brindis:

jiauka 13-04-2016 11:35

Re: Simulador de corredera usando 1 GPS
 
Codigo:

http://www.clarens.com/GPS2.zip

esquema:

http://www.clarens.com/GPS2AIRMAR.pdf


Todas las horas son GMT +1. La hora es 12:51.

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