Osciloscopio Android casero


En este post presentamos un  interesantísimo   proyecto de osciloscopio casero  basado en Android      cuyo fuerte es el aislamiento entre la fuente de señal  y el terminal Android gracias a  que la transmisión de los datos se hace vía bluetooth.

El circuito transmisor utiliza de Microchip dsPIC33FJ16GS504 para la conversión de analógico a digital de las señales de entrada en dos canales.

Los datos procesados en el dsPIC se transmiten al teléfono (para la visualización de forma de onda) a través del módulo bluetooth SPP LMX9838 

 Los rangos soportados son :
  • Tiempo por división: {5us, 10us, 20us, 50us, 100us, 200us, 500us, 1 ms, 2 ms, 5 ms, 10ms, 20ms, 50ms}
  • V por división: {10mV, 20mV, 50mV, 100mV, 200mV, 500mV, 1V, 2V, GND}
  • Entrada analógica (depende de la configuración pre-amplificador externo): {-8V a + 8V}

 

En este video podemos ver el proyecto en acción:

Los códigos fuente para la comunicación bluetooth está basada en Bluetooth Chat en ejemplo de http://developer.android.com.

Ese ejemplo contiene tres archivos fuente de Java. Y, el autor ha copiado por completo el«DeviceListActivity.java», que se utiliza para buscar dispositivos Bluetooth remotos. Luego ha modificado el «BluetoothChatService.java» para usar sólo las funciones de cliente RFCOMM, y utilicé el UUID conocido «00001101-0000-1000-8000-00805F9B34FB «para el Bluetooth RFCOMM / SPP.

Para el trazado de formas de onda,SE  ha  usado objeto SurfaceView para dibujar en su lienzo. Este tutorial se encuentra en http://www.helloandroid.com  donde puede ayudar mucho para esta tarea el post: » Cómo utilizar la lona en tu Android».

El resto del trabajo se centra principalmente en portabilidad de un  anterior script en Python S60 al lenguaje JAVA. Es un duro trabajo porque tenía que convertir un fichero único en varios archivos fuentede Java + xml! Sin embargo, puede ser  una buena experiencia para  el aprendizaje del SDK de Android (programación JAVA).

En cuanto el circuito   utilizado,como  podemos ver  se  basa en circuitos existentes.

 

* El dsPIC  utilizado es muy probable que no sea  la mejor opción para este proyecto debido a los muchos periféricos no utilizados izquierda (pines extra). Pero tiene el ADC más rápida (2 x 2Msps).
* Si prefiere cambiar el rango de entrada a través del preamplificador amplificador operacional, el cálculo se encuentra en el archivo «adc.xmcd».
* Puede utilizar otros módulos SPP bluetooth aparte de LMX. (Accdg al fabricante, ya es obsoleto)

El autor  hace algún  tiempo abandono  este proyecto (considerado como obsoleto),así que ha dejado el repositorio fuente también en Google Code 

Usted puede. Explorar o usar git para PARA  tener su propia copia local:

(vea también los cambios , si desea también para aprender sobre cómo modificar el código).

El autor  empezó el primer ‘commit’ con un simple «hola mundo» de la plantilla de proyecto SDK. Y entonces se hicieron cambios hasta que se logró la aplicación osciloscopio final deseado.

 

 Esta aplicación se  ha probado  con Samsung Galaxy Spica GT-i5700 ( arraigada Android 2.1 OS, i570EXXJD1 Baseband versión).

 

Fuente aqui