Boa noite galera,

Estou fazendo um aplicativo no APP INVENTOR e acabei esbarrando em um problema.

No Arduíno tenho uma rotina que escreve na serial um código especifico repetitivo, funciona bem porém se eu envio dois valores seguidos, lá no APP INVENTOR ele não consegue separar e mistura tudo.

Só funciona se eu inserir um delay > 800ms entre os valores.

Vou tentar explicar:

No arduino:

delay (1000);
Serial.print("PPV|"); 
Serial.print(ppv);     // este é o valor a ser mostrado
delay (800);
Serial.print("CRG|"); 
Serial.print(carga);    // este é o valor a ser mostrado

Eu uso a " | " para determinar que oque vem depois são dados.

Chega no APP INVENTOR assim:

PPV|231

CRG|432

O correto seria mostrar assim:

231

432

Se eu não inserir estes tempos o APP INVENTOR mostra assim:

ex:

231CRG

432PPV

Eu não encontrei um modo que ele entenda e separe por ex. o 231 do CRG , já que o CRG não e dado e sim um código para determinar onde ele será escrito no APP INVENTOR.

Já tentei enviar "nada", "espaço" entre os dados, mas nada.

Se alguém puder ajudar eu agradeço

Exibições: 279

Responder esta

Respostas a este tópico

Boa noite.

Pela rápida leitura que fiz, vejo que tenho problema é o "protocolo" que criou. Minha dica é vc criar um protocolo onde o pacote tenha caracter de Inicio e de Fim, por exemplo:

$PPV231*

$CRG432*

O carácter "$"  e o "*" são os delimitadores do pacote "PPV231". Logo, você terá que alterar o programa para identificar o Inicio ( $ ) e o Final ( * ) deste pacote, assim vc terá garantia do conteúdo e será feliz.

Abraços.

Bom dia 

No App Inventor existe uma instrução para "pegar" o valor com dois digitos após a "|" porém o aplicativo não respeita essa instrução.

Boa noite, 

O colega Eduardo Silva do Laba de Garagem é fera em APP Inventor .

Veja os vídeos dele :

https://www.youtube.com/user/TecnoEduardo/playlists?disable_polymer=1

https://www.youtube.com/user/TecnoEduardo/videos?disable_polymer=1

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço