Use value from setup

So I'm writing a program which sets a value to a string variable in the setup function. Next I try to use the value in a other function which is executed in setup and loop. The function is in another ino file.
My problem is that the value can't be accessed.

post the code using </>

is the variable defined globally or in setup()? needs to be global is used outside of setup()

The variable is defined gloablly. Do I need to import the global variable? Because I use multiple ino files?

Is it define globally in the sketch .ino file or in a .ino file on a tab ?

It is defined in the main ino file.

What is a MAIN INO FILE?

The one whose name is used when you save the sketch in a folder with the same name. It is the .ino file on the leftmost tab in the IDE

I assume that it is declared outside of a function, thus making it a global variable. It may, however, have its value defined within a function

Please post an example sketch showing the problem. It should be easy to show the problem in a minimal but complete sketch

Are we talking about a String variable or a string variable ? An example will tell use which it is

#include <HTTPClient.h>
#include <Arduino_JSON.h>
#include <WiFiManager.h>
#include <TinyGPS++.h>
#include <SoftwareSerial.h>
int RXPin = 16; // Schaltplan schauen
int TXPin = 17;
int GPSBaud = 9600;

TinyGPSPlus gps;
SoftwareSerial gpsSerial(RXPin, TXPin);

// Zeitintervalle für jede Funktion aufstellen (Timer)

const unsigned long updateweather = 420000;     // alle 7min wird die Temperatur laut OWM auf TFT gebracht; 10s für Testzwecke
unsigned long lastTimeweather = 0;

String lg;
String bg;
String jsonBuffer;

void setup() {
  WiFi.mode(WIFI_STA);                         // WLAN-Verbindung aufbauen
  WiFiManager wm;
  bool res;
  res = wm.autoConnect("Wetterstation", "WetterArmin"); // AP mit Passwort
  if (!res) {
    tft.setCursor(0, 50);
    tft.print("Es konnte keine Verbindung aufgbeaut werden!");
  else {
    //if you get here you have connected to the WiFi
    tft.setCursor(30, 75);
    tft.print("Verbunden. Viel Spaß!");

  while (gpsSerial.available() > 0)
    if (gps.encode(
      if (gps.location.isValid())
        Serial.print("Breitengrad: ");
        Serial.println("Längengrad: ");
        Serial.println("Location: Not Available");

  if (millis() > 5000 && gps.charsProcessed() < 10)
    Serial.println("No GPS detected");
    while (true);

  String bg = String(;
  String lg = String(gps.location.lng());




void loop() {


// für Datenempfang von OpenWeather API

String httpGETRequest(const char* serverName) {
  HTTPClient http;

  // Your IP address with path or Domain name with URL path

  // Send HTTP POST request
  int httpResponseCode = http.GET();

  String payload = "{}";

  if (httpResponseCode > 0) {
    //Serial.print("HTTP Response code: ");
    payload = http.getString();
  else {
    Serial.print("Error code: ");
  // Free resources

  return payload;

// tft_output

bool tft_output(int16_t x, int16_t y, uint16_t w, uint16_t h, uint16_t* bitmap)
  if ( y >= tft.height() ) return 0;
  tft.pushImage(x, y, w, h, bitmap);
  return 1;
void wettersetup () {
  // Check WiFi connection status
  if (WiFi.status() == WL_CONNECTED) {
    String serverPath = "" + lg + "&lon=" + bg + "&exclude=alerts,hourly,minutely&appid=XXX&units=metric";
    jsonBuffer = httpGETRequest(serverPath.c_str());
    JSONVar myObject = JSON.parse(jsonBuffer);

    // JSON.typeof(jsonVar) can be used to get the type of the var
    if (JSON.typeof(myObject) == "undefined") {
      Serial.println("Parsing input failed!");

    Serial.print(round(myObject["current"] ["temp"]));

I was hoping for a simple but complete example. As it is I have no idea which is the main .ino file, which is the subsidiary .ino file or which variable you are having a problem with

Here you are creating new local variables with the same name as your global variables. Your setup() function is setting the local variables! Try:

  bg = String(;
  lg = String(gps.location.lng());

The first quoted code is the main ino file. The second code is one ino file. My problem is with the variables lg and bg.

See reply #11