domingo, 18 de enero de 2015

ChatBluetooth Sistemas Android (Teléfonos y Tablet) con Microcontroladores PIC y Arduino

La aplicación ChatBlueTooth Permite enviar mensajes de texto desde los dispositivos Android (Teléfonos y Tablet) a los sistemas microcontrolados como son los PIC y  Arduino. ChatBluetooth  además permite enviar los mensajes de texto que recibe el teléfono, y los mismos se podrán visualizar en las pantallas LCD conectadas a los microcontroladores. En el siguiente vídeo se puede observar el funcionamiento de a aplicación Chat_BlueTooth .

  





2 comentarios:

  1. Luis Palocz, Esteban Blanco, Mariyan Mendez. Estudiantes del tercer año de telecomunicaciones del Instituto Universitario Dr. Federico Rivero Palacio. Caracas, VENEZUELA.

    Materia curricular taller. Proyecto Final. Denominado sistema de comunicación Bluetooth mediante el uso de la aplicación Chat Bluetooth, para el manejo un generador de funciones HP 33120, a través de un dispositivo móvil Android.

    El sistema desarrollado, muestra cómo se adaptó la tecnología inalámbrica Bluetooth y la aplicación chat Bluetooth al sistema, mediante el desarrollo de herramientas de hardware microcontrolado o Arduino mediante la recepción de mensajes con parámetros especificos.

    La programación realizada en Arduino consistía en controlar parámetros como, voltaje pico a pico, tipo de función y frecuencia. Las funciones programadas eran SENO, SEÑAL CUADRADA, SEÑAL TRIANGULAR, etc. Todo esto mediante el llamado de cada comando que se especifica en el manual del generador de funciones que utilizamos.

    Para enviar todos los comandos al generador de funciones utilizamos un arduino mega configurado con un modulo bluetooth donde por medio de éste recibíamos la informacion enviada del telefono móvil con sistema android, ademas de esto utilizamos la aplicacion chat bluetooth descargada por el playstore adquirida gracias al desarrolador Jose Muñoz. Finalmente para hacer llegar los comandos al generador de funciones, utilizamos un integrado max 232 y un modem null conectado de un extremo al integrado y del otro extremo al generador de funciones, éste integrado cumplia la funcion de convertir la señal TTL del arduino a señal serializada, con el propósito de comunicar el arduino con el generador de funciones.

    A continuacion les dejamos el codigo de nuestra programacion y el link del manual del generador de funciones:

    ResponderEliminar
  2. #include
    #include
    // initialize the library with the numbers of the interface pins
    LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

    String pepe = "";
    String pepe2 = "";
    boolean termino;
    int contar;
    char parole;
    String enviar;
    int j = 0;
    int y = 0;

    String sent;
    String op1;
    String op2;
    String op3;
    String activar = "SYSTem:REMote";
    String pantalla = "DISPlay ON";
    String grupoe = "DISPlay:TEXT 'Esteban'";
    String grupol = "DISPlay:TEXT 'Luis'";
    String grupom = "DISPlay:TEXT 'Mariyan'";
    String limpiar = "DISPlay:TEXT:CLEar";

    void setup() {

    Serial.begin(9600);
    lcd.begin(16,4);
    lcd.setCursor(0,0);
    Serial.println(activar);
    Serial.println(pantalla);
    Serial.println(grupoe);
    delay(1000);
    Serial.println(grupol);
    delay(1000);
    Serial.println(grupom);
    delay(1000);
    Serial.println(limpiar);
    lcd.clear();

    }
    void loop() {

    if (termino) { //se ejercuta solo si esta en true
    if (contar > 1){
    lcd.setCursor(0,1);
    lcd.print(pepe2);
    pepe2="";
    sent="";
    termino = false;
    }
    }
    }

    void serialEvent() {

    lcd.clear();
    lcd.setCursor(0,0);
    pepe2=pepe;
    pepe="";
    if (Serial.available()) {
    while (Serial.available() > 0) {
    parole = Serial.read();
    delay(100);
    lcd.write(parole);
    //delay(1000);
    Serial.write (parole);
    delay (100);
    pepe+=(char)parole;

    if (pepe.substring(0,2)== "SIN") {


    op1= "APPL:SIN";
    }
    if (pepe.substring(0,2)== "SQU") {


    op1= "APPL:SQU";

    }
    if (pepe.substring(0,2)== "TRI") {

    op1= "APPL:TRI";

    }



    if (pepe.substring(4,6)== "1") {


    op2= "1 KHZ";

    }
    if (pepe.substring(4,6)== "2") {

    op2= "2 KHZ";

    }
    if (pepe.substring(4,6)== "3") {

    op2= "3 KHZ";

    }
    if (pepe.substring(4,6)== "5") {

    op2= "5 KHZ";

    }
    if (pepe.substring(4,6)== "10") {

    op2= "10 MHZ";

    }
    if (pepe.substring(4,6)== "12") {

    op2= "12 MHZ";

    }



    if(pepe.substring(8,10)== "2") {


    op3= "2.0 VPP";

    }

    if(pepe.substring(8,10)== "4") {

    op3= "4.0 VPP";

    }

    if(pepe.substring(8,10)== "6") {

    op3= "6.0 VPP";

    }

    if(pepe.substring(8,10)== "8") {

    op3= "8.0 VPP";

    }


    sent=op1+", "+op2+", "+op3;

    Serial.println(sent);
    lcd.print(sent);
    }
    termino = true;
    contar = contar + 1;
    }

    }

    Link del generador de funciones: http://www.keysight.com/upload/cmc_upload/All/6C0633120A_USERSGUIDE_ENGLISH.pdf?&cc=VE&lc=eng

    ResponderEliminar