Boa tarde a todos.

Sou novo por aqui e estou me aventurando pelos arduinos. Eu não entendo muito da linguagem de programação dele. Neste momento estou testando comandos por voz para o arduino pela serial. Meu problema é o seguinte:

Pelo que eu entendi, a função Serial.read() lê apenas um caractér por vez. O programa que envia os comandos de voz depende do envio de caracteres para o arduino. Porém devido ao número de caracteres que a função lê ser apenas um por vez, o máximo que eu consigo enviar de comandos diferentes são somente a mesma quantidade de caracteres individuais que o Arduino entende. Ou seja estou limitado à uma certa quantidade de comandos.

Eu precisaria que, de alguma forma, o arduino pudesse ler 2 ou mais caracteres juntos para então executar um comando.

Este é o código que estou utilizando:

#include <IRremote.h>

IRsend irsend;

void setup()


{


Serial.begin(9600);
}

void loop() {
  switch (Serial.read()) {
              case 'a':{
              irsend.sendNEC(0xE17A48B7, 32);
              Serial.println("LIGAR TV");
              break;

              }

              case 'b':{
              irsend.sendNEC(0xC2CA807F, 32);
              Serial.println("Home Ligar");
              break;
              }

}

E assim por diante...

Notem que na função case ' ' eu só consigo colocar um caracter por vez. Se eu colocar dois numeros, ou duas letras...etc ele não interpreta.

Por causa disso não consigo aumentar a quantidade de comandos no arduino.

Como sei que a galera aqui manja muito, se alguém puder me ajudar ficaria muito grato. A solução acredito que possa até ser simples, mas como não manjo de programação então não estou conseguindo dar continuidade ao projeto por causa desta questão.

Muito Obrigado

Um abraço a todos

Exibições: 527

Responder esta

Respostas a este tópico

Boa tarde TRJ,
Use a função readString() ou readStringUntil().
Leia : https://www.arduino.cc/en/Serial/ReadString

RV

Bom dia amigo. Muito Obrigado.

Sem querer abusar da sua boa vontade, você poderia me dar um exemplo de como eu uso essa função?

Ainda sou muito leigo nesse assunto. Desculpe.

Mais uma vez obrigado.

Att.

Bom dia TRJ,

estou em viagem, e no celular fica dificil.

Procure com o google exemplos de uso destas funções.

RV

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço