Dem Arduino eine Adresse geben damit der Code sich anpassen kann?

Hallo,

also ich nutze verschiedene Arduinos, die sind alle Nano. Aber die sind an unterschiedlichen Motoren oder Servos angeschlossen.

Ist es möglich mit einem einzigen Code an verschiedene Arduino upzuloaden, das Hochgeladene aber trotzdem unterschiedliche Werte enthalten?

Zum Beispiel:

Arduino #1 bekommt

#define SERVOMIN 500
#define SERVOMAX 2000

Arduino #2 bekommt

#define SERVOMIN 750
#define SERVOMAX 2500

Ohne dass ich vor dem Hochladen jedesmal die Werte umschreiben muss?

Der Compiler müsste irgendwie erkennen welche Adresse Arduino hat ?

Du könntest eine ID , oder gar den ganzen Konstantensatz, ins EEPROM schreiben.
Denn es sind genau solche Zwecke/Ziele/Anforderungen, welche den Hersteller veranlasst haben, dort ein EEPROM einzubauen.

Der Compiler müsste irgendwie erkennen welche Adresse Arduino hat

Wie soll er das tun?
Der Compiler spricht ja NIE mit dem Prozessor.

Ein Rat am Rande:
Ein vermiedenes Define ist ein gutes Define.
Ein vermeidbares Define, ist ein böses Define.

Also muss ich zuerst einen Code hochladen der nur aus das besteht:

#include <EEPROM.h>

void setup()
{
  EEPROM.write(adress, value);
}

void loop()
{
}

Und danach den eigentlichen Code von mir mit dieser Funktion hochladen?

EEPROM.read(a);

Wie teile ich einen Integer in Bytes auf ? Weil EEPROM value nur 1 byte (bis 255) hat.

Weil EEPROM value nur 1 byte (bis 255) hat

Das stimmt nicht.

Mit put/get kannst du beliebig große Strukturen speichern/lesen
(rein passen, müssen sie allerdings)

Lesestoff

forgoden:
... Integer ...

Unsigned Integer (uint16_t) beschert Dir sogar 65535 Adressen, würde mir besser gefallen. Der Wert 0xFFFF deutet auf ein unbeschriebenes EEPROM, weshalb ich ihn als Fehler aussortieren würde.