Pages: [1]   Go Down
Author Topic: Bluetooth Cadenas  (Read 1331 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola, tengo un problema, cuando envio una cadena por bluetooth al arduino como "Hola" el arduino me tiene que regresar esa misma cadena, pero el problema es que cuando yo le envio "Hola" el arduino me devuelve la misma cadena pero caracter por caracter "H" "o" "l" "a" como le puedo hacer para que el arduino me regrese la cadena de un solo golpe, espero que me puedan ayudar por favor
Logged

Offline Offline
Edison Member
*
Karma: 23
Posts: 1375
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

A ver que saque la bola de cristal... cambia Serial.println() por Serial.print() dentro del bucle.

Si no es eso, como no nos des más pistas (al menos alguna, porque no tengo ni idea de que has podido hacer), me parece que poco más se puede hacer.
Logged

Mercadillo electrónico. Kit iniciación a Arduino, shield LCD a color y más cosas!

Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Yo le envio la palabra "hola" de mi celular por via bluetooth hacia el arduino, el arduino me tiene que regresar "hola" de un solo ciclo, pero lo que me regresa es "h" "o" "l" "a" una letra por cada ciclo.

Lo que quiero es que me regrese "hola" en un ciclo.
Logged

Ciudad Real
Offline Offline
God Member
*****
Karma: 1
Posts: 751
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

el puerto serie en un "ciclo" recibe un byte, es decir, un sólo carácter. desde el teléfono hace lo mismo, envía caracter por caracter, tan rapido que no te das cuenta smiley-grin

en el programa de arduino debes leer caracter por caracter y meterlo en un array o tipo String de manera que cuando llegue un retorno de carro puedas imprimir la linea entera de golpe

hay infinidad de ejemplos de esto y en el playground seguro lo encuentras

un saludo
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

gracias por la ayuda srdongato, solo que no he encontrado la manera de guardar el Serial.read en el array no se si puede ayudarme en eso tambien
Logged

Ciudad Real
Offline Offline
God Member
*****
Karma: 1
Posts: 751
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

aquí puedes ver un ejemplo

http://arduino.cc/forum/index.php/topic,103566.0.html

un saludo
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

gracias otra vez SrDonGato ya funcionó, ahora necesito que compare la cadena String con una palabra como por ejemplo if(myString == 'hola'), espero que me ayuden.
aqui esta mi codigo de lo que hecho:

String readString

void loop()
{
  switch(state)
  {
  case 0:
    digitalWrite(13,LOW);
    break;
  case 1:
    digitalWrite(13,HIGH);
    while(Serial.available()){
      delay(100);
      char c = Serial.read();
      if(c == ',')
        break;
      readString += c;
    }
    Serial.print(readString);
    readString="";
    break;
  }
}
Logged

Ciudad Real
Offline Offline
God Member
*****
Karma: 1
Posts: 751
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

leete las funciones de String y verás fácilmente lo que quieres hacer, es una de las funiones

http://arduino.cc/en/Reference/StringObject


un saludo

Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hola otra vez, ya puedo leer y comparar Strings por bluetooth, ahora si me pueden ayudar tengo que convertir una String a un int y tambien si es posible que cuando yo le ingrese un dato que me verifique si es un numero o una letra.

por ejemplo

String leer;
int valor;

if(leer es un numero)
   entonces valor va a ser igual que leer;
else
   que siga leyendo
Logged

Pages: [1]   Go Up
Jump to: