Cuprins:
- Pasul 1: Despre GPS
- Pasul 2: Arduino, GPS Neo6m și LCD 16x2
- Pasul 3: Conexiuni
- Pasul 4: Rezultat
- Pasul 5: Demo
Video: Cum să interfațați modulul GPS (NEO-6m) cu Arduino: 7 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
În acest proiect, am arătat cum să interfațez un modul GPS cu Arduino UNO. Datele pentru longitudine și latitudine sunt afișate pe ecranul LCD și locația poate fi vizualizată pe aplicație.
Lista materialelor
- Arduino Uno ==> 8 $
- Modul GPS Ublox NEO-6m ==> 15 USD
- 16x2 LCD ==> 3 USD
- Breadboard ==> 2 $
- Sârme jumper ==> 2 $
Costul total al proiectului este de 30 de dolari.
Pasul 1: Despre GPS
Ce este GPSTe Global Positioning System (GPS) este un sistem de navigație prin satelit format din cel puțin 24 de sateliți. GPS-ul funcționează în orice condiții meteorologice, oriunde în lume, 24 de ore pe zi, fără taxe de abonament sau taxe de configurare.
Cum funcționează GPS Sateliții GPS înconjoară Pământul de două ori pe zi pe o orbită precisă. Fiecare satelit transmite un semnal unic și parametri orbitali care permit dispozitivelor GPS să decodeze și să calculeze locația exactă a satelitului. Receptoarele GPS folosesc aceste informații și trilaterare pentru a calcula locația exactă a unui utilizator. În esență, receptorul GPS măsoară distanța până la fiecare satelit în funcție de timpul necesar pentru a primi un semnal transmis. Cu măsurători de distanță de la câțiva sateliți, receptorul poate determina poziția unui utilizator și o poate afișa.
Pentru a vă calcula poziția 2-D (latitudine și longitudine) și mișcarea pistei, un receptor GPS trebuie blocat pe semnalul a cel puțin 3 sateliți. Având în vedere 4 sau mai mulți sateliți, receptorul vă poate determina poziția 3-D (latitudine, longitudine și altitudine). În general, un receptor GPS va urmări 8 sau mai mulți sateliți, dar asta depinde de ora din zi și de locul în care vă aflați pe pământ.
Odată ce poziția dvs. a fost stabilită, unitatea GPS poate calcula alte informații, cum ar fi:
- Viteză
- Ținând
- Urmări
- Distanța de călătorie
- Distanța până la destinație
Care este semnalul?
Sateliții GPS transmit cel puțin 2 semnale radio de mică putere. Semnalele se deplasează pe linia vizuală, ceea ce înseamnă că vor trece prin nori, sticlă și plastic, dar nu vor trece prin majoritatea obiectelor solide, cum ar fi clădirile și munții. Cu toate acestea, receptoarele moderne sunt mai sensibile și de obicei pot urmări prin case.
Un semnal GPS conține 3 tipuri diferite de informații:
- Codul pseudorandom este un ID cod care identifică ce satelit transmite informații. Puteți vedea din ce sateliți primiți semnale de pe pagina de satelit a dispozitivului.
- Datele despre efemeride sunt necesare pentru a determina poziția unui satelit și oferă informații importante despre starea de sănătate a unui satelit, data și ora curente.
- Datele almanahului indică receptorului GPS unde ar trebui să fie fiecare satelit GPS în orice moment al zilei și arată informațiile orbitale pentru acel satelit și orice alt satelit din sistem.
Pasul 2: Arduino, GPS Neo6m și LCD 16x2
1. Arduino
Arduino este o platformă electronică open-source bazată pe hardware și software ușor de utilizat. Plăcile Arduino sunt capabile să citească intrările - lumină pe un senzor, un deget pe un buton sau un mesaj Twitter - și să-l transforme într-o ieșire - activând un motor, pornind un LED, publicând ceva online. Puteți spune tabloului dvs. ce trebuie să faceți trimițând un set de instrucțiuni microcontrolerului de pe placă. Pentru a face acest lucru, utilizați limbajul de programare Arduino (bazat pe cablare) și software-ul Arduino (IDE), bazat pe procesare.
Bibliotecile necesare pentru ca GPS să funcționeze în Arduino IDE.
SoftwareSerial
TinyGPS
De asemenea, vă puteți crea propriul Arduino uno personalizat.
2. Modul GPS NEO-6m (așa cum se arată în imaginea i2)
Foaie tehnică a modulului GPS NEO-6m
3. LCD 16x2
Ecranul LCD (Liquid Crystal Display) este un modul de afișaj electronic și găsește o gamă largă de aplicații. Un afișaj LCD de 16x2 este un modul foarte de bază și este foarte frecvent utilizat în diferite dispozitive și circuite. Aceste module sunt preferate față de șapte segmente și alte LED-uri cu mai multe segmente. Motivele fiind: LCD-urile sunt economice; ușor de programat; nu au nicio limitare a afișării de caractere speciale și chiar personalizate (spre deosebire de cele din șapte segmente), animații și așa mai departe. Un LCD 16x2 înseamnă că poate afișa 16 caractere pe linie și există 2 astfel de linii. Pe acest LCD fiecare caracter este afișat în matrice de 5x7 pixeli. Acest LCD are două registre, și anume, Command și Data. Registrul de comandă stochează instrucțiunile de comandă date pe ecranul LCD. O comandă este o instrucțiune dată LCD-ului pentru a efectua o sarcină predefinită, cum ar fi inițializarea acestuia, ștergerea ecranului, setarea poziției cursorului, controlul afișajului etc. Registrul de date stochează datele care trebuie afișate pe ecranul LCD. Datele reprezintă valoarea ASCII a caracterului care trebuie afișat pe ecranul LCD.
Diagrama pinului și descrierea pinului (așa cum se arată în imaginile i3 și i4)
Modul LCD pe 4 biți și 8 biți LCD-ul LCD poate funcționa în două moduri diferite, și anume modul 4 biți și modul 8 biți. În modul 4 biți trimitem datele ciugulit cu ciugulit, mai întâi ciugulit superior și apoi ciugulit inferior. Pentru cei dintre voi care nu știu ce este un ciugulit: un ciugulit este un grup de patru biți, astfel încât cei patru biți inferiori (D0-D3) ai unui octet formează ciugulitul inferior în timp ce cei patru biți superiori (D4-D7) a unui octet formează ciugulitul superior. Acest lucru ne permite să trimitem date pe 8 biți. În timp ce în modul 8 biți putem trimite datele pe 8 biți direct într-o singură linie, deoarece folosim toate cele 8 linii de date.
Modul de citire și scriere a LCD-ului LCD-ul în sine constă dintr-un IC de interfață. MCU poate să citească sau să scrie pe această IC de interfață. De cele mai multe ori vom scrie doar către IC, deoarece citirea îl va face mai complex și astfel de scenarii sunt foarte rare. Informații precum poziția cursorului, întreruperea stării etc.
Pasul 3: Conexiuni
Interfațarea modulului GPS cu Arduino
Arduino ===> NEO6m
GND ===> GND
Pin digital (D3) ===> TX
Pin digital (D4) ===> RX
5Vdc ===> Vcc
Aici, vă sugerez să utilizați o sursă de alimentare externă pentru a alimenta modulul GPS, deoarece puterea minimă necesară pentru ca modulul GPS să funcționeze este de 3,3 V, iar Arduino nu este capabil să furnizeze atât de multă tensiune..
Driver USB
Un alt lucru pe care l-am găsit în timp ce lucram cu antena GPS vine cu modulul este că nu primește semnal în interiorul casei, așa că am folosit această antenă - este mult mai bine.
Antenă
Pentru conectarea acestei antene, trebuie să utilizați conectorul prezentat în imaginea i6.
Interfațarea Arduino UNO și LCD JHD162a
LCD ===> Arduino Uno
VSS ===> GND
VCC ===> 5V
VEE ===> Rezistor 10K
RS ===> A0 (pin analogic)
R / W ===> GND
E ===> A1
D4 ===> A2
D5 ===> A3
D6 ===> A4
D7 ===> A5
LED + ===> VCC
LED- ===> GND
Pasul 4: Rezultat
Pasul 5: Demo
Recomandat:
Cum să controlați becul folosind modulul Arduino UNO și modulul de releu de stat solid cu un singur canal 5V: 3 pași
Cum să controlați becul utilizând modulul de releu de stare solidă Arduino UNO și un canal 5V: Descriere: Comparativ cu releul mecanic tradițional, releul de stare solidă (SSR) are multe avantaje: are o durată de viață mai lungă, cu o pornire mult mai mare / viteza de oprire și fără zgomot. În plus, are și o rezistență mai bună la vibrații și mecanică
Cum să interfațați joystick-ul cu două axe cu Arduino Uno: 5 pași
Cum să interfațăm joystick-ul cu două axe cu Arduino Uno: Aici vom interfața un joystick cu o axă duel cu arduino uno. Acest joystick are doi pini analogici pentru axa x și axa y și un pin digital pentru comutator
Cum să interfațați o matrice cu LED-uri conduse MAX7219 8x8 cu microcontrolerul ATtiny85: 7 pași
Cum să interfațați o matrice cu LED-uri conduse MAX7219 8x8 cu microcontroler ATtiny85: Controlerul MAX7219 este fabricat de Maxim Integrated, este un driver de afișare compact-serial, de intrare / ieșire cu catod comun, care ar putea interfața microcontrolerele cu 64 de LED-uri individuale, afișaje numerice cu 7 segmente cu LED până la 8 cifre, afișaj grafic cu bare
Cum să interfațați un ecran TFT de 4x3”cu un Arduino: 4 pași
Cum să interfațez un afișaj TFT 4x3”cu un Arduino: FocusLCDs.com mi-a trimis un eșantion gratuit de un LCD TFT 4x3” (P / N: E43RG34827LW2M300-R) pentru a încerca. Acesta este un LCD cu matrice activă color (TFT (Thin Film Transistor)) (afișaj cu cristale lichide) care utilizează TFT de siliciu amorf ca dispozitiv de comutare. Acest model este c
Cum să interfațați un LCD 16x4 cu un Arduino: 6 pași
Cum să interfațați un LCD 16x4 cu un Arduino: Introducere Am primit recent câteva mostre LCD gratuite de la prietenii mei de la FocusLCDs.com. Unul dintre acestea este un ecran LCD de 16x4; Cod produs: C164AXBSYLY6WT. Folosește un controler ST7066U (vezi fișa tehnică aici) în locul HD44780 care se găsește în mod obișnuit în ecranele LCD. Eu nu sunt