Dúvida no funcionamento dos dados na comunicação Serial 232 Bluetooth

Estou trabalhando num projeto de enviar dados via bluetooth. Estou  enviando uma String, com base nestas funções:

  "if(Serial.available()>0){
   android = Serial.readString(); "

A mesma que funciona normalmente. Entretanto, quando adiciono:

 "char x = Serial.read();

              if (acionar =='A'){

                  digitalWrite(led13, HIGH);
              }

O comando não funciona, ou seja, só consigo usar as operações da String de três botões.

Testei várias formas, até tentando colocar a "Serial.read() separada numa função a parte, mas sem sucesso.

Qualquer ajuda é muita bem vinda.

Obrigado!

Exibições: 209

Responder esta

Respostas a este tópico

Boa tarde RNP,

A descrição da sua dificuldade não está muito clara:

1.  Não entendi esta frase:  "  Estou o envio de uma String, com base:" 

    Quem envia o que para quem?  Qual formato desta string?

2 . Aqui gerou duvidas também :  

       " Entretanto, quando adiciono:

     

      "char x = Serial.read();

                 if (acionar =='A'){

                     digitalWrite(led13, HIGH);
                }

Sugiro que você anexe um arquivo contendo o seu código, para facilitar nossa compreensão da sua dificuldade.

RV

Boa tarde @Mineurin RV. Obrigado pela atenção.

Quem envia o que para quem? Estou enviando 1 byte de dados via bluetooth, através de um apk que criei.

Não consegui exemplificar bem, mas seguindo essa lógica, como exemplo:

int pwm1 = 9;

int led13 = 13;

String android;

char x;

void setup(){

    Serial.begin(9600);
    pinMode(pwm1,OUTPUT);

    pinMode(led13,OUTPUT);

}

void loop{

if(Serial.available()>0){

android = Serial.readString();

x = Serial.read();                                 

     if (x=='A'){

        digitalWrite(led13, HIGH);     /

     }


     if(android.startsWith("pwm1")){
     android.replace("pwm1","");
     analogWrite(pwm1,android.toInt());
  
     Serial.println(android);

     delay(100);

   }//if android

  }//fim serial Serial.available

}//fim loop

Praticamente, é esta parte da recepção com o Serial.read() e a condição, usando o carácter 'A'.

Não está habilitando o acionamento.

Jesus Amado!

      Porque será que as pessoas escrevem, mas tem o costume de não ler o que escreveram?

      Ou então pra remediar,  elas poderiam pedir pra alguém que esteja por perto, ler o que elas escreveram (e depois poderiam perguntar pra esse alguém:  "ficou claro?").

      Só posso dizer:     Boa sorte RV.

.

Já se exibiu bastante? Mais um ser  humano perfeito que nunca errou ou erra... 

O que posso dizer? Obrigado por não responder e vir se engrandecer?

olá Rodrigo.

     Sim já me exibi bastante por hoje, pelo menos pelo seu julgamento e graças ao seu post.

      Ah sim,  também já errei diversas vezes aqui, e quando isso foi percebido por mim ou por outros colegas,  sempre assumi meu erro, e quando foi possível, "consertei".

      Ah, me adiantando ao RV e aliviando o trabalho dele em sempre requisitar que nos ajudem a ajudar aqui:

      Abrçs,

      Elcids

Boa noite Sr. EC, 

obrigado pela ajuda.

Não fique triste com o comentário do garagista não.

As vezes a gente tenta mostrar de forma clara o que não se deve fazer e a reação,

ao invés da pessoa reconhecer a deficiência, corrigir e agradecer, faz exatamente o contrário.

Mas não vamos desistir não.

Eu acredito que o ser humano tem conserto.

Abraços pela ajuda.

RV

Este fórum é interessante.

Nenhum outro me respondeu como vocês, e ao contrário, me ajudaram.

Também acredito nisso: "Eu acredito que o ser humano tem conserto."

E começará, quando deixar a arrogância de lado.

Olá novamente Rodrigo.

      Sim, este fórum é interessante.

      Podemos ter iniciado aqui de forma ruim, mas se isso realmente ocorreu, também podemos mudar isso.

      Acho que essa é a atitude de quem realmente quer colaborar.

      E talvez eu tenha sido terrivelmente infeliz na minha brincadeira no meu post inicial, causando ter sido recebido de forma ruim para vc.  Esta não foi minha intenção, e por isso mesmo eu dizendo isso aqui e pedindo desculpas.

      Vamos mudar isso. Discórdia e inimizade nunca contribuem. E aqui é um lugar de colaboração. Senão de que vale estar aqui?

      Abrçs,

      Elcids

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço