Introducción

La idea de este proyecto era hacer un robot cuyo tamaño no ocupará mucho más que la dimensión de la placa Arduino MKR Motor Carrier ¿lo conseguiría?.. aquí podéis ver el resultado:

El robot está formado por una placa Arduino MKR WiFi 1010 acoplada a la placa Arduino MKR Motor Carrier junto con 4 motores N20 de 100 rpm. También se le ha añadido un servomotor que mueve un sensor de ultrasonidos HC-SR04 para detectar obstáculos.

El robot los vamos a controlar de dos modos:

    • Mediante un acelerómetro.
    • Mediante una aplicación en Android.

La comunicación tanto en un modo como en otro se realizará mediante Bluetooth Low Energy.

Control mediante acelerómetro

Para controlar el robot mediante un acelerómetro utilizaremos la IMU (Unidad de Medición Inercial) presente en la placa Arduino Nano 33 BLE Sense. La idea es que en función de la inclinación que le demos a la placa generemos los movimientos correspondientes para controlar el robot.

La placa Arduino Nano 33 BLE Sense actuará como nuestro mando a distancia y por tanto representará el dispositivo central o máster en la comunicación BLE (Bluetooth Low Energy).

Por otra parte el Arduino MKR WiFi 1010 acoplado al la placa Arduino MKR Motor Carrier actuará como receptor y representará el dispositivo periférico o esclavo en la comunicación BLE.

El funcionamiento será el siguiente:

    • El dispositivo central se conectará al dispositivo periférico buscando la característica del servicio especificado. 
    • Una vez establecida la conexión, el dispositivo central enviará (escribirá) los ángulos de inclinación detectados por la IMU del Arduino Nano 33 BLE Sense  (será una cadena de texto tipo: “ánguloRotaciónY,ánguloRotaciónX”) en la característica del servicio del dispositivo periférico que a su vez traducirá estos ángulos en movimientos que harán mover al robot.

Control mediante aplicación en Android

La idea es hacer una aplicación sencilla utilizando el entorno de desarrollo MIT App Inventor 2 que tenga cuatro flechas que representen los movimientos de avanzar, retroceder, girar a la izquierda y girar a la derecha.

También necesitaremos añadir los botones para poder escanear y conectar dispositivos Bluetooth Low Energy (BLE) y un control de tipo switch para hacer que el robot se controle de modo manual o actúe en modo automático. El modo manual es el modo en el cual controlamos el robot mediante las flechas de la aplicación. En el modo automático el robot funcionará de manera autónoma entrando en funcionamiento el sensor de ultrasonidos acoplado al servomotor que lo hará girar a derecha e izquierda unos 50º y que en caso de que detecte un obstáculo a unos 25 cm de distancia hará girar el robot para evitar el obstáculo.

En este modo de control el sistema Bluetooth estará formado por los siguientes dispositivos:

    • Dispositivo central:  Teléfono móvil con la aplicación que crearemos.
    • Dispositivo periférico: Arduino MKR WiFi 1010.

« Anterior Siguiente »