Arduino Seri Port ekranında anlamsız ifadeler çıkıyor

elektr0

Üye
Katılım
2 Ocak 2022
Mesajlar
11
Esp-32 Wroom kartı ve NEO6M Gps modülü kullanarak Arduino IDE üzerinden konum takip projesi yapıyorum. Kodlar çalıştıktan sonra Seri port ekranın da anlamsız yazılar çıkmaktadır.


1729675396733.png


Kodlar;
C++:
#include <TinyGPS++.h>
#include <HardwareSerial.h>

TinyGPSPlus gps;

HardwareSerial ss(2);
void setup() {
  delay(3000);
 
  Serial.begin(115200);
  ss.begin(9600, SERIAL_8N1, 16, 17);
  Serial.println("GPS modülünden veri bekleniyor...");
}
void loop() {
 
  if (ss.available()) {
    while (ss.available()) {
      char c = ss.read();
      Serial.print(c);
    
      if (gps.encode(c)) {
        if (gps.location.isValid()) {
        
          Serial.print("Enlem: ");
          Serial.println(gps.location.lat(), 6);
          Serial.print("Boylam: ");
          Serial.println(gps.location.lng(), 6);
        
          Serial.print("Google Maps: [URL]https://www.google.com/maps/place/[/URL]");
          Serial.print(gps.location.lat(), 6);
          Serial.print(",");
          Serial.println(gps.location.lng(), 6);
        } else {
          Serial.println("GPS verisi geçersiz. Uydu bekleniyor...");
        }
      }
    }
  } else {
    Serial.println("GPS modülünden veri alınamıyor.");
  }
  delay(1000);
}
 
Last edited by a moderator:
Yanlış anlamadıysam esp-32 yi 115200 boud ile başlatmışsın, GPS'i 9600 ile.
Serial monitöre GPS den gelen verileri gönderiyorsun. (Yani 9600 baud ile). Ama Serial monitörün 115200 boud'a ayarlı.
Sağ alttan 9600 baud yap onu.
 
İki devre / modül arasındaki haberleşme hızı ayarları farklı.

Veya iki devre arasındaki gnd bağlantısını yapmayı gözden kaçırmış olabilirsiniz.
 
Yanlış anlamadıysam esp-32 yi 115200 boud ile başlatmışsın, GPS'i 9600 ile.
Serial monitöre GPS den gelen verileri gönderiyorsun. (Yani 9600 baud ile). Ama Serial monitörün 115200 boud'a ayarlı.
Sağ alttan 9600 baud yap onu.
İki devre / modül arasındaki haberleşme hızı ayarları farklı.

Veya iki devre arasındaki gnd bağlantısını yapmayı gözden kaçırmış olabilirsiniz.
Geç yanıtım için kusura bakmayın. Seri port ekranında ki sorunu düzelttim. Ancak bu sefer farklı bir sorun çıktı. Seri port ekranına mesajlar geliyor
(
"Konum verisi henüz alınmadı. GPS modülü uydulardan veri bekliyor..."
) burda takılı kalıyor.
Ve sürekli " 'COM3' üzerinde ki ESP32 Dev Module bağlantısı kuruluyor. " yazısı çıkıyor. 2 dakika sonra ise Serial port busy hatası alıyorum. Ancak portta başka bir işlem yapmıyorum.
Kodları şu şekilde güncelledim;

C++:
#include <TinyGPS++.h>
#include <HardwareSerial.h>

TinyGPSPlus gps;
HardwareSerial gpsSerial(2);  // Serial2, RX2=GPIO16, TX2=GPIO17

// Fonksiyon Prototipleri
void testGPS();
void testESP32();
void displayGoogleMapsLink(double lat, double lon);

void setup() {
  Serial.begin(9600);
  Serial.println("ESP32 GPS Konum Takip Projesi Basliyor...");
 
  // GPS modül seri bağlantısı
  gpsSerial.begin(9600, SERIAL_8N1, 16, 17);  // RX=16, TX=17
 
  testESP32();
  testGPS();
}

void loop() {
  // GPS verilerini okuma
  while (gpsSerial.available() > 0) {
    char c = gpsSerial.read();
    gps.encode(c);  // GPS verisini TinyGPS++ kütüphanesine gönder

    // Seri monitörde GPS modülünden gelen ham veriyi görüntüleme
    Serial.write(c);
  }

  // GPS verileri başarılı bir şekilde kodlanmışsa
  if (gps.location.isUpdated()) {
    double latitude = gps.location.lat();
    double longitude = gps.location.lng();
   
    // Konum bilgisini seri monitöre yazdır
    Serial.print("Enlem: ");
    Serial.println(latitude, 6);
    Serial.print("Boylam: ");
    Serial.println(longitude, 6);
   
    // Google Maps linki oluştur
    displayGoogleMapsLink(latitude, longitude);
  } else {
    Serial.println("Konum verisi henüz alınmadı. GPS modülü uydulardan veri bekliyor...");
  }
}

// ESP32'nin çalıştığını doğrulayan basit bir test fonksiyonu
void testESP32() {
  Serial.println("ESP32 Basariyla Calisiyor.");
}

// GPS modülünün çalıştığını doğrulayan basit bir test fonksiyonu
void testGPS() {
  if (gpsSerial) {
    Serial.println("GPS modülü bağlı ve çalışıyor.");
  } else {
    Serial.println("GPS modülü bağlı değil ya da çalışmıyor.");
  }
}

// Google Maps üzerinde konumu görüntülemek için link
void displayGoogleMapsLink(double lat, double lon) {
  Serial.print("Google Maps Link: ");
  Serial.print("https://www.google.com/maps/place/");
  Serial.print(lat, 6);
  Serial.print(",");
  Serial.println(lon, 6);
}
 
Son düzenleme:
@elektr0 program kodunu "kod" butonunda açılan pencere ile paylaşırsan kodu takip edip anlamamız çok daha kolay olur

1729768836125.png
 

Forum istatistikleri

Konular
6,847
Mesajlar
116,804
Üyeler
2,779
Son üye
Kersoyu

Son kaynaklar

Son profil mesajları

hakan8470 wrote on Dede's profile.
1717172721760.png
Dedecim bu gul mu karanfil mi? Gerci ne farkeder onu da anlamam. Gerci bunun anlamini da bilmem :gulus2:
Lyewor_ wrote on hakan8470's profile.
Takip edilmeye başlanmışım :D ❤️
Merhaba elektronik tutsakları...
Lyewor_ wrote on taydin's profile.
Merhabalar. Elektrik laboratuvarınız varsa bunun hakkında bir konunuz var mı acaba? Sizin laboratuvarınızı merak ettim de :)
Lyewor_ wrote on taydin's profile.
Merhabalar forumda yeniyim! Bir sorum olacaktı lcr meterler hakkında. Hem bobini ölçen hemde bobin direnci ölçen bir lcr meter var mı acaba?
Back
Top