Arduino cortando String

Bom dia pessoal, tudo bem?

Tenho um arduino e preciso que ele trate uma String...

A minha string de teste é a seguinte:

"11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110"

O problema começa quando ele "corta" essa String, sketch:

void setup() {
Serial.begin(9600);
}
void loop() {
if(Serial.available()){
if(Serial.read() == '0'){
Serial.write("0");
}else{
Serial.write("1");
}
}
}

Ele me retorna apenas "11111111111"...

Percebi que se eu mando diferentes Strings ele me retorna diferentes tamanhos também, mas nunca o tamanho correto...

Alguém sabe o que pode ser?

Como estás a enviar essa string para a serial do arduino?
Explica melhor o que pretendes ao enviar essa string

Opa!

Vou tentar lhe explicar mais detalhadamente:

Tenho que pegar a informação que é enviada para o meu RX e, de acordo com o dado lido, colocar uma saída como nível lógico alto/baixo. Por exemplo:

String enviada: 0001110001010

Teria que repartir esta string desta maneira:

0 - Nível lógico baixo
0 - Nível lógico baixo
0 - Nível lógico baixo
1 - Nível lógico alto
1 - Nível lógico alto
1 - Nível lógico alto
0 - Nível lógico baixo
0 - Nível lógico baixo
0 - Nível lógico baixo
1 - Nível lógico alto
0 - Nível lógico baixo
1 - Nível lógico alto
0 - Nível lógico baixo

Meu novo sketch é o seguinte:

void loop() {

if(bluetooth.available()){

if(bluetooth.read() == '0'){

digitalWrite(DATA, LOW);

}else{

digitalWrite(DATA, HIGH);

}

delay(100);

}
}

Ele teria que entrar neste LOOP 13 vezes(tamanho da minha string), correto?
Mas isto que não acontece, aparentemente ele não entra.

Não sei se isto é algo na questão de meu micro não consegue ler na velocidade que é enviado todas as informações..

Por fim, basicamente eu preciso ler toda minha string e tratar toda ela, indiferente do tamanho. Não sei se é melhor eu ler toda ela(não sei se vai ler toda ela também) ou se é eu fazer do mesmo jeito que estou fazendo agora...

Aguardo retorno, obrigado!

Porque é que atrasas o teu loop() com a função delay()?

Acho que tens de ler um pouco acerca de protocolos pois o que estás a planear vai dar sarilho.