Tabla de contenido:

Interfaz Arduino Mega con módulo GPS (Neo-6M): 8 pasos
Interfaz Arduino Mega con módulo GPS (Neo-6M): 8 pasos

Video: Interfaz Arduino Mega con módulo GPS (Neo-6M): 8 pasos

Video: Interfaz Arduino Mega con módulo GPS (Neo-6M): 8 pasos
Video: Uso del módulo GPS NEO-6M || Tutorial Arduino 2024, Junio
Anonim
Interfaz Arduino Mega con módulo GPS (Neo-6M)
Interfaz Arduino Mega con módulo GPS (Neo-6M)

En este proyecto, he mostrado cómo conectar un módulo GPS (Neo-6M) con Arduino Mega. La biblioteca TinyGPS se usa para mostrar los datos de Longitud y Latitud y TinyGPS ++ se usa para mostrar Latitud, Longitud, Altitud, Velocidad y número de satélites en el monitor en serie.

Paso 1: componentes necesarios

Hardware

  • Arduino Mega ==> $ 30
  • Módulo GPS Neo-6M ==> $ 30

Software

IDE de Arduino

El costo total del proyecto es de $ 60

Paso 2: información sobre el GPS

Que es GPS

El Sistema de Posicionamiento Global (GPS) es un sistema de navegación por satélite compuesto por al menos 24 satélites. El GPS funciona en cualquier condición climática, en cualquier parte del mundo, las 24 horas del día, sin tarifas de suscripción ni cargos de configuración.

¿Cómo funciona el GPS?

Los satélites GPS giran alrededor de la Tierra dos veces al día en una órbita precisa. Cada satélite transmite una señal única y parámetros orbitales que permiten que los dispositivos GPS decodifiquen y calculen la ubicación precisa del satélite. Los receptores GPS utilizan esta información y trilateración para calcular la ubicación exacta de un usuario. Esencialmente, el receptor GPS mide la distancia a cada satélite por la cantidad de tiempo que tarda en recibir una señal transmitida. Con mediciones de distancia de algunos satélites más, el receptor puede determinar la posición de un usuario y mostrarla.

Para calcular su posición 2-D (latitud y longitud) y rastrear el movimiento, un receptor GPS debe estar conectado a la señal de al menos 3 satélites. Con 4 o más satélites a la vista, el receptor puede determinar su posición 3-D (latitud, longitud y altitud). Por lo general, un receptor de GPS rastreará 8 o más satélites, pero eso depende de la hora del día y de dónde se encuentre en la tierra. Una vez que se ha determinado su posición, la unidad GPS puede calcular otra información, como

  • Velocidad
  • Soportando
  • Pista
  • Dist de viaje
  • Distancia al destino

Que es la señal

Los satélites GPS transmiten al menos 2 señales de radio de baja potencia. Las señales viajan por la línea de visión, lo que significa que atravesarán nubes, vidrio y plástico, pero no atravesarán la mayoría de los objetos sólidos, como edificios y montañas. Sin embargo, los receptores modernos son más sensibles y normalmente pueden rastrear casas. Una señal de GPS contiene 3 tipos diferentes de información

Código pseudoaleatorio

Es un I. D. código que identifica qué satélite está transmitiendo información. Puede ver de qué satélites está recibiendo señales en la página de satélites de su dispositivo.

Datos de efemérides

Los datos de efemérides son necesarios para determinar la posición de un satélite y brindan información importante sobre el estado de un satélite, la fecha y la hora actuales.

Datos de almanaque

Los datos del almanaque le indican al receptor GPS dónde debe estar cada satélite GPS en cualquier momento del día y muestran la información orbital de ese satélite y de todos los demás satélites del sistema.

Paso 3: Módulo GPS Neo-6M

El módulo GPS NEO-6M se muestra en la siguiente figura. Viene con una antena externa y no viene con pines de cabecera. Entonces necesitarás soldarlo.

Descripción general del módulo GPS NEO-6M

Chip GPS NEO-6M

El corazón del módulo es un chip GPS NEO-6M de u-blox. Puede rastrear hasta 22 satélites en 50 canales y alcanza el nivel más alto de sensibilidad de la industria, es decir, seguimiento de -161 dB, mientras consume solo 45 mA de corriente de suministro. El motor de posicionamiento u-blox 6 también cuenta con un tiempo hasta la primera reparación (TTFF) de menos de 1 segundo. Una de las mejores características que ofrece el chip es el modo de ahorro de energía (PSM). Permite una reducción en el consumo de energía del sistema al encender y apagar de manera selectiva partes del receptor. Esto reduce drásticamente el consumo de energía del módulo a solo 11 mA, lo que lo hace adecuado para aplicaciones sensibles a la energía, como el reloj de pulsera con GPS. Los pines de datos necesarios del chip GPS NEO-6M están divididos en encabezados de paso de 0.1 ″. Esto incluye los pines necesarios para la comunicación con un microcontrolador a través de UART.

Nota: - El módulo admite una velocidad en baudios de 4800bps a 230400bps con una velocidad predeterminada de 9600 baudios.

Indicador LED de posición fija

Hay un LED en el módulo GPS NEO-6M que indica el estado de la corrección de posición. Parpadeará a varias velocidades según el estado en el que se encuentre

  1. Sin parpadeo ==> significa que está buscando satélites
  2. Parpadea cada 1 s: significa que se encuentra la corrección de posición

Regulador LDO de 3.3V

El voltaje de operación del chip NEO-6M es de 2.7 a 3.6V. Pero, el módulo viene con el regulador 3V3 de caída ultrabaja MIC5205 de MICREL. Los pines lógicos también son tolerantes a 5 voltios, por lo que podemos conectarlo fácilmente a un Arduino o cualquier microcontrolador lógico de 5 V sin usar ningún convertidor de nivel lógico.

Batería y EEPROM

El módulo está equipado con una EEPROM serial de dos cables HK24C32. Tiene un tamaño de 4 KB y está conectado al chip NEO-6M a través de I2C. El módulo también contiene una batería de botón recargable que actúa como un supercondensador.

Una EEPROM junto con la batería ayuda a retener la RAM respaldada por batería (BBR). El BBR contiene datos de reloj, datos de posición más recientes (datos de órbita GNSS) y configuración del módulo. Pero no está diseñado para el almacenamiento permanente de datos.

A medida que la batería retiene el reloj y la última posición, el tiempo hasta la primera reparación (TTFF) se reduce significativamente a 1 segundo. Esto permite bloqueos de posición mucho más rápidos.

Sin la batería, el GPS siempre arranca en frío, por lo que el bloqueo inicial del GPS lleva más tiempo. La batería se carga automáticamente cuando se aplica energía y mantiene los datos hasta dos semanas sin energía.

Pinout

GND es el pin de tierra y debe conectarse al pin GND en el Arduino

El pin TxD (transmisor) se utiliza para la comunicación en serie

El pin RxD (receptor) se utiliza para la comunicación en serie

VCC suministra energía para el módulo. Puede conectarlo directamente al pin de 5V en el Arduino

Paso 4: Arduino Mega

Arduino es una plataforma electrónica de código abierto basada en hardware y software fáciles de usar. Las placas Arduino pueden leer entradas (luz en un sensor, un dedo en un botón o un mensaje de Twitter) y convertirlo en una salida, activando un motor, encendiendo un LED, publicando algo en línea. Puede decirle a su tablero qué hacer enviando un conjunto de instrucciones al microcontrolador en el tablero. Para hacerlo, utiliza el lenguaje de programación Arduino (basado en Wiring) y el Software Arduino (IDE), basado en Processing.

Arduino Mega

Arduino Mega 2560 es una placa de microcontrolador basada en Atmega2560.

  • Hay 54 pines de E / S digitales y 16 pines analógicos incorporados en la placa que hacen que este dispositivo sea único y se destaque de los demás. De 54 E / S digitales, 15 se utilizan para PWM (modulación de ancho de pulso).
  • Se agrega un oscilador de cristal de frecuencia de 16MHz en la placa.
  • La placa viene con un puerto de cable USB que se utiliza para conectar y transferir el código de la computadora a la placa.
  • El conector de alimentación de CC está acoplado con la placa que se utiliza para alimentar la placa.
  • La placa viene con dos reguladores de voltaje, es decir, 5 V y 3,3 V, que proporciona la flexibilidad para regular el voltaje según los requisitos.
  • Hay un botón de reinicio y 4 puertos serie de hardware llamados USART que producen una velocidad máxima para configurar la comunicación.
  • Hay tres formas de alimentar la placa. Puede usar un cable USB para alimentar la placa y transferir el código a la placa o puede encenderlo usando Vin de la placa o mediante el conector de alimentación o la batería.

Especificaciones

Pinout

Descripción de pin

  • 5V y 3.3V ==> Este pin se usa para proporcionar voltaje regulado de salida alrededor de 5V. Esta fuente de alimentación regulada enciende el controlador y otros componentes de la placa. Se puede obtener de Vin de la placa o cable USB u otra fuente de voltaje regulada de 5V. Mientras que otra regulación de voltaje es proporcionada por un pin de 3.3V. La potencia máxima que puede extraer es de 50 mA.
  • GND ==> Hay 5 pines de tierra disponibles en la placa, lo que lo hace útil cuando se requieren más de un pines de tierra para el proyecto.
  • Reset ==> Este pin se utiliza para reiniciar la placa. Establecer este pin en BAJO reiniciará la placa.
  • Vin ==> Es el voltaje de entrada suministrado a la placa que varía entre 7V y 20V. Se puede acceder al voltaje proporcionado por el conector de alimentación a través de este pin. Sin embargo, el voltaje de salida a través de este pin a la placa se configurará automáticamente en 5V.
  • Comunicación en serie ==> RXD y TXD son los pines en serie que se utilizan para transmitir y recibir datos en serie, es decir, Rx representa la transmisión de datos, mientras que Tx se utiliza para recibir datos. Hay cuatro combinaciones de estos pines seriales que se utilizan donde Serail 0 contiene RX (0) y TX (1), Serial 1 contiene TX (18) y RX (19), Serial 2 contiene TX (16) y RX (17), y la Serie 3 contiene TX (14) y RX (15).
  • Interrupciones externas ==> Se utilizan seis pines para crear interrupciones externas, es decir, interrupción 0 (0), interrupción 1 (3), interrupción 2 (21), interrupción 3 (20), interrupción 4 (19), interrupción 5 (18). Estos pines producen interrupciones de varias formas, es decir, proporcionando valor BAJO, flanco ascendente o descendente o valor cambiante a los pines de interrupción.
  • LED ==> Esta placa viene con un LED incorporado conectado al pin digital 13. El valor HIGH en este pin encenderá el LED y el valor LOW lo apagará.
  • AREF ==> AREF son las siglas de Analog Reference Voltage, que es un voltaje de referencia para entradas analógicas.
  • Pines analógicos ==> Hay 16 pines analógicos incorporados en la placa etiquetados como A0 a A15. Es importante tener en cuenta que todos estos pines analógicos se pueden utilizar como pines de E / S digitales. Cada pin analógico viene con una resolución de 10 bits. Estos pines pueden medir desde tierra hasta 5V. Sin embargo, el valor superior se puede cambiar utilizando la función AREF y analogReference ().
  • I2C ==> Dos pines 20 y 21 admiten la comunicación I2C, donde 20 representa SDA (línea de datos en serie que se usa principalmente para almacenar los datos) y 21 representa SCL (línea de reloj en serie que se usa principalmente para proporcionar sincronización de datos entre los dispositivos)
  • Comunicación SPI ==> SPI son las siglas de Serial Peripheral Interface que se utiliza para la transmisión de datos entre el controlador y otros componentes periféricos. Se utilizan cuatro pines, es decir, 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS) para la comunicación SPI.

Paso 5: IDE de Arduino

Aquí supongo que ya instaló Arduino IDE.

1. Descargue la biblioteca requerida que se indica a continuación

TinyGPS lib

2. Después de descargarlo. Extraerlo y moverlo a la carpeta C: / Users \… / Documents / Arduino / libraries asegúrese de que no haya (-).

3. Abra el IDE de Arduino y copie el código de la sección del programa.

4. Luego seleccione el tablero para eso, vaya a Herramientas ==> Tableros ==> seleccione tablero aquí estamos usando Arduino Mega 2560

5. Después de seleccionar la placa, seleccione el puerto para eso, vaya a Herramientas ==> Puertos

6. Después de seleccionar la placa y el puerto, haga clic en cargar.

7. Una vez que se cargue el código, abra el terminal en serie para ver el resultado.

Paso 6: Conexiones

Arduino MEGA ==> NEO-6M GPS

  • 3,3 V ==> VCC
  • GND ==> GND
  • Tx1 (18) ==> Rx
  • Rx (19) ==> Tx

También puede utilizar Serial2 o Serial3 en lugar de Serial1

Recomendado: