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:
|
// 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.
|
// 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.
|
// 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.
|
// 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.
__________________________________
|