Programando el Butia desde el celular
Contenido
Introduccion
Objetivo
Armado del Butia
Implementacion codigo Python
Antes de empezar a programar o usar el codigo, es necesario instalar las librerias a usar, esto se puede hacer escribiendo
pip install [nombre de la libreria] en el interprete de comandos del sistema.
Entonces instalamos la libreria a utilizar, en este caso:
pip install simple_websocket_server
Una vez instalada la libreria, hay que empezar a escribir el codigo.
El encabezado del codigo es el siguiente El uso de cada libreria se explica con detalle mas adelante
Luego, a partir de la libreria sys se define el camino del sistema para utilizar los plugins Butia.
En nuestro caso, la ruta es '/home/trerb/TurtleBots.activity/plugins/butia' , eso se tiene que modificar dependiendo de donde se encuentren el directorio TurtleBots.activity/ en su sistema de archivos
Luego se encuentra la funcion clearConsole ,
Esta funcion sirve unicamente para limpiar el interprete de python usando la libreria os y tener una ejecucion mas limpia
El siguiente codigo utiliza la libreria socket para conectarse a la web y preguntar la ip del ordenador que ejecuta el archivo y la muestra en pantalla, esto se usa para facilitar la conexion con la App Mobil
Las siguientes lineas de codigo preguntan al usuario que puerto va a utilizar para la conexion, este codigo verifica que se ingrese un dato numerico, dentro del rango de los puertos, y que el puerto este disponible.
Luego se declaran las variables: Speed, Puerto_Gris y Puerto_Distancia , se verifica que los sensores de distancia y de grises esten conectados y asigna el puerto en el que esten conectados a las variables Puerto_Distancia y Puerto_Gris respectivamente. La variable speed es una variable global que se lee al inicio de cada cadena de acciones y la utiliza para todos los movimientos del Butia de esa cadena.
Seguimos con la declaracion de las funciones basicas del Butia, en este caso son Avanzar, Rotar, AvanzarHastaVerColor y AvanzarHastaObstaculo
-La funcion Avanzar recive un parametro de tiempo y el Butia avanza ese determinado tiempo.
-La funcion Rotar recive dos parametros, una direccion que puede ser Izquierda o Derecha y un tiempo que indica la duracion de la rotacion del Butia.
-La funcion AvanzarHastaVerColor recive un parametro que varia entre Blanco o Negro, el robot va a avanzar hasta detectar el color seleccionado. Esta funcion solo se puede usar si el sensor de grises esta conectado.
-Por ultimo, la funcion AvanzarHastaObstaculo no recive parametros, en este caso el Butia va a avanzar hasta estar a unos pocos centimetros de un obstaculo. Esta funcion solo se puede usar si el sensor de distancia esta conectado.
Luego se encuentra una funcion Accion1 esta funcion se puede definir