Arduino GPS: por loko kaj poziciigado

Arduino GPS

Kun la disvolva estraro Arduino povas plenumi multajn projektojn, la limo ofte estas la imago. Kun la elektronikaj komponantoj kaj moduloj, funkcioj povas esti aldonitaj tiel ke vi povas fari pli multajn aferojn. Unu el ĉi tiuj funkcioj eble estas la kapablo lokalizi objektojn aŭ homojn, aŭ lokalizi per poziciigado per Arduino GPS.

Ĉi tiu speco lokado kaj spurado ĝi povas esti farita per RFID aŭ riceviloj kiel tiu, kiun ni diskutos en ĉi tiu artikolo. Per ĉi tio vi povos krei amason da projektoj, de ludoj per kiuj krei detektilon kaj lokalizi objektojn, lokalizi ŝtelitajn objektojn, povi lokalizi vin per GPS ktp.

GPS-Modulo Arduino NEO-7

Arduino NEO-6 GPS

Por havi Arduino-GPS, vi povas uzi la NEO-6-aparatoj, familio fabrikita de U-Blox kaj kiu povas esti konektita al la Arduino-tabulo en simpla maniero. Krome ili havas kompletan komunikan interfacon, kun UART, SPI, I2C, kaj USB, krom subteni NMEA, UBX-binarajn kaj RTCM-protokolojn.

Krome ĉi tiu Arduino GPS kun NEO-6 ankaŭ permesas vin minimumigi la grandecon de via projekto, ĉar ĝi havas malmulta grandeco, same kiel malmultekosta. Laŭ konsumo, ĝi ankaŭ estas malgranda. En aktiva reĝimo, ĝi bezonos nur 37mA. Ĝi funkcias de 2.7 ĝis 3.6V por la modeloj NEO-6Q kaj NEO-6M, dum ekzistas aliaj kun pli malalta tensio nomata NEO-6G, kiuj bezonas nur inter 1.75 kaj 2v.

Se ili estas integritaj en modulo, inkluzivos a tensia reguligilo kiu permesos funkciigi ĝin rekte de la Arduino 5v-konekto.

Aliaj interesaj parametroj de ĉi tiu modulo estas:

  • La 30 sekundoj de ekbruligotempo malvarma, kaj nur 1 sekundon por varma komenco.
  • La maksimuma mezura ofteco ili funkcias je nur 5Hz.
  • Pozicio precizeco de 2.5 metroj da variado.
  • Rapideco precizeco 0.1 m / s.
  • Orienta variado de nur 0.5º.

Kie aĉeti NEO-6 por Arduino GPS

Vi povas trovi ĉi tiujn aparatojn kaj modulojn en multaj specialaj elektronikaj butikoj, aŭ ankaŭ ĉe Amazon. Ekzemple, ĉi tie vi povas aĉetu ĝin je tre malmultekosta prezo:

Ekzemplo kun Arduino

Ekrankopio de Arduino IDE

Vi povas lerni pli pri programado per Arduino per la senpaga PDF-kurso elŝutu de ĉi tie.

La unua afero, kiun vi devas fari por konekti ĝin al via disvolva tabulo kaj havi vian Arduino-GPS, estas konekti vian NEO-6-modulon al la tabulo. La ligoj estas faritaj tre simple (NEO-6-modulaj konektoj - Arduino-ligoj):

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

Post kiam vi konektos ĝin, vi ankaŭ devos elŝuti la SoftSerial biblioteko en via Arduino IDE, ĉar ĝi bezonos por seria komunikado. Verŝajne vi jam havas ĝin de aliaj projektoj, sed se ne, vi devos elŝuti kaj instali en via IDE.

Fininte tion, vi povas komenci per via simpla kodo por fari la legojn. Ekzemple, ĉar pluraj protokoloj povas esti uzataj, jen la skizo por 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);
   }
}

Kompreneble vi povas fari viajn modifojn aŭ uzi aliajn protokolojn se vi volas ... Vi ankaŭ povas uzi la ekzemplojn disponeblajn en via IDE por ĉi tiu biblioteko. Sed, antaŭ ol fini la artikolon, vi devas scii tion la NMEA-formato (Nacia Mara Elektronika Asocio) estas tre aparta, por kompreni ĝin, vi devas scii ĝian sintakson:

$ GPRMC, hhmmss.ss, A, llll.ll, a, yyyyyyy, a, vv, xx, ddmmyy, mm, a * hh

Tio estas, $ GPRMC estas sekvata de serio de parametroj indikantaj lokon:

  • hhmmss.ss: estas la UTC-tempo en horoj, minutoj kaj sekundoj.
  • A: ricevila stato, kie A = OK kaj V = atentema.
  • llll.ll, al: estas la latitudo, kie a povas esti N aŭ S, por nordo aŭ sudo.
  • yyyy.yy, a: estas la longo. Denove a povas esti E aŭ W, tio estas oriente aŭ okcidente.
  • vv: rapido en nodoj.
  • xx: estas la kurso en gradoj.
  • ddmmyy: estas la UTC-dato, en tagoj, monatoj kaj jaro.
  • mm, a: estas la magneta variado en gradoj, kaj la a povas esti E aŭ W por oriento aŭ okcidento.
  • * H H: Ĉeksumo aŭ ĉeksumo.

Ekzemple, vi povus akiri ion tian:

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


La enhavo de la artikolo aliĝas al niaj principoj de redakcia etiko. Por raporti eraron alklaku Ĉi tie.

Estu la unua por komenti

Lasu vian komenton

Via retpoŝta adreso ne estos eldonita. Postulita kampojn estas markita per *

*

*

  1. Respondeculo pri la datumoj: Miguel Ángel Gatón
  2. Celo de la datumoj: Kontrola SPAM, administrado de komentoj.
  3. Legitimado: Via konsento
  4. Komunikado de la datumoj: La datumoj ne estos komunikitaj al triaj krom per laŭleĝa devo.
  5. Stokado de datumoj: Datumbazo gastigita de Occentus Networks (EU)
  6. Rajtoj: Iam ajn vi povas limigi, retrovi kaj forigi viajn informojn.