Tutorial del Internet de las Cosas y Bluetooth con el ESP32
Juan Antonio Villalpando
Volver al índice del tutorial
____________________________
215.- Wemos D1 R32 ESP32. Bluetooth. Servo movido desde App Inventor mediante Deslizador.
p215wemos_servo_BT_Desliza.aia
- Al mover el Deslizador en App Inventor se mueve el Servo.
________________________________
- Diseño.

________________________________
- Bloques.

________________________________
- Conexiones.

- En este ejemplo he conectado el Servo directamente a los 5V de la tarjeta, normalmente se suele conectar a una alimentación externa.
- Bajamos el siguente archivo, lo descomprimos y lo copiamos en la carpeta libraries de Arduino.
ESP32_Arduino_Servo.zip
________________________________
- Código.
|
// Juan A. Villalpando.
// KIO4.COM
// App Inventor Bluetooth Servo
#include "BluetoothSerial.h"
#include <Servo.h>
Servo myservo;
static const int servoPin = 14;
#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)
#error Bluetooth no activado! Activa la conexion Bluetooth.
#endif
BluetoothSerial SerialBT;
char caracter;
String palabra;
void setup(){
SerialBT.begin("ESP32test");
Serial.begin(115200);
myservo.attach(servoPin);
}
void loop(){
if(SerialBT.available()) {
caracter = SerialBT.read();
palabra = palabra + caracter;
if(caracter == '*') {
palabra = palabra.substring(0, palabra.length() - 1); // Quita último caracter *
// Gira el servo.
myservo.write(palabra.toInt());
Serial.println(palabra);
palabra = "";
}
delay(100);
} // =>Fin del available
}
|
________________________________
- Comentarios.
- Debemos poner un Reloj para que el texto se envíe periódicamente.
- La palabra viene así: 123*, hay que quitar el último caracter, el asterisco *, para que quede: 123
- Con esta librería myservo debe enviar números enteros, por eso utiliza palabra.toInt()
- En vez de utilizar el Reloj, podríamos mover el Deslizador y después pulsar el Botón "Enviar valor del Deslizador", pero para ello debemos poner todos los TemporizadorHabilitado en falso, para que no actue el Reloj.
_______________________________
|