Hi agmue, danke für deinen Beitrag! Habe es in den Sketch eingefügt und gerade getestet. Jetzt hat sich etwas getan 
So habe ich alles angeschlossen:
Hier mal eine kleine Aufzählung, was ich beobachtet habe:
- GUT: Wenn ich vorwärts Gas gebe, ist das Bremslicht aus, ebenso wenn ich rückwärts fahre, so wie es sein soll.
- GUT: Wenn ich von Vorwärts schnell auf Rückwärts ziehe (bremsen), geht das Bremslicht (Pin 13) an. Perfekt!
- Beim Ausschalten des Bremslichts gibt es ein kleines Problem: es bleibt in der Neutralstellung an. Auch wenn ich in der Neutralstellung gewesen bin und danach rückwärts fahre, bleibt das Bremslicht weiterhin an. Erst wenn ich vorwärts fahre, geht es wieder aus.
Hier das Beschriebene als Video: Bremslicht Test: Sketch von my_xy_projekt mit Ergänzung von agmue - YouTube
Außerdem noch ein zweites Video: es ist eine fertige, gekaufte RC-Lichtsteuerung, die u. a. ein Bremslicht hat. So würde ich gerne mein Arduino Bremslicht haben: beim Bremsen das Bremslicht an und wenn die Neutralstellung wieder erreicht ist, aus. Beim Rückwärtsfahren ebenfalls das Bremslicht ausschalten (stattdessen sollen die Rückfahrscheinwerfer an gehen, aber das ist hier erstmal Nebensache). Ignoriert bitte, dass die Rücklichter auf dem Video gedimmt leuchten, wenn gerade nicht gebremst wird, das ist hier ebenfalls erstmal Nebensache. Bremslicht Beispiel - YouTube
Und zu guter Letzt der Sketch, den ich verwendet habe. Die Zahlen bei forwardSpeed, rearSpeed und reaktionsZeit habe ich etwas angepasst (aber nur grob, ist noch nicht komplett fein ausgemessen)
const uint8_t numCh = 3;
uint16_t chInput[numCh] = {0};
uint16_t lastChInput[numCh] = {0};
uint8_t chInputPin[numCh] = {A0, A1, A2};
const char myType[numCh][10] = {"lenkung", "gas", "ch3"};
const byte bremsLichtPin = LED_BUILTIN;
const uint16_t forwardSpeed = 1600; // (von 1750 zu 1600 geändert) Grenzwert bei dem Vorwärtsbewegung erkannt wird
const uint16_t neutralSpeed = 1500; // Hier ist nüscht
const uint16_t rearSpeed = 1350; // (von 1250 auf 1350 geändert) Grenzwert bei dem Rückwärtsbewegung erkannt wird
const uint16_t GIVEUP = 50000; //(Ergänzung von agmue) maximale Lauschzeit in µs
void setup()
{
Serial.begin(9600);
for (byte b = 0; b < numCh; b++)
{ pinMode(chInputPin[b], INPUT); }
digitalWrite(bremsLichtPin, LOW);
pinMode(bremsLichtPin, OUTPUT);
}
void loop()
{
readChInput();
printSerialChInput();
myBremsLicht();
}
//
void readChInput()
{
for (byte b = 0; b < numCh; b++)
{ chInput[b] = pulseIn(chInputPin[b], HIGH, GIVEUP); } //(Ergänzung von agmue)
}
//
void printSerialChInput()
{
for (byte b = 0; b < numCh; b++)
{
if (lastChInput[b] != chInput[b])
{
Serial.print(myType[b]);
Serial.print(": ");
Serial.println(chInput[b]);
}
}
}
//
void myBremsLicht()
{
static bool isForward = false; // Merker
static uint32_t lastSpeedTime = 0; // Zeitmerker
static bool isBreak = false; // Merker
const uint32_t reaktionsZeit = 400; // (von 200 auf 400 geändert) Zeit in ms... Das muss getestet werden
if (chInput[1] > forwardSpeed) //Grenzwert erreicht?
{
isForward = true; // merkern
lastSpeedTime = millis();
}
//
if (isForward) // Vorwärts wurde erkannt...
{
if (millis() - lastSpeedTime < reaktionsZeit) // ... und Zeit nicht abgelaufen ...
{
if (chInput[1] < rearSpeed) // ... und jetzt rückwärts? ...
{
isBreak = true; // ... Bremse aktiviert!
isForward = false;
}
}
else
{ isForward = false; }
}
//
if (isBreak) // Bremse aktiv ...
{
digitalWrite(bremsLichtPin, HIGH);
if (chInput[1] >= neutralSpeed) // und jetzt nicht mehr
{
isBreak = false;
digitalWrite(bremsLichtPin, LOW);
}
}
}
[EDIT: Nachdem ich neutralSpeed ich auf 1480 runtergeschraubt habe, geht das Bremslicht in der Neutralstellung aus, so wie es sein soll. 1500 war einfach nur etwas zu hoch.
reaktionsZeit = 400 war in meinem Fall jetzt doch zu lang, für mich waren 200 Millisekunden besser. Aber das kann je nach Belieben adjustiert werden.]