Oscil·loscopi Bluetooth
L'aplicació Oscil·loscopi Bluetooth permet transformar el seu telèfon o Tablet en un oscil·loscopi o voltímetre que es connecta a través de Bluetooth a un dispositiu micro controlat com pot ser un PIC, Arduino o un sistema Rasberry PI. El Oscil·loscopi Bluetooth permet visualitzar senyals Alternes (AC) o senyals continus (DC) en el teu dispositiu mòbil de forma segura ja que es connecta sense fils al teu micro controlador que captures els senyals DC o AC i la transmet al teu Telèfon o Tablet a través de bluetooh.
Visiteu la pàgina http://www.profjmunoz.blogspot.com/ des de la mateixa aplicació pressionant la icona "ONLINE TUTORIALS" on podrà trobar tutorials de com connectar les senyals alternes i DC a un sistema Arduino i transmetre-la a seu telèfon o Tablet per visualitzar-la a través de l'aplicació Oscil·loscopi Bluetooth.
L'aplicació Oscil·loscopi Bluetooth rep les dades des del teu sistema micro controlat en el següent format:
Senyal rebuda = $ Dato1Dato2 #
Exemple: Sí Dato1 = 4.25 i dada2 = 60.5 rep $ 4.2560.5 #
El valor de dato1 es gràfica i el valor de dada2 es visualitza.
Quan s'encén l'oscil·loscopi amb la icona d'encesa color verd s'envia el caràcter "1" al sistema micro controlat. Quan es pressiona el botó d'apagada color vermell s'envia el caràcter "0", aquests valors es poden utilitzar per controlar els processos que desitgin, per exemple encendre o apagar un led, encendre o apagar l'enviament de dades etc.
A continuació el programa que es realitza en un sistema Arduino per a l'enviament de dades al seu Tablet o telèfon. Es va utilitzar un Arduino 1, un mòdul bluetooth HC-06 en els pins: 11 (RX) i 12 (TX). El senyal DC o AC es va introduir pel pin analògic A0:
// Include the library code:
#include
// String missatge, mensaje3;
#include
SoftwareSerial mySerial (11, 12); // RX, TX
char inflar el;
// Initialize the library with the numbers of the interfície pins
LiquidCrystal lcd (8, 3, 4,6, 7,9);
float dato1 = 1.25;
float dada2 = 9.45;
String tmp;
unsigned long durada1;
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;
// Llegeix Les DADES DE Voltatge 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 ("Oscil·loscopi BTH");
// PinMode (A1, INPUT);
mySerial.begin (9600);
}
void loop () {
readDatos ();
// Calcula la Freqüència del Senyal
lcd.setCursor (0,2);
lcd.print ("Dades1 =");
lcd.print (dato1);
lcd.print ("Datos2 =");
lcd.print (dada2);
enviarDatos ();
while (mySerial.available ()> 0)
{
inflar el = (mySerial.read ());
lcd.setCursor (0,1);
lcd.print ("Rebent =");
lcd.setCursor (13,1);
lcd.print (inflar el);
inflar el = '';
}
delay (100);
}
// Llegeix les Dades i Voltatges Pueto Analògic A0
void readDatos ()
{
// Dato1 = analogRead (A0);
dato1 = (analogRead (A0) * 0,00488);
dada2 = 00.0;
}
// Enviar Dades al Dispositiu Android
void enviarDatos ()
{
mySerial.print ('$');
readDatos ();
mySerial.print (dato1);
mySerial.print (dato1); // Aquí es pot enviar una altra dada a l'Android
mySerial.print ('#');
}
Data d'actualització:
17 d’ag. 2020