Inserire un valore di una variabile char come ritardo delay()

Premetto che sono nuovo di ARDUINO ed ho un ARDUINO UNO
Ho configurato la seriale con un'interfaccia VB.Net .
in pratica vorrei variare il valore del tempo di delay inviando la stringa da VB .
Il dato ricevuto da arduino viene inserito in una variabile char , ma se inserisco il nome della variabile in delay non succede nulla . In più il led che deve accendersi e spegnersi in base al delay lampeggia 1 volta se la stringa è di un carattere , 2 se la stringa è di 2 e via dicendo .
Vi posto il codice così magari mi spiegate dove sbaglio

char a;
int del;
void setup() {
  
  Serial.begin(9600);
pinMode(13,OUTPUT);
}
  
  void loop() {
   digitalWrite(13,LOW);

if ( Serial.available() >0 ){
a=Serial.read();
Serial.print(a);
del=(a);
delay(del);
digitalWrite(13,HIGH);
delay(del);
digitalWrite(13,LOW);
}
  }

Il Serial.print(a); lo uso per rimandare il dato inviato ad un textbox di VB per controllare se il contenuto di a è uguale al dato inviato

i valori che arrivano dalla seriale son sempre stringhe quindi se tu mandi 123 non è centoventitre ma una stringa 123, una frase insomma (123+111= 123111 e non 234 :wink: ) quindi tu devi convertire la stringa "numerica" in un intero prima di darla in pasto a delay()

ce un fonzione se non erro aroi() che fa questo lavoro, sennò puoi scriverti anche la funzioncina (è semplice) a scopo ditattico atoi() funziona bene :wink:

in piùdovrai usare un array sennò puoi scrivere un solo carattere..ovvero un numero da 0 a 9 e basta (con un carattere solo quello fai!!)

da un occhio qui:
https://www.inkling.com/read/arduino-cookbook-michael-margolis-2nd/chapter-2/recipe-2-9

Grazie mille , ho risolto con la guida del link senza atoi() .
Un'altra cosa , se volessi variare il delay di 2 diversi led potrei farlo ?
del tipo ricevere con un if i dati e se le prime 2 lettere sono L1 il restante è il delay di led1 e se sono L2 il restante sono il delay del led2 ?
Mi piacerebbe molto imparare a fare librerie e function da 0 .
Se puoi gentilmente dirmi dove posso trovare informazioni dettagliate a riguardo :slight_smile:

Ti consiglio la lettura di un paio di articoli.
Questo ti spiega come spedire dati dal computer ed interpretarli dall'Arduino (faccio l'esempio di un valore da usare per il PWM di un led).
Questo invece ti fa vedere come programmare i compiti con millis(), cosa che devi imparare se vuoi fare 2 cose a due intervalli diversi perché con delay non ci puoi riuscire.
Buona lettura :slight_smile:

Grazie mille per i consigli :slight_smile:
Interessante il mills() :smiley:

Guarda anche --> Serial.parseInt() - Arduino Reference