Oi, gente. Bom dia.
Estou precisando ler um inteiro de 2 dígitos do teclado no Arduino(tipo 25, 89, 49).
Como eu poderia fazer isso?
Tags:
Blz?
Vc precisará programar com funções:
Serial.begin(9600);
Serial.available();
Serial.read();
Nunca usei enviando números inteiros direto, mas só pesquisar que deve ter.
Segue o link que estará explicando as fuções:
http://cleitonbueno.wordpress.com/2011/08/18/arduino-comunicacao-en...
Vc quer ler o teclado ligado no arduino, ou quer ler quando digita no serial monitor???
Quero ler o teclado do computador utilizando a função Serial.read()
Eu sei utilizá-la, mas ela só le um dígito. Queria um método para ler o número de dois algarismos
char *SerialDataRead;
int SerialDataRead_Count = 0;
void setup()
{
Serial.begin(9600); //This is the setup function where the Serial port is initialised,
}
void loop()
{
if ( Serial.available() > 0)
{
RecebeComandos();
}
}
void RecebeComandos()
{
char DadoLido;
char *T_SerialDataRead;
while (Serial.available())
{
DadoLido = Serial.read();
if (DadoLido != 10)
{
T_SerialDataRead = (char *)realloc(SerialDataRead, sizeof(char) * (SerialDataRead_Count + 1));
SerialDataRead = T_SerialDataRead;
SerialDataRead[SerialDataRead_Count] = DadoLido;
SerialDataRead_Count++;
}
else
{
ProcessaComandos();
SerialDataRead_Count = 0;
}
}
}
void ProcessaComandos()
{
Serial.print(SerialDataRead);
}
Olá amigo, estou com esse mesmo problema mas para ler um inteiro a partir do teclado matricial ligado ao arduino...poderia me ajudar por favor?
Simples:
char acao[2];
void loop {
if (Serial.available()){
PegarDadosDaSerial();
}
}
void PegarDadosDaSerial() {
int i = 0;
while (i < 2) {
while (Serial.available()){
acao[i] = Serial.read();
i++;
}
}
Serial.println(acao);
}
Depois faz os testes com esse char e converte para int.
Espero ter ajudado, Abraços
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por