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 dato 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
<LiquidCrystal.h>
//String
mensaje,mensaje3;
#include
<SoftwareSerial.h>
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
('#');
}