Sting-Variable in einzelne Buchstaben zerlegen

Hallo :slight_smile:
ich habe einen 5x5x5 Led-Cube gebaut über den ich auch Wörter oder Sätze ausgeben möchte. Nun habe ich für jeden Buchstaben ein Unterprogramm geschrieben und das funktioniert auch wunderbar. Jetzt möchte ich aber über den Seriellen Monitor ein Wort eingeben, das dann über den Cube ausgegeben wird. Das Wort einlesen funktioniert auch schon einwandfrei, nur habe ich dann die String-Variable abc und da gibt es das Problem.

void loop() 
{ char nC;
 
  if (Serial.available() > 0) 
  { 
    nC = Serial.read();
  Serial.println(nC);
    if( nC == ';' ) 
     {
        abc=cmd;
        cmd = "";
     }
   else 
    {
      cmd += nC;
    }
 }

Ich müsste diese abc Variable dann in die einzelnen Buchstaben zerlegen und für jeden Buchstaben das Unterprogramm aufrufen. Da bin ich aber leider mit meinen Kenntnissen am Ende und ich hoffe das mir hier jemand helfen kann :slight_smile:

Da ich am Arduino auch noch ein Display hängt. Dafür brauche ich gleich das ganze Wort und nicht erst wenn alle Unterprogramme abgelaufen sind.

char* Wort= cmd.c_str();

c_str() liefert einen const char*

Das hier ist bis jetzt mein Sketch. Hier wird das Wort (ist in der abc Variable gespeichert) aber erst auf dem LCD-Display ausgegeben. Für die Ausgabe am LED-Cube müsste ich die abc Variable wieder in die einzelnen Buchstaben zerlegen und das jeweilige Unterprogramm aufrufen.

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
String cmd;
String abc; 
int t1,le;

void setup() 
{
 Serial.begin(19200); //USB
 lcd.begin(16, 2);
 lcd.setCursor(6, 0);  
 lcd.print("LED-Cube");
}

void A()....bis....void Z()   //Unterprogramme


void loop() 
{ char nC;
 
  if (Serial.available() > 0) 
  { 
    nC = Serial.read();
  Serial.println(nC);
    if( nC == ';' ) 
     {
        abc=cmd;
        cmd = "";
        t1=0;
     }
   else 
    {
      cmd += nC;
      le++;
    }
 }
  
 if (t1==0)
   { int ab=(20-le)/2;
     lcd.clear();
     lcd.setCursor(6, 0);
     lcd.print("LED-Cube");
     lcd.setCursor(ab, 1); 
     lcd.print(abc);
     t1++;
     le=0;   
   }
  }