Osciloscopio Bluetooth.

La aplicación Osciloscopio Bluetooth permite transformar su teléfono o Tablet en un osciloscopio o voltímetro que se conecta a través de Bluetooth a un dispositivo micro controlado como puede ser un PIC, Arduino o un sistema Rasberry PI. El Osciloscopio Bluetooth permite visualizar señales Alternas (AC) o señales continuas (DC) en tu dispositivo móvil de forma segura ya que se conecta inalámbricamente a tu micro controlador que capturas las señales DC o AC y la transmite a tu Teléfono o Tablet a través de Bluetooh.
Visite la página http://www.profjmunoz.blogspot.com/ desde la misma aplicación presionando el icono "ONLINE TUTORIALS" donde podrá encontrar tutoriales de como conectar las señales alternas y DC a un sistema Arduino y transmitirla a su teléfono o Tablet para visualizarla a través de la aplicación Osciloscopio Bluetooth.
La aplicación Osciloscopio Bluetooth recibe los datos desde tu sistema micro controlado en el siguiente formato:

Señal Recibida= $Dato1Dato2#
Ejemplo: Sí Dato1=4.25 y Dato2=60.5 recibe $4.2560.5#
El valor de dato1 se gráfica y el valor de dato2 se visualiza. 

Cuando se enciende el osciloscopio con el icono de encendido color verde se envía el carácter “1” al sistema micro controlado. Cuando se presiona el botón de apagado color rojo se envía el carácter “0”, estos valores se pueden utilizar para controlar los procesos que deseen , por ejemplo encender o apagar un led, encender o apagar el envío de datos etc.
A continuación el programa que se realiza en un sistema Arduino para el envío de datos a su Tablet o teléfono. Se utilizó un Arduino 1, un módulo bluetooth HC-06 en los pines: 11 (RX) y 12 (TX). La señal DC o AC se introdujo por el pin analógico A0:

// include the library code:
#include 
//String mensaje,mensaje3;
#include 
SoftwareSerial mySerial(11, 12); // RX, TX
char inChar;
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(8, 3, 4,6, 7,9);
float dato1=1.25;
float dato2=9.45;
String tmp;
unsigned long duracion1; 
unsigned long duracion2; 

//clipping indicator variables
boolean clipping = 0;

//data storage variables
byte newData = 0;
byte prevData = 0;

//freq variables
unsigned int timer = 0;//counts period of wave
unsigned int period;
int frequency;

// Lee Los DATOS DE Voltaje Pin A0
void readDatos();

void setup() {

Serial.begin(9600);
Serial.begin(9600);

// set up the LCD's number of columns and rows: 
lcd.begin(20, 4);
// Print a message to the LCD.
lcd.setCursor(0,0);
lcd.print("Osciloscopio Bth");
//pinMode(A1,INPUT);
mySerial.begin(9600);

}

void loop() {

readDatos();
// Calcula la Frecuencia de la Señal 


lcd.setCursor(0,2);
lcd.print("Datos1=");
lcd.print(dato1);
lcd.print("Datos2=");
lcd.print(dato2);
enviarDatos();


while (mySerial.available() > 0)
{
inChar= (mySerial.read());
lcd.setCursor(0,1);
lcd.print("Recibiendo=");
lcd.setCursor(13,1);
lcd.print(inChar);
inChar=' ';

}
delay(100);
}

// Lee los Datos e Voltajes Pueto Analogico A0 
void readDatos()
{
//dato1= analogRead (A0);
dato1= (analogRead(A0)*0.00488);
dato2=00.0;
}
// Enviar Datos al Dispositivo Android
void enviarDatos()
{
mySerial.print('$');
readDatos();
mySerial.print(dato1);
mySerial.print(dato1); // Aquí se púede enviar otro dato al Android
mySerial.print ('#');

}

Desarrollador
ESTE ARTICULO Y SUS FOTOGRAFIAS TIENEN DERECHOS DE AUTOR , SON SOLO PARA SU DIFUSION SIN ANIMO DE LUCRO Y A TITULO INFORMATIVO , TIENEN LA OBLIGACION DE CONSULTARLO Y COMENTARLO EN SU WEB ORIGINAL.
Los sitios y publicaciones a los que se enlaza desde esta página son solo propiedad de sus respectivos autores.
Los contenidos de los post publicados en Revista ELEKTRONIKA son de responsabilidad exclusiva de sus respectivos autores.