- Materiales necesarios:
- Metodología de trabajo:
- Prerrequisitos:
- Funcionamiento de un control remoto de CA:
- Diagrama de circuito y explicación:
- Decodificación de sus señales remotas de CA:
- Programa principal de Arduino:
- Instalación de la aplicación de Android:
- Funcionamiento de CA controlado por teléfono móvil:
En el mundo moderno de hoy, donde quiera que vayamos, tenemos muchos dispositivos electrónicos a nuestro alrededor. Pero, de todos, solo hay un dispositivo que personalmente tenemos en nuestros bolsillos todo el tiempo. Sí, son nuestros teléfonos móviles. Ahora los teléfonos móviles se han convertido en algo más que un dispositivo de comunicación, son nuestras cámaras, son nuestros mapas, son nuestros karts de compras y ¿qué no?
Con esta capacidad en nuestras manos, es realmente una idea aburrida usar controles remotos para controlar cualquier aplicación electrónica en nuestro hogar como TV, aire acondicionado, cine en casa, etc. Siempre es frustrante alcanzar el control remoto del aire acondicionado desde la cómoda comodidad de nuestra cama. o sofá. Por lo tanto, en este proyecto vamos a construir una pequeña configuración con la que puede controlar el aire acondicionado a través de su teléfono inteligente usando Bluetooth y Arduino. Suena interesante, ¿verdad? Construyamos uno
Materiales necesarios:
- Arduino Mega 2560
- TSOP (HS0038)
- LED IR
- LED de cualquier color y resistencia de 1 K (opcional)
- HC-06
- Tablero de circuitos
- Conexión de cables
Metodología de trabajo:
Todos los controles remotos de nuestra casa que usamos para controlar TV, Home Theatre, AC, etc. funcionan con la ayuda de IR Blasters. Un transmisor de IR no es más que un LED IR, que podría blaster una señal por impulsos repetitivos; esta señal será leída por el receptor en el aparato electrónico. Para cada botón diferente del control remoto, se emitirá una señal única que, después de ser leída por el receptor, se utiliza para realizar una tarea predefinida en particular. Si podemos leer esta señal que sale del control remoto, podemos imitar la misma señal usando un LED IR cuando sea necesario para realizar esa tarea en particular. Anteriormente hicimos un circuito IR Blaster para control remoto IR universal y para control automático de temperatura CA.
Un TSOP es un receptor de infrarrojos que se puede utilizar para decodificar la señal procedente de los mandos a distancia. Usaremos este TSOP para decodificar toda la información de nuestro Remote y almacenarla en Arduino. Luego, usando esa información y un LED IR, podemos recrear las señales IR de nuestro Arduino cuando sea necesario.
Prerrequisitos:
Para este proyecto de CA controlado por Bluetooth de Arduino, asegúrese de tener un Arduino Mega y no cualquier otra versión de Arduino, ya que el tamaño del código es pesado. Instale la biblioteca IR Remote usando este enlace para trabajar con TSOP e IR Blaster.
Funcionamiento de un control remoto de CA:
Antes de continuar con el proyecto, tómese un tiempo y observe cómo funciona su control remoto de CA. Los controles remotos de CA funcionan de una manera un poco diferente en comparación con los controles remotos de TV y DVD IR. Es posible que solo haya 10-12 botones en su control remoto, pero podrán enviar muchos tipos diferentes de señales. Lo que significa que el control remoto no envía el mismo código cada vez para el mismo botón. Por ejemplo, cuando disminuye la temperatura usando el botón hacia abajo para que sea de 24 ° C (grados Celsius), obtendrá una señal con un conjunto de datos, pero cuando lo presione nuevamente para configurar 25 ° C no obtendrá el mismo datos ya que la temperatura ahora es de 25 y no de 24. De manera similar, el código para 25 también variará para diferentes velocidades del ventilador, configuraciones de suspensión, etc. Así que no juguemos con todas las opciones y solo concentremos solo los valores de temperatura con un valor constante para otras configuraciones.
Otro problema es la cantidad de datos que se envían por cada pulsación de botón, los controles remotos normales con envío de 24 bits o 48 bits, pero un control remoto de CA puede enviar hasta 228 bits ya que cada señal contiene mucha información como temperatura, velocidad del ventilador Tiempo de suspensión, estilo Swing, etc. Esta es la razón por la que necesitamos un Arduino Mega para tener mejores opciones de almacenamiento.
Diagrama de circuito y explicación:
Afortunadamente, la configuración del hardware de este aire acondicionado controlado por teléfono móvil es muy fácil. Simplemente puede usar una placa de pruebas y hacer las conexiones como se muestra a continuación.
La siguiente tabla también se puede utilizar para verificar sus conexiones.
S. No: |
Pin de componente |
Pin de Arduino |
1 |
TSOP - Vcc |
5V |
2 |
TSOP - Gnd |
Gnd |
3 |
TSOP - Señal |
8 |
4 |
IR Led - Cátodo |
Gnd |
5 |
IR Led - Ánodo |
9 |
6 |
HC-05 - Vcc |
5V |
7 |
HC05 - Tierra |
Suelo |
8 |
HC05 - Tx |
10 |
9 |
HC05 - Rx |
11 |
Una vez que haya realizado las conexiones, debería verse como se muestra a continuación. He usado una placa de pruebas para ordenar las cosas, pero también puedes conectar cables macho a hembra directamente para conectar todos los componentes.
Decodificación de sus señales remotas de CA:
El primer paso para controlar su AC es utilizar TSOP1738 a decodificar AC remoto códigos de control IR. Realice todas las conexiones como se muestra en el diagrama de circuito y asegúrese de haber instalado todas las bibliotecas mencionadas. Ahora abra el programa de ejemplo “ IRrecvDumpV2 ” que se puede encontrar en Archivo -> Ejemplos -> IRremote -> IRrecvDumpV2 .
int recvPin = 8; IRrecv irrecv (recvPin);
Dado que nuestro TSOP está conectado al pin 8, cambie el número de línea 9 a int recPin = 8 como se muestra arriba. Luego cargue el programa en su Arduino Mega y abra Serial Monitor.
Apunte su control remoto hacia TSOP y presione cualquier botón, por cada botón que presione, su señal respectiva será leída por el TSOP1738, decodificado por Arduino y mostrado en el Monitor Serial. Por cada cambio de temperatura en su control remoto obtendrá un dato diferente. Guarde estos datos porque los usaremos en nuestro programa principal. Su monitor de serie se verá así, también he mostrado el archivo de Word en el que he guardado los datos copiados.
La captura de pantalla muestra el código para configurar la temperatura a 26 ° C para mi control remoto de CA. Según su control remoto, obtendrá un conjunto diferente de códigos. De manera similar, copie los códigos para todos los diferentes niveles de temperatura. Puede verificar todos los códigos IR del control remoto del aire acondicionado en el Código Arduino que se proporciona al final de este tutorial.
Programa principal de Arduino:
El programa principal completo de Arduino puede estar en la parte inferior de esta página, pero no puede usar el mismo programa. Debe cambiar los valores del código de señal que acabamos de obtener del boceto de ejemplo. Abra el programa principal en su Arduino IDE y desplácese hacia abajo hasta esta área que se muestra a continuación, donde debe reemplazar los valores de la matriz con los valores que obtuvo para su control remoto.
Tenga en cuenta que he usado 10 matrices, de las cuales dos usamos para ENCENDER y APAGAR la CA, mientras que el resto 8 se usa para establecer diferentes temperaturas. Por ejemplo, Temp23 se usa para configurar 23 * C en su AC, así que use el código respectivo en ese Array. Una vez hecho esto, solo tiene que cargar el código en su Arduino.
Necesitamos importar dos bibliotecas para este proyecto. Una es la biblioteca IRremote que acabamos de agregar a Arduino y la otra es la biblioteca en serie de software incorporada que nos ayuda a usar el módulo Bluetooth.
#incluir
A continuación, inicializamos el módulo Bluetooth en los pines 10 y 11 y luego usamos un objeto llamado irsend para acceder a todas las funciones de IR de la biblioteca.
SoftwareSerial BT_module (10, 11); // RX, TX IRsend irsend;
Luego vienen las muy importantes líneas de código. Aquí es donde está presente la información para controlar su aire acondicionado. El que se muestra a continuación es para mi control remoto de CA, debería haber obtenido el suyo en el paso anterior.
A continuación, dentro de la función de configuración de vacío , inicializamos dos comunicaciones en serie. Uno es Bluetooth a una velocidad de 9600 baudios y el otro es un monitor en serie a una velocidad de 57600 baudios.
configuración vacía () {BT_module.begin (9600); // BT funciona en 9600 Serial.begin (57600); // Serial Monitor work son 57600}
Dentro de nuestro bucle vacío ( bucle infinito), comprobamos si hay algo recibido por el Módulo Bluetooth. Si se recibe algo, almacenamos esa información en la variable BluetoothData .
while (BT_module.available ()) // Si llegan datos {BluetoothData = BT_module.read (); // leerlo y guardarlo Serial.println (BluetoothData); // imprimirlo en serie con fines de prueba}
La información recibida por Bluetooth se basará en el botón presionado en nuestra aplicación de Android que estaremos instalando en nuestro próximo paso. Una vez recibida la información, solo tenemos que activar el código IR respectivo como se muestra a continuación
if (BluetoothData == '2') {irsend.sendRaw (Temp23, sizeof (Temp23) / sizeof (Temp23), khz); delay (2000); // Enviar señal para configurar la temperatura 23C}
Aquí si se recibe el código '2' tenemos que configurar la temperatura del aire acondicionado a 23 ° C. De manera similar, tenemos un código del 0 al 9 para realizar todas las funciones básicas de control de CA. Puede consultar el código arduino completo al final de esta página.
Instalación de la aplicación de Android:
El último paso del aire acondicionado controlado por teléfono inteligente es instalar la aplicación de Android. La aplicación de Android para este proyecto se creó utilizando el modo de procesamiento de Android. Processing es una excelente herramienta para crear archivos.EXE o archivos APK para sus proyectos integrados. Es una plataforma de código abierto como Arduino y, por lo tanto, es completamente gratuita para descargar y usar.
Si no desea profundizar demasiado en él, simplemente puede descargar el archivo APK desde aquí dentro del archivo zip e instalarlo directamente en su teléfono móvil. Abra la aplicación y obtendrá una pantalla como se muestra a continuación, después de la cual puede continuar con el siguiente paso y disfrutar trabajando con el proyecto. Pero si desea modificar el programa de la aplicación para adaptarlo a sus necesidades, puede seguir leyendo.
El archivo de programa completo para el código de procesamiento se puede descargar desde aquí. Este Zip tendrá el código y la fuente de la imagen con la que funciona la aplicación. Después de abrir el código, puede modificar las siguientes líneas para adaptarlo a sus necesidades.
Como se dijo anteriormente, Processing es similar a Arduino. Por lo tanto, también tiene una configuración vacía y funciones de bucle vacío (aquí dibujar). Dentro de la función de configuración vacía , le indicaremos al Bluetooth del teléfono que se conecte al Bluetooth de Arduino. El nombre de mi dispositivo aquí es "HC-05", por lo que mi línea de código será
bt.start (); // empieza a escuchar conexiones BT bt.getPairedDeviceNames (); bt.connectToDeviceByName ("HC-05"); // Conéctese a nuestro módulo bluetooth HC-06
A continuación, dentro de las funciones load_buttons () , puede dibujar tantos botones como desee. Dibujé 10 botones como se muestra en la Aplicación. Seguido de eso tenemos la función read_buttons () que se usa para detectar qué botón está tocando. Cada botón tiene un color específico, por lo que cuando un usuario toca la pantalla comprobamos qué color ha tocado y determinamos qué botón ha tocado. A continuación se muestra un código de muestra para crear un botón y seleccionarlo según el color
llenar (255,145,3); rect (ancho / 2-ancho / 4, alto / 2, ancho / 4, alto / 12); llenar (255); texto ("25C", ancho / 2-ancho / 4, alto / 2); // botón 5 if (color_val == - 13589993) {byte data = {'0'}; bt.broadcast (datos);}
La línea "byte data = {'0'};" es una línea muy importante. Aquí es donde decidimos qué código se debe enviar al Arduino a través de Bluetooth. Aquí, si se presiona este botón, el carácter "0" se envía desde Bluetooth a Arduino. Del mismo modo, podemos enviar un carácter diferente para diferentes botones. Estos caracteres se pueden comparar en el lado de Arduino y se pueden tomar las acciones respectivas.
Continúe y manipule el código, si tiene alguna duda, comuníquese conmigo a través de la sección de comentarios y haré todo lo posible para ayudarlo.
Funcionamiento de CA controlado por teléfono móvil:
Una vez que esté listo con su hardware, código Arduino y aplicaciones de Android, es hora de disfrutar de la salida. Cargue el código Arduino en su hardware y colóquelo frente a su CA. Ahora abra la aplicación de Android en su teléfono móvil, si todo funciona como se esperaba, debería ver " Conectado a: nombre_dispositivo (algún código) " como se muestra a continuación
Ahora solo presione cualquier botón en su aplicación de Android y debería activar una acción respectiva en el AC como si estuviera usando un control remoto. Puede agregar tantos botones como desee modificando el código e incluso automatizar su aire acondicionado en función de su temperatura ambiente o presencia. Verifique el código Arduino completo y el video a continuación.
Espero que hayas disfrutado del proyecto y hayas entendido el concepto que hay detrás. Como siempre, si tiene algún problema para hacer que esto funcione, puede usar los foros para publicar sus preguntas y resolverlas.
El archivo APK para instalar la aplicación Android se puede descargar desde aquí.