價格:免費
更新日期:2018-09-26
檔案大小:2.0M
目前版本:1.0
版本需求:Android 4.0.3 以上版本
官方網站:http://profjmunoz.blogspot.com
Email:jose.munoz28@gmail.com
聯絡地址:9500 S DADELAND BLVD STE 706 MIAMI FL 33156-2849
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 ('#');
}