Arduino GPS: per localizzazione e posizionamento

Arduino GPS

Con la scheda di sviluppo Arduino può realizzare una moltitudine di progetti, il limite è spesso la fantasia. Con il componenti e moduli elettronici, è possibile aggiungere funzionalità in modo da poter fare più cose. Una di queste funzionalità potrebbe essere la capacità di localizzare oggetti o persone, o localizzare tramite posizionamento con Arduino GPS.

Questo tipo di posizionamento e tracciamento può essere fatto utilizzando RFID o ricevitori come quello di cui parleremo in questo articolo. Con questo sarai in grado di creare una moltitudine di progetti, da giochi con cui creare un rilevatore e localizzare oggetti, localizzare oggetti rubati, essere in grado di localizzarti usando un GPS, ecc.

Modulo GPS Arduino NEO-7

Arduino NEO-6 GPS

Per avere Arduino GPS, puoi usare il Dispositivi NEO-6, una famiglia prodotta da U-Blox e che può essere collegata alla scheda Arduino in modo semplice. Inoltre, dispongono di un'interfaccia di comunicazione completa, con UART, SPI, I2Ce USB, oltre a supportare i protocolli NMEA, UBX binari e RTCM.

Inoltre, questo GPS Arduino con NEO-6 ti consente anche di ridurre al minimo le dimensioni del tuo progetto, poiché ha un piccola dimensione, oltre che a basso costo. In termini di consumo, è anche piccolo. Quando è in modalità attiva, avrà bisogno solo di 37 mA. È alimentato da 2.7 a 3.6 V per i modelli NEO-6Q e NEO-6M, mentre ce ne sono altri di tensione inferiore chiamati NEO-6G che richiedono solo tra 1.75 e 2 V.

Se sono integrati in un modulo, includerà a Regolatore di tensione che permetterà di alimentarlo direttamente dalla connessione Arduino 5v
.

Altri parametri interessanti di questo modulo sono:

  • I 30 secondi di tempo di accensione freddo e solo 1 secondo per l'avviamento a caldo.
  • La frequenza massima di misurazione funzionano a soli 5Hz.
  • Precisione della posizione di 2.5 metri di variazione.
  • Precisione della velocità 0.1 m/s.
  • Variazione di orientamento di soli 0.5º.

Dove acquistare un NEO-6 per Arduino GPS

Puoi trovare questi dispositivi e moduli in molti negozi di elettronica specializzati, o anche su Amazon. Ad esempio, qui puoi compralo ad un prezzo molto conveniente:

Esempio con Arduino

Screenshot dell'IDE di Arduino

Puoi imparare di più sulla programmazione con Arduino con il corso PDF gratuito che puoi scarica da qui.

La prima cosa che devi fare per collegarlo alla tua scheda di sviluppo e avere il tuo Arduino GPS è connettere il tuo modulo NEO-6 alla scheda. Il Conexiones sono realizzati in modo molto semplice (connessioni modulo NEO-6 - connessioni Arduino):

  • GND - GND
  • TX - RX (D4)
  • RX - TX (D3)
  • Vcc - 5V

Una volta connesso, dovrai anche scaricare il Libreria SoftSerial nel tuo IDE Arduino, poiché sarà necessario per la comunicazione seriale. È probabile che tu lo abbia già da altri progetti, ma in caso contrario, dovrai farlo Scarica e installa nel tuo IDE.

Fatto ciò, puoi iniziare con il tuo semplice codice per eseguire le letture. Ad esempio, poiché possono essere utilizzati diversi protocolli, ecco lo schizzo per NMEA:

#include <SoftwareSerial.h>

const int RX = 4;
const int TX = 3;

SoftwareSerial gps(RX, TX);

void setup()
{
   Serial.begin(115200);
   gps.begin(9600);
}

void loop()
{
   if (gps.available())
   {
      char data;
      data = gps.read();
      Serial.print(data);
   }
}

Naturalmente, puoi apportare le tue modifiche o utilizzare altri protocolli se lo desideri... Puoi anche utilizzare gli esempi disponibili nel tuo IDE per questa libreria. Ma, prima di concludere l'articolo, dovresti sapere che il formato NMEA (National Marine Electronics Asociation) è molto particolare, per capirlo bisogna conoscerne la sintassi:

$ GPRMC, hhmmss.ss, A, llll.ll, a, aaaaa.aa, a, vv, xx, ggmmaa, mm, a * hh

Cioè, $ GPRMC è seguito da una serie di parametri che indicano la posizione:

  • hmmss.ss: è l'ora UTC in ore, minuti e secondi.
  • A: stato del ricevitore, dove A = OK e V = alert.
  • llll.ll, a: è la latitudine, dove a può essere N o S, per nord o sud.
  • aaaa.aa, a: è la lunghezza. Anche in questo caso a può essere E o W, cioè est o ovest.
  • vv: velocità in nodi.
  • xx: è il corso in gradi.
  • ggmmay: è la data UTC, espressa in giorni, mesi e anno.
  • mm, a: è la variazione magnetica in gradi, e la a può essere E o W per est o ovest.
  • *H H: Checksum o checksum.

Ad esempio, potresti ottenere qualcosa del genere:

$GPRMC,115446,A,2116.75,N,10310.02,W,000.5,054.7,191194,020.3,E*68


Puoi essere il primo a lasciare un commento

Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.