Experimentación con una tarjeta BusPirate y migración a una tablet
Openalex
Resumen
El objetivo del proyecto es desarrollar una aplicacion para dispositivos que funcionen con el sistema operativo Android que simule un osciloscopio muy basico. Asi se puede conseguir un osciloscopio accesible a todo el mundo y que, a diferencia de los programas ejecutables por medio del PC, no requiera de instalacion de librerias para que funcione. Como hardware se ha utilizado una placa Bus Pirate, con la version 3.6, para conseguir tal objetivo. Los pasos a seguir en el proyecto son el estudio de las especificaciones de la placa, desarrollar un codigo que garantice una correcta lectura de datos del puerto serie de la placa y lo transmita mediante USB al dispositivo y, por ultimo, integrar este programa en un osciloscopio y adaptarlo para que funcione tal y como se quiera. Del estudio de la placa se ha podido conocer que esta tiene dos modos de acceso: el modo de acceso por terminal de usuario y el modo de acceso binario. Como en el primero los datos que se envian son en formato texto hace que la velocidad de lectura de datos resulte muy lenta para el desarrollo de un osciloscopio. Por tanto, se decide trabajar en el modo de acceso binario en donde esta informacion es en formato de bytes. En el modo acceso binario interesa trabajar en el modo Bit Bang, ya que proporciona un control directo sobre los pines de la placa con tan solo mandar un byte, proceso que resulta muy rapido. Para entrar en este modo, se envia veinte veces el byte 0x00 y una vez dentro se puede hacer mediciones a traves de la sonda ADC (conversor analogico digital del microcontrolador interno de la placa Bus Pirate) enviando a la placa el byte 0x14 (una vez) o el byte 0x15 (varias veces). Lo que la placa nos devuelve es una pareja de bytes en formato Motorola, es decir, los 8 bits mas significativos van primero. Esto se tiene en cuenta a la hora de desarrollar el codigo para que no se mezcle una lectura con otra. Una vez realizado el estudio de la placa se procede al desarrollo del programa. En un primer instante, se habia pensado en escribir este codigo en Python y desarrollar la aplicacion en una libreria de Python llamada Kivy. Al crear un primer intento en el que se intentaba acceder al USB del terminal movil/Tableta se observo que no se tenian los permisos suficientes y que, por tanto, para poder acceder a el se tenia que “rootear” el dispositivo, hecho que contradice uno de los objetivos del proyecto que era la accesibilidad del osciloscopio sin necesidad de ninguna instalacion adicional. Por tanto, se decide desarrollar el programa en el lenguaje de programacion Basic for Android (B4A a partir de ahora), que es un lenguaje basado en Visual Basic y que no requiere de permisos adicionales para acceder al USB del terminal ni ningun otro tipo de dependencia. Una vez se ha desarrollado el codigo para que se recojan los datos de la sonda ADC del Bus Pirate y se han convertido a Voltios para que resulte funcional en el osciloscopio, se integra en el codigo del osciloscopio que se ha tomado como base. Se eliminan las curvas adicionales, ya que solo se necesita una variable que mostrar (voltaje) y se trabaja sobre el modo Single Shot, en el que se toman un numero determinado de muestras y una vez tomadas todas esas muestras se dibuja en la pantalla, siendo el eje Y el voltaje y el eje X el tiempo.
Cómo citar
Cristian Cantador Fernández (2017). Experimentación con una tarjeta BusPirate y migración a una tablet.