Controle de eletrodomésticos usando telefone Android

Control de electrodomésticos mediante un teléfono Android

A medida que la tecnología mejora, la automatización se ha convertido en una necesidad, ya sea en el hogar, la oficina o en cualquier otro lugar. En casa encontramos muchos electrodomésticos, ya sean ventiladores, aire acondicionado, TV, luces, etc. ¿Qué pasaría si pudieras operarlos todos con el teléfono Android que tienes en la mano?

Protótipo de sistema de automação residencial controlado por Android Mobile

Figura 1: Prototipo de sistema domótico controlado por Android Móvil

Este proyecto pretende incorporar el control de teléfonos Android sobre electrodomésticos. Utilizamos comunicación Bluetooth entre el teléfono Android y un receptor (unidad de control) que está conectado a los dispositivos. Bluetooth es un estándar de tecnología inalámbrica para intercambiar datos a distancias cortas (utilizando ondas de radio UHF de longitud de onda corta en la banda ISM de 2,4 a 2,485 GHz) desde dispositivos fijos y móviles y para construir redes de área personal (PAN). Inventado por el proveedor de telecomunicaciones Ericsson en 1994, fue diseñado originalmente como una alternativa inalámbrica a los cables de datos RS-232 . Puede conectar múltiples dispositivos, superando problemas de sincronización.

El módulo HC-05 es un módulo Bluetooth SPP (Protocolo de puerto serie) fácil de usar diseñado para una configuración de conexión serie inalámbrica transparente. Contiene 6 pines etiquetados en la parte posterior, pero la mayoría de los módulos solo tienen 4 de ellos llenos de pines pogo. KEY & STATE no son necesarios ya que KEY se usa para flashear el dispositivo y STATE simplemente indica si el dispositivo está activo o no. Eso deja solo GND, VCC, TXD, RXD.

Imagem típica do Módulo Bluetooth HC-05

Figura 2: Imagen típica del módulo Bluetooth HC-05

Para conectar el módulo con Arduino necesitamos utilizar los pines serie (Tx y Rx) proporcionados en la placa.

Conexiones y Trabajo

Haciendo conexiones con HC-05:

Algunos módulos están etiquetados como VCC para voltajes de trabajo de hasta ~6 voltios. A estos módulos NO les gusta nada excepto 3,3 voltios en la línea VCC. Debemos utilizar un conversor de nivel para 3.3V en la línea RXD. Utilice dos resistencias como divisor de voltaje simple para convertir el nivel TTL. Conecte una resistencia de 2,2 k ohmios a tierra y otra resistencia de 1 k ohmios a la línea TXD en la MCU. Conecte el pin RXD entre las dos resistencias para obtener una salida de aproximadamente 3,4 voltios. Conecte el pin RXD del módulo al TXD (Pin digital 1) del Arduino, usando la configuración del divisor de voltaje que se muestra a continuación:

Imagem mostrando as conexões do circuito do Arduino Uno e do módulo Bluetooth HC-05

Figura 3: Imagen que muestra las conexiones del circuito del Arduino Uno y el Módulo Bluetooth HC-05

Ahora conecte el TXD del módulo al RXD del Arduino (Pin digital 0). Para operar los dispositivos, no podemos conectarlos directamente al Arduino. Necesitamos algo llamado RELÉ, que se activa con la ayuda de un circuito controlador basado en transistores.

Diagrama de circuito do driver de relé baseado em transistor

Figura 4: Diagrama del circuito del controlador de relé basado en transistores

La 'entrada' es del pin de E/S de Arduino. RB es la resistencia limitadora de corriente en la base del transistor. Su valor normalmente es de 10K Ohm. 'VS' es el voltaje de suministro necesario para accionar la bobina del relé (depende de la clasificación del relé). Un diodo está conectado a la inversa en paralelo al relé. Esto se hace para evitar la contrafem generada por la bobina que podría dañar el transistor o el Arduino.

A continuación se muestra un diagrama de bloques simplificado del sistema completo:

Diagrama de blocos do sistema de automação residencial controlado por Android Mobile

Figura 5: Diagrama de bloques del sistema domótico controlado por Android Mobile

Después de realizar las conexiones anteriores, verá el LED parpadeando en el módulo. Esto solo garantiza que su dispositivo esté encendido correctamente. Después de eso, elija su teléfono Android y obtenga la aplicación “ Arduino Bluetooth Terminal ” de Google Play Store. Esta aplicación está disponible de forma gratuita y es fácil de usar.

Captura de tela do aplicativo Android usado para controlar eletrodomésticos

Figura 6: Captura de pantalla de la aplicación de Android utilizada para controlar los electrodomésticos

Después de la instalación, encienda el Bluetooth de su teléfono. Ahora busque dispositivos hasta que encuentre HC-05 y luego comience a emparejarlos. Ingrese la contraseña 1234 cuando se le solicite.

Si se empareja correctamente, el LED parpadeante en el módulo Bluetooth dejará de parpadear. En caso contrario, vuelva a comprobar las conexiones. Vuelve a la aplicación que acabas de descargar. Automáticamente encontrará el dispositivo, coincidirá con la clave mostrada e iniciará una conversación. Asegúrese de que el Bluetooth de su teléfono permanezca encendido.

Protótipo de sistema de automação residencial controlado por Android Mobile

Figura 7: Imagen que muestra el prototipo completo del sistema domótico controlado por teléfono Android basado en Arduino

Operación del sistema:

Cuando enviamos '1' a Arduino, el dispositivo 1 conectado a Arduino se enciende y cuando se envía '2', se enciende el dispositivo 2. Los datos seriales son leídos por el Arduino, a través de la función Serial.read y se almacenan en el estado de la variable de tipo entero declarada en el programa. Después de eso, en el ciclo, simplemente comparamos el valor de estado con 1, 2, 3 y así sucesivamente hasta 8 para verificar la condición de ENCENDIDO de 8 electrodomésticos. Luego comparamos el valor del estado con a, b, cy así sucesivamente hasta h para verificar el estado APAGADO de los dispositivos y realizar la operación respectiva.

Además, también podemos monitorizar el estado físico como temperatura, presión, etc., a través del teléfono Android. Digamos que necesitamos controlar la temperatura en la habitación. Conectamos el sensor de temperatura LM35 al Arduino. Ahora lea el valor del sensor y envíelo al teléfono a través del enlace serie establecido vía Bluetooth entre el teléfono y el Arduino.

Código fuente del proyecto

 ###



 intled1 = 2;
 intled2 = 3;
 intled3 = 4;
 intled4 = 5;
 intled5 = 6;
 intled6 = 7;
 intled7 = 8;
 intled8 = 9;
 estado entero;
 bandera int=0;
 configuración vacía
 {
 pinMode(led1, SALIDA);
 pinMode(led2, SALIDA);
 pinMode(led3, SALIDA);
 pinMode(led4, SALIDA);
 pinMode(led5, SALIDA);
 pinMode(led6, SALIDA);
 pinMode(led7, SALIDA);
 pinMode(led8, SALIDA);
 Serie.begin(9600);
 }
 bucle vacío {
 si(Serie.disponible > 0)
 {
 estado = Serial.read;
 bandera=0;
 }
 si (estado == '1')
 {
 escritura digital (led1, ALTO);
 si(bandera == 0){
 Serial.println("El dispositivo 1 está encendido");
 bandera=1;
 }
 }
   
de lo contrario si (estado == '2')
 {
 escritura digital (led2, ALTO);
 si(bandera == 0){
 Serial.println("El dispositivo 2 está encendido");
 bandera=1;
 }
 }
 de lo contrario si (estado == '3')
 {
 escritura digital (led3, ALTO);
 si(bandera == 0){
 Serial.println("El dispositivo 3 está encendido");
 bandera=1;
 }
 }
 de lo contrario si (estado == '4')
 {
 escritura digital (led4, ALTO);
 si(bandera == 0){
 Serial.println("El dispositivo 4 está encendido");
 bandera=1;
 }
 }
 de lo contrario si (estado == '5')
 {
 escritura digital (led5, ALTO);
 si(bandera == 0){
 Serial.println("El dispositivo 5 está encendido");
 bandera=1;
 }
 }

 de lo contrario si (estado == '6')
 {

 escritura digital (led6, ALTO);
 si(bandera == 0){
 Serial.println("El dispositivo 6 está encendido");
 bandera=1;
 }
 }
 de lo contrario si (estado == '7')
 {
 escritura digital (led7, ALTO);
 si(bandera == 0){
 Serial.println("El dispositivo 7 está encendido");
 bandera=1;
 }
 }
 de lo contrario si (estado == '8')
 { 
escritura digital (led8, ALTA);
 si(bandera == 0){
 Serial.println("El dispositivo 8 está encendido");
 bandera=1;
 }
 }
 de lo contrario si (estado == 'a')
 {
 escritura digital (led1, BAJO);
 si(bandera == 0){
 Serial.println("El dispositivo 1 está apagado");
 bandera=1;
 }
 }
 de lo contrario si (estado == 'b')
 {
 escritura digital (led2, BAJO);
 si(bandera == 0){
 Serial.println("El dispositivo 2 está apagado");
 bandera=1;
 }
 }
 de lo contrario si (estado == 'c')
 {
 escritura digital (led3, BAJO);
 si(bandera == 0){
 Serial.println("El dispositivo 3 está apagado");
 bandera=1;
 }
 }
 de lo contrario si (estado == 'd')
 {
 escritura digital (led4, BAJO);
 si(bandera == 0){
 Serial.println("El dispositivo 4 está apagado");
 bandera=1;
 }
 }
 de lo contrario si (estado == 'e')
 {
 escritura digital (led5, BAJO);
 si(bandera == 0){
 Serial.println("El dispositivo 5 está apagado");
 bandera=1;
 }
 }
 de lo contrario si (estado == 'f')
 {
 escritura digital (led6, BAJO);
 si(bandera == 0){ 
Serial.println("El dispositivo 6 está apagado");
 bandera=1;

 }
 }
 de lo contrario si (estado == 'g')
 {
 escritura digital (led7, BAJO);
 si(bandera == 0){
 Serial.println("El dispositivo 7 está apagado");
 bandera=1;
 }
 }
 de lo contrario si (estado == 'h')
 {
 escritura digital (led8, BAJO);
 si(bandera == 0){
 Serial.println("El dispositivo 8 está apagado");
 bandera=1;
 }
 }
 }

 ###

Diagramas de circuito

Diagrama de circuito: sistema de automatización del hogar controlado por Android basado en Arduino

Vídeo del proyecto

https://www.youtube.com/watch?v=gJ3twZvrUCA

Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.