|     Inicio    |   |         |  |   FOROS      |  |      |      
   Elastix - VoIP B4A (Basic4Android) App inventor 2 PHP - MySQL
  Estación meteorológica B4J (Basic4Java) ADB Shell - Android Arduino
  Raspberry Pi Visual Basic Script (VBS) FireBase (BD autoactualizable) NodeMCU como Arduino
  AutoIt (Programación) Visual Basic Cosas de Windows Webs interesantes
Translate:
Búsqueda en este sitio:


.

App inventor 2 en español
Cómo programar los teléfonos móviles con Android.
Bluetooth, Arduino y App inventor 2 - Juan Antonio Villalpando

-- Tutorial de iniciación de App Inventor 2 en español --

Volver al índice del tutorial

___________________________

9A1.- App Inventor envía información al Arduino. Distintas formas de recibirlo. readStringUntil.

p9A1_bluetooth_texto.aia

- App inventor envía un texto al Arduino, vamos a ver distintos código en el Arduino.

- Veremos algunas de estas funciones:

https://www.arduino.cc/reference/en/language/functions/communication/stream/

_______________________________________________

- Diseño.

_______________________________________________

- Bloques.

_______________________________________________

- Arduino.

___________________________
-
Conexión Arduino.

___________________________
1.-
La información de llegada termina en asterisco.

- Va recibiendo caracteres y acumulándolo en "palabra", cuando llega el asterisco: Esto es texto*
- Quita el asterisco, que es el último caracter, e imprime "palabra" en el Monitor Serie.

- En este caso la información que salga de la aplicación, debe terminar en asterisco:

 

Texto_y_asterisco.ino


// Juan A. Villalpando
// kio4.com

char caracter;
String palabra;

void setup() { 
  Serial.begin(9600);
}

void loop() { 
  if(Serial.available()) {
   caracter = Serial.read();
   palabra = palabra + caracter;

  if(caracter == '*') {    
    palabra = palabra.substring(0, palabra.length() - 1); // Quita último caracter * 
    Serial.println(palabra);
    palabra = "";
  }
    delay(5); 
}

}

___________________________
2.- readStringUntil.

- Van llegando caracteres hasta el final del mensaje.

- No es necesario que termine en asterisco.

readStringUntil.ino


// Juan A. Villalpando
// kio4.com

char caracterfinal = '\n';
String texto;

void setup() { 
Serial.begin(9600);
}

void loop() { 
  if(Serial.available()) {
    texto = Serial.readStringUntil(caracterfinal);
    Serial.println(texto);
  }
}

___________________________
3.- readString.

- Van llegando caracteres hasta el final del mensaje o hasta que terminel el tiempo establecido.

readString.ino


// Juan A. Villalpando
// kio4.com

String texto;

void setup() { 
Serial.begin(9600);
Serial.setTimeout(100);
}

void loop() { 
  if(Serial.available()) {
    texto = Serial.readString();
    Serial.println(texto);
  }
}

___________________________
4.-
readBytesUntil.l

- Van llegando caracteres hasta el final del mensaje.

readBytesUntil.ino


// Juan A. Villalpando
// kio4.com

int longitud = 20;
char buffer[21];
char caracterfinal = '\n';
int numero_caracteres;

void setup() { 
Serial.begin(9600);
}

void loop() { 
  if(Serial.available()) {
    numero_caracteres = Serial.readBytesUntil(caracterfinal, buffer, longitud);
    Serial.println(buffer);
    buffer[numero_caracteres]='\0'; // Borrar todo el buffer
  }
}

- Prueba enviar más de 20 caracteres.

- Comenta la línea del buffer.

___________________________
-
Comentarios.

__________________________________

 
- Mi correo:
juana1991@yahoo.com
- KIO4.COM - Política de cookies. Textos e imágenes propiedad del autor:
© Juan A. Villalpando
No se permite la copia de información ni imágenes.
Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación y realizan análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. Acepto    Más información