İçindekiler:
- Adım 1: Gerekli Bileşenler
- 2. Adım: GPS Hakkında Bilgi
- Adım 3: Neo-6M GPS Modülü
- Adım 4: Arduino Mega
- Adım 5: Arduino IDE
- 6. Adım: Bağlantılar
Video: GPS Modüllü Arduino Mega Arayüz (Neo-6M): 8 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
Bu projede, bir GPS modülünün (Neo-6M) Arduino Mega ile nasıl arayüzleneceğini gösterdim. Boylam ve Enlem verilerini görüntülemek için TinyGPS kütüphanesi, seri monitörde Enlem, Boylam, Rakım, Hız ve uydu sayısını görüntülemek için TinyGPS++ kullanılır.
Adım 1: Gerekli Bileşenler
Donanım
- Arduino Mega ==> 30 $
- Neo-6M GPS modülü ==> 30 $
Yazılım
Arduino IDE'si
Projenin toplam maliyeti 60 TL'dir.
2. Adım: GPS Hakkında Bilgi
GPS nedir
Küresel Konumlandırma Sistemi (GPS), en az 24 uydudan oluşan uydu tabanlı bir navigasyon sistemidir. GPS, her türlü hava koşulunda, dünyanın herhangi bir yerinde, günde 24 saat, abonelik ücreti veya kurulum ücreti olmadan çalışır.
GPS nasıl çalışır?
GPS uyduları, kesin bir yörüngede günde iki kez Dünya'yı çevreler. Her uydu, GPS cihazlarının uydunun kesin konumunu çözmesine ve hesaplamasına izin veren benzersiz bir sinyal ve yörünge parametreleri iletir. GPS alıcıları, bir kullanıcının tam konumunu hesaplamak için bu bilgiyi ve trilaterasyon kullanır. Esasen, GPS alıcısı, iletilen bir sinyali almak için geçen süre ile her bir uyduya olan mesafeyi ölçer. Birkaç uydudan daha mesafe ölçümleri ile alıcı, bir kullanıcının konumunu belirleyebilir ve görüntüleyebilir.
2 boyutlu konumunuzu (enlem ve boylam) hesaplamak ve hareketinizi izlemek için bir GPS alıcısı en az 3 uydunun sinyaline kilitlenmelidir. 4 veya daha fazla uydu görüntülendiğinde, alıcı 3 boyutlu konumunuzu (enlem, boylam ve yükseklik) belirleyebilir. Genel olarak, bir GPS alıcısı 8 veya daha fazla uyduyu izler, ancak bu, günün saatine ve dünyanın neresinde olduğunuza bağlıdır. Konumunuzu belirledikten sonra, GPS ünitesi aşağıdaki gibi diğer bilgileri hesaplayabilir:
- Hız
- Rulman
- İzlemek
- gezi mesafesi
- Hedefe uzaklık
sinyal nedir
GPS uyduları en az 2 düşük güçlü radyo sinyali iletir. Sinyaller görüş hattı ile hareket eder, yani bulutların, camın ve plastiğin içinden geçecekler, ancak binalar ve dağlar gibi çoğu katı nesneden geçmeyecekler. Bununla birlikte, modern alıcılar daha hassastır ve genellikle evlerin içinden geçebilir. Bir GPS sinyali 3 farklı türde bilgi içerir
sözde rasgele kod
Bu bir kimlik. hangi uydunun bilgi ilettiğini tanımlayan kod. Cihazınızın uydu sayfasından hangi uydulardan sinyal aldığınızı görebilirsiniz.
Efemeris verileri
Efemeris verileri bir uydunun konumunu belirlemek için gereklidir ve uydunun sağlığı, güncel tarih ve saat hakkında önemli bilgiler verir.
Almanak verileri
Almanak verileri, GPS alıcısına günün herhangi bir saatinde her bir GPS uydusunun nerede olması gerektiğini söyler ve o uydunun ve sistemdeki diğer tüm uyduların yörünge bilgilerini gösterir.
Adım 3: Neo-6M GPS Modülü
NEO-6M GPS modülü aşağıdaki şekilde gösterilmektedir. Harici bir anten ile birlikte gelir ve başlık pimleri ile birlikte gelmez. Bu yüzden lehimlemeniz gerekecek.
NEO-6M GPS Modülüne Genel Bakış
NEO-6M GPS Çipi
Modülün kalbi, u-blox'tan bir NEO-6M GPS çipidir. 50 kanalda 22 uyduya kadar izleyebilir ve yalnızca 45mA besleme akımı tüketirken, sektörün en yüksek hassasiyet düzeyine yani -161 dB izlemesine ulaşır. U-blox 6 konumlandırma motoru ayrıca 1 saniyenin altında İlk Düzeltme Süresi (TTFF) özelliğine sahiptir. Çipin sağladığı en iyi özelliklerden biri Güç Tasarruf Modudur (PSM). Alıcının parçalarını seçici olarak AÇIK ve KAPALI konuma getirerek sistem güç tüketiminde bir azalma sağlar. Bu, modülün güç tüketimini önemli ölçüde yalnızca 11mA'ya düşürür ve onu GPS kol saati gibi güce duyarlı uygulamalar için uygun hale getirir. NEO-6M GPS çipinin gerekli veri pinleri 0,1 adım başlıklarına bölünmüştür. Bu, UART üzerinden bir mikrodenetleyici ile iletişim için gerekli pinleri içerir.
Not: - Modül, varsayılan baud 9600 ile 4800bps'den 230400bps'ye kadar olan baud hızını destekler.
Konum Sabitleme LED Göstergesi
NEO-6M GPS Modülünde Konum Sabitleme durumunu gösteren bir LED vardır. Hangi durumda olduğuna bağlı olarak çeşitli oranlarda yanıp söner
- Yanıp Sönme Yok ==> Uydu arıyor demektir
- Her 1 saniyede bir yanıp sönme – Konum Düzeltme bulunduğu anlamına gelir
3.3V LDO Regülatörü
NEO-6M çipinin çalışma voltajı 2,7 ila 3,6V arasındadır. Ancak modül, MICREL'den MIC5205 ultra düşük çıkışlı 3V3 regülatör ile birlikte gelir. Lojik pinler de 5 volt toleranslıdır, bu nedenle herhangi bir mantık seviye dönüştürücü kullanmadan Arduino veya herhangi bir 5V lojik mikrodenetleyiciye kolayca bağlayabiliriz.
Pil ve EEPROM
Modül, bir HK24C32 iki kablolu seri EEPROM ile donatılmıştır. 4KB boyutundadır ve NEO-6M çipine I2C üzerinden bağlanır. Modül ayrıca süper kapasitör görevi gören şarj edilebilir bir düğme pil içerir.
Pille birlikte bir EEPROM, pil destekli RAM'in (BBR) korunmasına yardımcı olur. BBR, saat verilerini, en son konum verilerini (GNSS yörünge verileri) ve modül konfigürasyonunu içerir. Ancak kalıcı veri depolama amaçlı değildir.
Pil saati ve son konumu koruduğundan, ilk düzeltme süresi (TTFF) önemli ölçüde 1 saniyeye düşer. Bu, çok daha hızlı konum kilitleri sağlar.
Pil olmadan GPS her zaman soğuk başlatılır, bu nedenle ilk GPS kilidi daha fazla zaman alır. Pil, güç verildiğinde otomatik olarak şarj olur ve verileri güç olmadığında iki haftaya kadar korur.
Pin yapısı
GND, Toprak Pimidir ve Arduino'daki GND pimine bağlanması gerekir
Seri haberleşme için TxD (Verici) pini kullanılır
Seri haberleşme için RxD (Alıcı) pini kullanılır
VCC, modül için güç sağlar. Arduino üzerindeki 5V pinine direk bağlayabilirsiniz
Adım 4: Arduino Mega
Arduino, kullanımı kolay donanım ve yazılıma dayalı açık kaynaklı bir elektronik platformdur. Arduino kartları girişleri okuyabilir - bir sensör üzerindeki ışık, bir düğmedeki parmak veya bir Twitter mesajı - ve bir çıkışa dönüştürebilir - bir motoru etkinleştirebilir, bir LED'i açabilir, çevrimiçi bir şeyler yayınlayabilir. Kart üzerindeki mikrodenetleyiciye bir dizi talimat göndererek kartınıza ne yapacağını söyleyebilirsiniz. Bunu yapmak için Arduino programlama dilini (Kablolama tabanlı) ve İşleme tabanlı Arduino Yazılımını (IDE) kullanırsınız.
arduino mega
Arduino Mega 2560, Atmega2560 tabanlı bir Mikrodenetleyici kartıdır.
- Kart üzerinde bu cihazı benzersiz kılan ve diğerlerinden farklı kılan 54 dijital I/O pini ve 16 analog pin bulunmaktadır. 54 dijital I/O'dan 15'i PWM (darbe genişlik modülasyonu) için kullanılır.
- Kart üzerine 16MHz frekansında bir kristal osilatör eklenir.
- Kart, bilgisayardan karta kod bağlamak ve aktarmak için kullanılan USB kablo bağlantı noktası ile birlikte gelir.
- DC güç jakı, karta güç sağlamak için kullanılan kartla birleştirilir.
- Kart, voltajı gereksinimlere göre düzenleme esnekliği sağlayan 5V ve 3.3V olmak üzere iki voltaj regülatörü ile birlikte gelir.
- İletişim kurmak için maksimum hız üreten USART adlı bir sıfırlama düğmesi ve 4 donanım seri bağlantı noktası vardır.
- Tahtaya güç vermenin üç yolu vardır. Karta güç sağlamak ve kodu karta aktarmak için bir USB kablosu kullanabilir veya kartın Vin'ini veya Güç jakı veya meyilli kullanarak gücü açabilirsiniz.
Özellikler
Pin yapısı
Pin Açıklaması
- 5V & 3.3V ==>Bu pin, 5V civarında çıkış regüleli voltaj sağlamak için kullanılır. Bu düzenlenmiş güç kaynağı, kontrolöre ve karttaki diğer bileşenlere güç sağlar. Kartın Vin'inden veya USB kablosundan veya başka bir regüle edilmiş 5V voltaj kaynağından elde edilebilir. Diğer bir voltaj regülasyonu ise 3.3V pin ile sağlanmaktadır. Çekebileceği maksimum güç 50mA'dır.
- GND ==>Proje için birden fazla topraklama pini gerektiğinde kullanışlı hale getiren kart üzerinde 5 adet topraklama pini mevcuttur.
- Reset ==> Bu pin kartı resetlemek için kullanılır. Bu pimi DÜŞÜK olarak ayarlamak, kartı sıfırlayacaktır.
- Vin ==> 7V ile 20V arasında değişen karta sağlanan giriş voltajıdır. Güç jakının sağladığı gerilime bu pin üzerinden erişilebilir. Ancak bu pin üzerinden karta giden çıkış voltajı otomatik olarak 5V'a ayarlanacaktır.
- Seri İletişim ==> RXD ve TXD, seri verileri iletmek ve almak için kullanılan seri pinlerdir, yani Rx, veri almak için kullanılırken Rx, veri iletimini temsil eder. Bu seri pinlerin dört kombinasyonu kullanılır; burada Serail 0, RX(0) ve TX(1) içerir, Seri 1 TX(18) ve RX(19), Seri 2 TX(16) ve RX(17) içerir, ve Seri 3, TX(14) ve RX(15) içerir.
- Harici Kesmeler ==> Altı pin harici kesmeler oluşturmak için kullanılır, yani kesme 0(0), kesme 1(3), kesme 2(21), kesme 3(20), kesme 4(19), kesme 5(18). Bu pinler, DÜŞÜK değer sağlama, yükselen veya düşen kenar veya kesme pinlerine değer değiştirme gibi çeşitli yollarla kesintiler üretir.
- LED ==> Bu kart, dijital pin 13'e bağlı dahili LED ile gelir. Bu pindeki YÜKSEK değer LED'i açar ve DÜŞÜK değer ise kapatır.
- AREF ==> AREF, analog girişler için bir referans voltajı olan Analog Referans Voltajı anlamına gelir.
- Analog Pinler ==> Kart üzerinde A0 ile A15 olarak etiketlenmiş 16 adet analog pin bulunmaktadır. Tüm bu analog pinlerin dijital I/O pinleri olarak kullanılabileceğine dikkat etmek önemlidir. Her analog pin 10 bit çözünürlükle gelir. Bu pinler topraktan 5V'a kadar ölçüm yapabilir. Ancak üst değer, AREF ve analogReference() işlevi kullanılarak değiştirilebilir.
- I2C ==>İki pin 20 ve 21, 20'nin SDA'yı (esas olarak verileri tutmak için kullanılan Seri Veri Hattı) ve 21'in SCL'yi temsil ettiği (esas olarak cihazlar arasında veri senkronizasyonu sağlamak için kullanılan Seri Saat Hattı) I2C iletişimini destekler.
- SPI İletişimi ==> SPI, denetleyici ve diğer çevre birimleri bileşenleri arasında veri iletimi için kullanılan Seri Çevre Birimi Arayüzü anlamına gelir. SPI iletişimi için 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS) olmak üzere dört pin kullanılır.
Adım 5: Arduino IDE
Burada Arduino IDE'yi zaten kurduğunuzu varsayıyorum.
1. Aşağıda verilen gerekli kütüphaneyi indirin
TinyGPS kitaplığı
2. İndirdikten sonra. Çıkarın ve C:\Users\…\Documents\Arduino\libraries klasörüne taşıyın (-) olmadığından emin olun.
3. Arduino IDE'yi açın ve kodu program bölümünden kopyalayın.
4. Ardından bunun için tahta seçin Araçlar ==> Panolar ==> Arduino Mega 2560 kullanıyoruz burada pano seçin
5. Kartı seçtikten sonra bunun için bağlantı noktasını seçin Araçlar ==> Bağlantı Noktaları'na gidin
6. Pano ve bağlantı noktasını seçtikten sonra yükle'ye tıklayın.
7. Kod yüklendikten sonra çıktıyı görmek için seri terminali açın.
6. Adım: Bağlantılar
Arduino MEGA ==> NEO-6M GPS
- 3.3V ==> VCC
- GND ==> GND
- Tx1 (18) ==> Rx
- Rx (19) ==> Tx
Seri1 yerine Seri2 veya Seri3'ü de kullanabilirsiniz.
Önerilen:
HC-05 Bluetooth Modüllü HiFive1 Arduino Eğitimi: 7 Adım
HC-05 Bluetooth Modülü ile HiFive1 Arduino Eğitimi: HiFive1, SiFive'dan FE310 CPU ile inşa edilen ilk Arduino uyumlu RISC-V tabanlı karttır. Kart, Arduino UNO'dan yaklaşık 20 kat daha hızlıdır ve UNO'nun herhangi bir kablosuz bağlantısı olmadığı için. Neyse ki, birkaç ucuz modül var
HC-06 Bluetooth Modüllü Arduino Kontrol Led: 4 Adım
HC-06 Bluetooth Modüllü Arduino Kontrol Led: Herkese merhaba, bu benim Instructable.com'daki ilk resmi eğitimim, ilk projem için çok heyecanlıyım! Bugün size Arduino ve Bluetooth modülünün nasıl bağlanacağını göstereceğim. Arduino, kullanarak HC-06 Bluetooth Modül Kartı ile iletişim kuracaktır
HiFive1 ESP-01 WiFi Modüllü Arduino Kartı Eğitimi: 5 Adım
HiFive1 ESP-01 WiFi Modüllü Arduino Kartı Eğitimi: HiFive1, SiFive'ın FE310 CPU'su ile oluşturulmuş ilk Arduino uyumlu RISC-V tabanlı karttır. Kart, Arduino UNO'dan yaklaşık 20 kat daha hızlıdır, ancak UNO kartı gibi, herhangi bir kablosuz bağlantıdan yoksundur.Neyse ki, birkaç ucuz
Arduino İle GPS Modülü (NEO-6m) Arayüz Nasıl Yapılır: 7 Adım (Resimlerle)
Arduino ile GPS Modülü (NEO-6m) Arayüz Nasıl Yapılır: Bu projede, Arduino UNO ile bir GPS modülünün nasıl arayüzleneceğini gösterdim. Boylam ve enlem verileri LCD'de görüntülenir ve konum uygulamada görüntülenebilir. Malzeme listesi Arduino Uno ==> 8 $ Ublox NEO-6 milyon GPS modülü ==> 15 $ 16x
DHT 11 Sıcaklık ve Nem Modüllü Arduino: 7 Adım
DHT 11 Sıcaklık ve Nem Modüllü Arduino: “Mars, başka hiçbir gezegende olmadığı kadar insanın hayal gücünü zorluyor. Yerçekiminden daha güçlü bir kuvvetle, berrak gece gökyüzündeki parıldayan kırmızı varlığın dikkatini çekiyor.” Fizik sınıfımız, 10 x 10 x 10 cm'lik bir küp inşa etmekle görevlendirildi