Med udvikling bord Arduino kan udføre en lang række projekter, grænsen er ofte fantasien. Med elektroniske komponenter og moduler, funktionaliteter kan tilføjes, så du kan gøre flere ting. En af disse funktionaliteter kan være evnen til at find genstande eller mennesker eller lokaliser ved at placere med Arduino GPS.
Denne type af positionering og sporing det kan gøres ved hjælp af RFID eller modtagere som den, vi skal diskutere i denne artikel. Med dette vil du være i stand til at oprette en lang række projekter, fra spil, hvor du kan oprette en detektor og lokalisere genstande, til at finde stjålne genstande, til at være i stand til at lokalisere dig selv ved hjælp af en GPS osv.
Arduino NEO-7 GPS-modul
For at have Arduino GPS kan du bruge NEO-6 enheder, en familie fremstillet af U-Blox, og som kan tilsluttes Arduino-kortet på en enkel måde. Derudover har de en komplet kommunikationsgrænseflade med UART, SPI, I2C, og USB, ud over at understøtte NMEA, UBX binære og RTCM-protokoller.
Derudover giver denne Arduino GPS med NEO-6 dig også mulighed for at minimere størrelsen på dit projekt, da det har en lille størrelsesamt lave omkostninger. Forbrugsmæssigt er det også lille. Når den er i aktiv tilstand, behøver den kun 37 mA. Det drives af 2.7 til 3.6 V til NEO-6Q og NEO-6M-modellerne, mens der er andre med lavere spænding kaldet NEO-6G, der kun behøver mellem 1.75 og 2v.
Andre interessante parametre for dette modul er:
- De 30 sekunder af tændingstid koldt og kun 1 sekund til varm start.
- La maksimal målefrekvens de arbejder kun på 5Hz.
- Positionsnøjagtighed på 2.5 meters variation.
- Hastighedsnøjagtighed 0.1 m / s.
- Orienteringsvariation på kun 0.5º.
Hvor kan man købe en NEO-6 til Arduino GPS
Du kan finde disse enheder og moduler i mange specialiserede elektronikforretninger eller også på Amazon. For eksempel kan du her køb det til en meget billig pris:
Eksempel med Arduino
Den første ting du skal gøre for at forbinde det til dit udviklingskort og have din Arduino GPS er at forbinde dit NEO-6-modul til kortet. Det tilslutninger er lavet meget simpelt (NEO-6 modulforbindelser - Arduino-forbindelser):
- GND - GND
- TX - RX (D4)
- RX - TX (D3)
- Vcc - 5V
Når du har tilsluttet det, skal du også downloade SoftSerial-bibliotek i din Arduino IDE, da det vil være nødvendigt til seriel kommunikation. Det er sandsynligt, at du allerede har det fra andre projekter, men hvis ikke, bliver du nødt til det download og installer i din IDE.
Når det er gjort, kan du starte med din enkle kode for at udføre læsningerne. For eksempel, da flere protokoller kan bruges, er her skitsen for 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); } }
Selvfølgelig kan du foretage dine ændringer eller bruge andre protokoller, hvis du ønsker det. Du kan også gøre brug af eksemplerne, der er tilgængelige i din IDE til dette bibliotek. Men inden du slutter artiklen, skal du vide det NMEA-formatet (National Marine Electronics Asociation) er meget speciel, for at forstå det, skal du kende dets syntaks:
$ GPRMC, hhmmss.ss, A, llll.ll, a, yyyyy.yy, a, vv, xx, ddmmyy, mm, a * hh
Det vil sige, $ GPRMC efterfølges af en række parametre, der angiver placering:
- hhmmss.ss: er UTC-tiden i timer, minutter og sekunder.
- A: modtagerstatus, hvor A = OK og V = alarm.
- llll.ll, til: er breddegraden, hvor a kan være N eller S, for nord eller syd.
- åååååå, en: er længden. Igen kan a være E eller W, dvs. øst eller vest.
- vv: hastighed i knob.
- xx: er kurset i grader.
- ddmyy: er UTC-datoen i dage, måneder og år.
- mm, a: er den magnetiske variation i grader, og a kan være E eller W for øst eller vest.
- * H H: Kontrolsum eller kontrolsum.
For eksempel kan du få noget som dette:
$GPRMC,115446,A,2116.75,N,10310.02,W,000.5,054.7,191194,020.3,E*68