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.