Gestione String

Buonasera a tutti.
Ho un problemino, ho una variabile di tipo String chiamata command a cui devo aggiungergli un Char, come posso risolvere?

String command;

void setup() {
  Serial.begin(9600);
  pinMode(5, INPUT);
  pinMode(6, INPUT);
}

void loop() {
  char primo = 'd';
  char secondo = 'x';
  if (digitalRead(5) == HIGH) { aggiungi la variabile <<primo>> alla variabile command }
  if (digitalRead(6) == HIGH) { aggiungi la variabile<<secondo>> alla variabile command }
}

L’operazione da fare è detta concatenazione.

Vi sono (almeno) due modi:

operatore di concatenazione tra stringe
funzione concact

trovi più e meglio spiegato alla reference:

Una nota: in generale nei linguaggi di programmazione le stringhe sono final (ovvero non modificabili)…quel che quindi accade è che viene creata una nuova stringa con i contenuti della prima e della seconda.

Ciao :slight_smile:

automatic_jack:
L’operazione da fare è detta concatenazione.

Vi sono (almeno) due modi:

operatore di concatenazione tra stringe
funzione concact

trovi più e meglio spiegato alla reference:

http://arduino.cc/en/Tutorial/StringAppendOperator

Una nota: in generale nei linguaggi di programmazione le stringhe sono final (ovvero non modificabili)…quel che quindi accade è che viene creata una nuova stringa con i contenuti della prima e della seconda.

Ciao :slight_smile:

Ehi, intanto grazie per avermi risposto.
Seconda cosa… Non è il caso allora che io usi una variabile String, perché praticamente la mia situazione è che ho una tastiera collegata ad arduino, ed ogni tasto che premo deve essere aggiunto alla variabile, per poi ottenere un’intera parola.

Ti suggerirei di ben definire il quadro di quanto stai realizzando…mi spiego meglio:

  • se il digitato va consumato altrove, ti conviene andare subito in output: ad esempio se il digitato è “c”, “a”, “s”, “a” ma non è arduino che deve interpretare che le quattro lettere siano la parola “casa”

  • se il digitato va consumato su arduino può, allora, aver senso effettuare composizioni di caratteri (crear parole)

Spero ti sia utile…

Massimo

String command;
char primo = 'd';
char secondo = 'x';
....
....
....
command+= "A";
command+= "B";
command+= "C";
command+=String(primo);
command+=String(secondo);

la stringa sarà ABCdx

altrimenti usi un array di char predefinito