question marks in my adruino ide

hi guys . i have a adruino uno board which i have connected with a gps module and a sd card. i must get gps coordinates. instead i am getting question marks. can someone tell me what the problem might be ? i am fearly new in the programming. thank you

The problem is in the code you didn't post. Even if it's copied straight from a website, it's better if you just copy-paste the code that you are running.

Are you seeing the question marks in the Serial Monitor? If so, check that the baud rate in the menu in the bottom right corner of the Serial Monitor matches the value set in the Serial.begin() statement in the sketch.

#include <Adafruit_GPS.h> // Laden GPS bibliotheek
#include <SD.h> // SD-card biblitheek oproepen
#include <SPI.h> // SPI bibliotheek oproepen
#include <SoftwareSerial.h> // Laden bibliotheek van de software seriële poort
SoftwareSerial mySerial(3,2); // Initialeseren van de tx- en rx-pin als seriële poort
Adafruit_GPS gps(&mySerial); // Crëeren van het GPS object

String NMEA1; //Variabel voor de eerste geografische coördinaat
String NMEA2; //Variabel voor de tweede geografische coördinaat
char c; // uitlezen van de characters uit de GPS

int chipSelect = 4; // De chipselect is aangesloten op de UNO pin 4
File mySensorData; // Verklaren variabel voor de sd-card objecten
void setup() {

Serial.begin(115200); // Aanzetten seriële monitor met een gekozen snelheid
gps.begin(9600); //Aanzetten GPS vanaf 9600 baudrate
gps.sendCommand("$PGCMD,33,06D"); // Uitschekelen de antene updates
gps.sendCommand("$PSRF103,02,00,00,01
26"); // desactiveren GSA sentences
gps.sendCommand("$PSRF103,03,00,00,01*27"); // desactiveren GSV sentences
gps.sendCommand(PMTK_SET_NMEA_UPDATE_1HZ); // Stuur 1 data per seconde, frequentie regeling
gps.sendCommand(PMTK_SET_NMEA_OUTPUT_RMCGGA);//Wens enkel de RMC en GGA sentences te verkrijgen
delay(1000);

pinMode(10, OUTPUT); // Pin 10 vermelden als een output om de SDcard te laten goed functioneren
SD.begin(chipSelect); // Initialiseren SD-card door te vermelden dat het aangesloten is aan de chipSelect

if (SD.exists("gpsData.txt")) { // Indien er al een bestand bestaat, verwijderen en nieuw schrijven
SD.remove("gpsData.txt");
}

if (SD.exists("gpsDATADetails.txt")) {
SD.remove("gpsDATADetails.txt");
}
}
uint32_t timer = millis();
void loop() {

readgps();
delay(10000); //om de 10 seconden sentences doorgeven
if(gps.fix==1) { //Data opslaan enkel indien de GPS een fix heeft

mySensorData=SD.open("gpsDATADetails.txt", FILE_WRITE); // Bestand openen om op te slaan
mySensorData.println(NMEA1); // Schrijven van eerste sentence op de SD-card
mySensorData.println(NMEA2); // Schrijven van tweede sentence op de SD-card
mySensorData.println(""); // Spatie schrijven
mySensorData.print("\nTime: ");
mySensorData.print(gps.hour, DEC); mySensorData.print(':');
mySensorData.print(gps.minute, DEC); mySensorData.print(':');
mySensorData.print(gps.seconds, DEC); mySensorData.print('.');
mySensorData.println(gps.milliseconds);
mySensorData.print("Date: "); // Schrijven van de datum in Dag/Maand/Jaar
mySensorData.print(gps.day, DEC); mySensorData.print('/');
mySensorData.print(gps.month, DEC); mySensorData.print("/20");
mySensorData.println(gps.year, DEC);
mySensorData.print("Fix: "); mySensorData.print((int)gps.fix); // Vermelden van aantaal fix en de qualiteit ervan
mySensorData.print(" quality: "); mySensorData.println((int)gps.fixquality);
if (gps.fix) {
mySensorData.print("Location: "); //Schrijven van de locatie
mySensorData.print(gps.latitude, 4); mySensorData.print(gps.lat);
mySensorData.print(", ");
mySensorData.print(gps.longitude, 4); mySensorData.println(gps.lon);

mySensorData.print("Speed (knots): "); mySensorData.println(gps.speed); // Schrijven van de snelheid, hoek, aantaal gebruikte satellieten en de altitude
mySensorData.print("Angle: "); mySensorData.println(gps.angle);
mySensorData.print("Altitude: "); mySensorData.println(gps.altitude);
mySensorData.print("Satellites: "); mySensorData.println((int)gps.satellites);
}
mySensorData.close(); // Bestand sluiten

mySensorData=SD.open("gpsData.txt", FILE_WRITE); //Tweede bestand openen
mySensorData.print("\nTime: ");
mySensorData.print(gps.hour, DEC); mySensorData.print(':'); // Schrijven van tijd in H:M:S
mySensorData.print(gps.minute, DEC); mySensorData.print(':');
mySensorData.print(gps.seconds, DEC); mySensorData.print('.');
mySensorData.println(gps.milliseconds);
mySensorData.print(gps.latitude,4); // Schrijven van de latitude
mySensorData.print(gps.lat); // Noord of Zuid ?
mySensorData.print(","); // komma
mySensorData.print(gps.longitude,4); // Schrijven van de longitude
mySensorData.print(gps.lon); // West of Oost ?
mySensorData.println(""); // Spatie schrijven
mySensorData.print(gps.altitude); // Schrijven altitude
mySensorData.print(gps.speed); // Schrijven grondsnelheid
mySensorData.close(); // Bestand sluiten

}

}

void readgps() {

cleargps();
while(!gps.newNMEAreceived()) { // loop van de character tot de GPS een goede NMEA senteces ontvangt,
c=gps.read(); // van zodra er een nieuw sentence is springt men uit de while functie
}

gps.parse(gps.lastNMEA()); //doorgeven laatste goed NMEA sentence
NMEA1=gps.lastNMEA();

while(!gps.newNMEAreceived()) { // loop van de character tot de GPS een goede NMEA senteces ontvangt,
c=gps.read(); // van zodra er een nieuw sentence is springt men uit de while functie
}

gps.parse(gps.lastNMEA()); //doorgeven laatste goed NMEA sentence voor de tweede coördinatie
NMEA2=gps.lastNMEA();

Serial.println(NMEA1);
Serial.println(NMEA2);
Serial.println("");

if (timer > millis()) timer = millis(); // Reset indien de millis () of timer omslagen

if (millis() - timer > 2000) { // Ongeveer elke 2 seconden, print de gegevens uit
timer = millis(); // reset de timer
Serial.print("\nTime: ");
Serial.print(gps.hour, DEC); Serial.print(':');
Serial.print(gps.minute, DEC); Serial.print(':');
Serial.print(gps.seconds, DEC); Serial.print('.');
Serial.println(gps.milliseconds);
Serial.print("Date: "); // Schrijven van de datum in Dag/Maand/Jaar
Serial.print(gps.day, DEC); Serial.print('/');
Serial.print(gps.month, DEC); Serial.print("/20");
Serial.println(gps.year, DEC);
Serial.print("Fix: "); Serial.print((int)gps.fix); // Vermelden van aantaal fix en de qualiteit ervan
Serial.print(" quality: "); Serial.println((int)gps.fixquality);
if (gps.fix) {
Serial.print("Location: "); //Schrijven van de locatie
Serial.print(gps.latitude, 4); Serial.print(gps.lat);
Serial.print(", ");
Serial.print(gps.longitude, 4); Serial.println(gps.lon);

Serial.print("Speed (knots): "); Serial.println(gps.speed); // Schrijven van de snelheid, hoek, aantaal gebruikte satelliten en de altitude
Serial.print("Angle: "); Serial.println(gps.angle);
Serial.print("Altitude: "); Serial.println(gps.altitude);
Serial.print("Satellites: "); Serial.println((int)gps.satellites);
}
}
}

void cleargps() { // Maakt het mogelijk de vier sentences goed uit te lezen anders verkrijgt men oude sentences

while(!gps.newNMEAreceived()) { // loop van de character tot de GPS een goede NMEA senteces ontvangt,
c=gps.read(); // van zodra er een nieuw sentence is springt men uit de while functie
}

gps.parse(gps.lastNMEA()); //doorgeven laatste goed NMEA sentence

while(!gps.newNMEAreceived()) { // loop van de character tot de GPS een goede NMEA senteces ontvangt,
c=gps.read(); // van zodra er een nieuw sentence is springt men uit de while functie
}

gps.parse(gps.lastNMEA()); //doorgeven laatste goed NMEA sentence

}
this is the code that i am using

yes i am seening it in my serial monitor. if i am correct it starts at 9600 ( also in the sketch )

MorganS:
The problem is in the code you didn't post.

Not necessarily true. The problem could also be in the schematics that the OP didn’t post or the component datasheets that the OP didn’t provide.

Please use code tags (</> button on the toolbar) when you post code or warning/error messages. The reason is that the forum software can interpret parts of your code as markup, leading to confusion, wasted time, and a reduced chance for you to get help with your problem. This will also make it easier to read your code and to copy it to the IDE or editor. Using code tags and other important information is explained in the How to use this forum post. Please read it.

Please always do a Tools > Auto Format on your code before posting it. This will make it easier for you to spot bugs and make it easier for us to read. If you're using the Arduino Web Editor you will not have access to this useful tool. I recommend you to use the standard IDE instead.

neghesa:
if i am correct it starts at 9600 ( also in the sketch )

No, you need to set your Serial Monitor to 115200:

neghesa:

Serial.begin(115200); // Aanzetten seriële monitor met een gekozen snelheid

i will change thank you