Ir a contenido
Tienda de electrónica en México. Whatsapp. 33 26 13 22 69 Tel. (33) 20 16 51 95. Atención de Lunes a Viernes de 9:30am a 5:30pm.
Tienda de electrónica en México. Whatsapp. 33 26 13 22 69 Tel. (33) 20 16 51 95. Atención de Lunes a Viernes de 9:30am a 5:30pm.
Medidor de velocidad GPS

Medidor de velocidad GPS

Objetivo:

Crear un dispositivo medidor de velocidad usando un GPS.

El sensor que se usara en esta ocasión es u-blox gps.

El modulo posee u-blox neo 6M, una memoria EEPROM en la cual vienen datos con las configuraciones necesarias para utilizar el modulo u-blox neo 6M. Además de una antena cerámica.

¿Que es un gps?

GPS Global Positioning System. Es un sistema que permite determinar en toda la Tierra la posición de cualquier objeto

¿Como funciona?

El GPS funciona mediante una red de como mínimo 24 satélites en órbita sobre el planeta Tierra, a aproximadamente 20.000 km de altura, con órbitas distribuidas para que en todo momento haya al menos 4 satélites visibles en cualquier punto de la tierra.

Determinación de la posición

Para determinar su posición, se necesita 4 o más satélites y utiliza la trilateración. La trilateración es un método matemático para determinar las posiciones relativas de objetos usando la geometría de triángulos de forma análoga a la triangulación.



Para desplegar los datos usaremos una pantalla OLED i2c

Las pantallas OLED se caracterizan por su gran contrastebajo consumo 0.04wresolución de 128*64 pixeles, permitiendo controlar cada pixel ideal para texto o gráficos.

A diferencia de las pantallas LCD las pantallas OLED no necesitan retroiluminación, lo que significa mejor contraste y claridad.

Desarrollo

Material:

Para utilizar la pantalla es necesario instalar las siguientes librerías:

  • https://github.com/greiman/SSD1306Ascii

El proceso de instalación puede ser desde el IDEde arduino o de forma manual, copiando todo el contenido de la carpeta librerías dentro de la siguiente ruta C:/Documentos/Arduino/libreries/

Una vez instaladas las librerías debemos incluirlas en el programa.

    PANTALLA OLED

    Linea

    display.drawLine(x0, y0, x1, y1, color);

    x0: es la coordenada X del punto de inicio.
    y0: es la coordenada Y del punto de inicio.
    x1: es la coordenada X del punto final.
    y1: es la coordenada Y del punto final.
    color: normalmente se utiliza SSD1306_WHITE.

    Rectángulo

    Para dibujar el contorno de un rectángulo utiliza la siguiente función.

    display.drawRect(x0, y0, x0, y0, SSD1306_WHITE);

    Rectángulo relleno

    display.fillRect(x0, y0, x0, y0, SSD1306_WHITE);

    x0: es la coordenada X del punto de inicio.
    y0: es la coordenada Y del punto de inicio.
    x1: es la coordenada X del punto final.
    y1: es la coordenada Y del punto final.
    color: normalmente se utiliza SSD1306_WHITE

    Circulo

    Para dibujar el contorno de un círculo utiliza la siguiente función.

    display.drawCircle(x0, y0, radio, color);

    Circulo relleno

    display.fillCircle(x0, y0, radio, color);

    x0: es la coordenada X del centro.
    y0: es la coordenada Y del centro.
    radio: es el radio del círculo.
    color: normalmente se utiliza SSD1306_WHITE.

    Diagrama de conexión

    Ya sabemos como funciona la pantalla oled y el gps por lo que cargaremos el código final:

    Código

     

    Diseño CASE

     Conclusiones

    El uso del gps en interiores es un problema si no se usa una antena externa. Además que en exteriores toma de 1 a 2 minutos en conectar con 3 satélites para el correcto funcionamiento.

    Usar una pantalla oled con la librería de adafruit resulto que necesitaba bastante memoria y usar dos pantallas saturaba la memoria por lo que se uso una versión reducida, las funciones no llevaban el mismo nombre por lo que dejo a continuación la documentación de la librería.

    Referencias

    https://es.wikipedia.org/wiki/GPS

    https://es.wikipedia.org/wiki/Trilateraci%C3%B3n

    https://www.gpsinformation.org/dale/nmea.htm

     

     

    Artículo anterior Sensor de teperatura con relevador
    Artículo siguiente Sensor de temperatura y humedad analógico AMT1001

    Dejar un comentario

    Los comentarios deben ser aprobados antes de aparecer

    * Campos requeridos