- Materials necessaris:
- Metodologia de treball:
- Requisits previs:
- Funcionament d'un comandament a distància AC:
- Diagrama del circuit i explicació:
- Descodificació dels vostres senyals remots de CA:
- Programa principal d'Arduino:
- Instal·lació de l'aplicació Android:
- Funcionament de la CA controlada per telèfon mòbil:
Al món modern actual, on anem sempre, tenim molts dispositius electrònics al nostre voltant. Però, entre tots, només hi ha un dispositiu que tenim a la butxaca tot el temps. Sí, són els nostres telèfons mòbils. Ara els telèfons mòbils s’han convertit en alguna cosa més que un dispositiu utilitzat per a la comunicació, són les nostres càmeres, són els nostres mapes, són els nostres karts de compres i què no?
Amb aquesta capacitat a les nostres mans, és realment una idea avorrida utilitzar els comandaments a distància per controlar qualsevol aplicació electrònica de casa, com TV, CA, cinema a casa, etc. o sofà. Per tant, en aquest projecte construirem una petita configuració mitjançant la qual podeu controlar l’aire condicionat mitjançant el vostre telèfon intel·ligent mitjançant Bluetooth i Arduino. Sona interessant oi! Construïm-ne un
Materials necessaris:
- Arduino Mega 2560
- TSOP (HS0038)
- Led IR
- Qualsevol LED de color i resistència 1K (opcional)
- HC-06
- Taula de pa
- Connexió de cables
Metodologia de treball:
Tots els comandaments a distància de la nostra llar que fem servir per controlar TV, Home Theater, AC, etc. funcionen amb l'ajuda de IR Blasters. Un IR blaster no és res més que un LED IR que pot fer saltar un senyal mitjançant pulsacions repetitives; aquest senyal el llegirà el receptor de l’aparell electrònic. Per a cada botó diferent del comandament, es produirà un senyal únic que després de ser llegit pel receptor s'utilitzarà per realitzar una tasca predefinida. Si som capaços de llegir aquest senyal que surt del comandament a distància, podem imitar el mateix senyal mitjançant un LED d’IR quan sigui necessari per realitzar aquesta tasca en particular. Anteriorment hem realitzat un circuit IR Blaster per a control remot universal IR i per al control automàtic de la temperatura de CA.

Un TSOP és un receptor IR que es podria utilitzar per descodificar el senyal provinent dels comandaments a distància. Utilitzarem aquest TSOP per descodificar tota la informació del nostre control remot i emmagatzemar-la a Arduino. Després, utilitzant aquesta informació i un led IR, podem tornar a crear els senyals IR des del nostre Arduino sempre que sigui necessari.

Requisits previs:
Per a aquest projecte Arduino Bluetooth AC controlat, assegureu-vos que teniu un Arduino Mega i no cap altra versió d'Arduino, ja que la mida del codi és elevada. Instal·leu la biblioteca remota IR mitjançant aquest enllaç per treballar amb TSOP i IR Blaster.
Funcionament d'un comandament a distància AC:
Abans d’iniciar el projecte, trigueu una mica de temps i observeu com funciona el comandament a distància de CA. Els comandaments a distància de CA funcionen d’una manera una mica diferent en comparació amb els comandaments a distància de televisió i DVD. És possible que només hi hagi 10-12 botons al comandament a distància, però podran enviar molts tipus de senyals diferents. És a dir, el comandament a distància no envia el mateix codi cada vegada pel mateix botó. Per exemple, quan reduïu la temperatura amb el botó avall per fer-la a 24 ° C (grau Celsius) obtindreu un senyal amb un conjunt de dades, però quan torneu a prémer-la per establir 25 ° C no obtindreu el mateix dades ja que la temperatura ara és de 25 i no de 24. De la mateixa manera, el codi per a 25 també variarà segons la velocitat del ventilador, els paràmetres de repòs, etc. Per tant, no juguem amb totes les opcions i concentrem només els valors de temperatura amb un valor constant per a altres paràmetres.
Un altre problema és la quantitat de dades que s’envien per cada pulsació de botó, comandaments a distància normals amb enviament de 24 o 48 bits, però un comandament de CA pot enviar fins a 228 bits, ja que cada senyal conté molta informació com Temp, Vent Temps de repòs, estil Swing, etc. Aquesta és la raó per la qual necessitem un Arduino Mega per obtenir millors opcions d'emmagatzematge.
Diagrama del circuit i explicació:
Per sort, la configuració de maquinari d’aquest aire condicionat controlat per telèfon mòbil és molt senzilla. Simplement podeu utilitzar un tauler de control i establir les connexions tal com es mostra a continuació.

La taula següent també es pot utilitzar per verificar les vostres connexions.
|
S. No: |
Pin de component |
Pin Arduino |
|
1 |
TSOP - Vcc |
5V |
|
2 |
TSOP - Gnd |
Gnd |
|
3 |
TSOP - Senyal |
8 |
|
4 |
Led IR - Càtode |
Gnd |
|
5 |
Led IR - ànode |
9 |
|
6 |
HC-05 - Vcc |
5V |
|
7 |
HC05 - Gnd |
Terra |
|
8 |
HC05 - Tx |
10 |
|
9 |
HC05 - Rx |
11 |
Un cop hagueu acabat les connexions, hauria de tenir un aspecte semblant al que es mostra a continuació. He utilitzat una tauleta de pa per endreçar les coses, però també podeu connectar-vos directament entre cables masculí i femení per connectar tots els components

Descodificació dels vostres senyals remots de CA:
El primer pas per controlar la seva AC és utilitzar TSOP1738 a descodificar AC remot codis de control IR. Feu totes les connexions tal com es mostra al diagrama del circuit i assegureu-vos que heu instal·lat totes les biblioteques esmentades. Ara obriu l'exemple de programa " IRrecvDumpV2 " que podeu trobar a Fitxer -> Exemples -> IRremote -> IRrecvDumpV2 .
int recvPin = 8; IRrecv irrecv (recvPin);
Com que el nostre TSOP està connectat al pin 8, canvieu el número de línia 9 a int recPin = 8 tal com es mostra més amunt. A continuació, pengeu el programa al vostre Arduino Mega i obriu el monitor de sèrie.
Apunteu el comandament a TSOP i premeu qualsevol botó; per cada botó que premeu el senyal corresponent, el TSOP1738 el llegirà, descodificat per Arduino i es mostrarà al monitor de sèrie. Per a cada canvi de temperatura del comandament a distància obtindreu dades diferents. Deseu aquestes dades perquè les utilitzarem al nostre programa principal. El vostre monitor sèrie tindrà un aspecte semblant, també he mostrat el fitxer Word en què he desat les dades copiades.

La captura de pantalla mostra el codi per configurar la temperatura a 26 ° C per al meu comandament de CA. En funció del comandament a distància obtindreu un conjunt de codis diferent. De la mateixa manera, copieu els codis de tots els nivells de temperatura. Podeu consultar tots els codis IR del control remot de l’aire condicionat al codi Arduino que es dóna al final d’aquest tutorial.
Programa principal d'Arduino:
El programa principal complet d'Arduino es troba a la part inferior d'aquesta pàgina, però no podeu utilitzar el mateix programa. Heu de canviar els valors del codi de senyal que acabem d’obtenir de l’esbós d’exemple. Obriu el programa principal del vostre IDE Arduino i desplaceu-vos cap avall fins a aquesta àrea que es mostra a continuació, on heu de substituir els valors de la matriu pels valors que heu obtingut per al vostre control remot.

Tingueu en compte que he utilitzat 10 matrius dels quals dos solíem encendre i apagar la CA mentre que la resta 8 s’utilitza per configurar diferents temperatures. Per exemple, Temp23 s'utilitza per establir 23 * C a la vostra CA, així que utilitzeu el codi corresponent en aquesta matriu. Un cop fet això, només heu de penjar el codi al vostre Arduino.
Hem d’importar dues llibreries per a aquest projecte. Una és la biblioteca IRremote que acabem d'afegir a Arduino i l'altra és la biblioteca de programari incorporada que ens ajuda a utilitzar el mòdul Bluetooth.
#incloure
A continuació, inicialitzem el mòdul Bluetooth als pins 10 i 11 i, a continuació, fem servir un objecte anomenat irsend per accedir a totes les funcions IR de la biblioteca.
SoftwareSerial BT_module (10, 11); // RX, TX IRsend irsend;
A continuació vénen les línies de codi molt importants. Aquí és on hi ha la informació per controlar el vostre AC. El que es mostra a continuació és per al meu comandament de CA. Haureu d’haver obtingut el vostre al pas anterior.

A continuació, dins de la funció de configuració del buit , inicialitzem dues comunicacions en sèrie. Un és Bluetooth a una velocitat de 9600 Baud i l’altre és un monitor sèrie a una velocitat de 57600 Baud.
configuració nul·la () {BT_module.begin (9600); // BT funciona a 9600 Serial.begin (57600); // Fils de treball del monitor de sèrie 57600}
Dins del nostre bucle buit ( bucle infinit), comprovem si hi ha alguna cosa que rebi el mòdul Bluetooth. Si es rep alguna cosa, emmagatzemem aquesta informació a la variable BluetoothData .
while (BT_module.available ()) // Si arriben dades {BluetoothData = BT_module.read (); // llegiu-lo i deseu-lo Serial.println (BluetoothData); // imprimeix-lo en sèrie per fer proves}
La informació rebuda pel Bluetooth es basarà en el botó premut a la nostra aplicació per a Android que instal·larem en el nostre següent pas. Un cop rebuda la informació, només hem d’ activar el codi IR corresponent, tal com es mostra a continuació
if (BluetoothData == '2') {irsend.sendRaw (Temp23, sizeof (Temp23) / sizeof (Temp23), khz); delay (2000); // Enviar senyal per configurar Temperatue 23C}
Aquí, si es rep el codi '2', hem de configurar la temperatura de la CA a 23 ° C. De la mateixa manera, tenim codi de 0 a 9 per realitzar totes les funcions bàsiques de control de CA. Podeu consultar el codi arduino complet al final d'aquesta pàgina.
Instal·lació de l'aplicació Android:
L’últim pas del sistema climatitzat controlat per telèfon intel·ligent és instal·lar l’aplicació Android. L'aplicació Android per a aquest projecte es va crear mitjançant el mode de processament Android. El processament és una excel·lent eina per crear fitxers.EXE o fitxers APK per als vostres projectes incrustats. És una plataforma de codi obert com Arduino i, per tant, es pot descarregar i utilitzar de forma totalment gratuïta.
Si no voleu aprofundir-hi massa, només podeu descarregar el fitxer APK des d’aquí dins del fitxer zip i instal·lar-lo directament al telèfon mòbil. Obriu l'aplicació i obtindreu una pantalla com es mostra a continuació, després de la qual podeu passar al següent pas i gaudir del treball amb el projecte. Però si voleu modificar el programa de l’aplicació perquè s’adapti a les vostres necessitats, podeu llegir més.

El fitxer complet del programa per al codi de processament es pot descarregar des d’aquí. Aquest Zip tindrà el codi i la font de la imatge amb què funciona l'aplicació. Després d'obrir el codi, podeu modificar les línies següents per adaptar-lo a les vostres necessitats.
Com s’ha dit anteriorment, Processing és similar a Arduino. Per tant, també té funcions de configuració i bucle de buit (aquí dibuix). Dins de la funció de configuració del buit , instruirem el Bluetooth del telèfon per connectar-se al Bluetooth d'Arduino. El meu nom del dispositiu aquí és "HC-05", de manera que la meva línia de codi serà
bt.start (); // començar a escoltar connexions BT bt.getPairedDeviceNames (); bt.connectToDeviceByName ("HC-05"); // Connecteu-vos al nostre mòdul bluetooth HC-06
A continuació, dins de les funcions load_buttons () podeu dibuixar tants botons com vulgueu. He dibuixat 10 botons tal com es mostra a l'aplicació. Seguidament, tenim la funció read_buttons () que s’utilitza per detectar quin botó toqueu. Cada botó té un color específic, de manera que quan un usuari toca la pantalla comprovem quin color ha tocat i determinem quin botó ha tocat. A continuació es mostra un codi de mostra per crear un botó i seleccionar-lo en funció del color
farcit (255.145,3); rect (ample / 2-ample / 4, alçada / 2, amplada / 4, alçada / 12); farcit (255); text ("25C", ample / 2-ample / 4, alçada / 2); // botó 5 if (color_val == - 13589993) {byte data = {'0'}; bt.broadcast (dades);}
La línia "byte data = {'0'};" és una línia molt important. Aquí és on decidim quin codi s’ha d’enviar a l’Arduino mitjançant Bluetooth. Aquí, si es prem aquest botó, s'envia el caràcter "0" des del Bluetooth a Arduino. De la mateixa manera, podem enviar un caràcter diferent per a diferents botons. Aquests personatges es poden comparar al costat d'Arduino i es poden fer les accions respectives.
Seguiu buscant el codi, si teniu dubtes, arribeu-me a la secció de comentaris i faré tot el possible per ajudar-vos.
Funcionament de la CA controlada per telèfon mòbil:
Un cop estigueu a punt amb les aplicacions de maquinari, codi Arduino i Android, és hora de gaudir de la sortida. Pengeu el codi Arduino al vostre maquinari i col·loqueu-lo cap a la vostra CA. Ara obriu l'aplicació d'Android al vostre telèfon mòbil, si tot funciona com s'esperava, hauríeu de veure " Connectat a: nom_parell (algun codi) ", tal com es mostra a continuació

Ara només cal que premeu qualsevol botó de l'aplicació d'Android i hauria de desencadenar una acció respectiva a la CA com si estiguéssiu utilitzant un control remot. Podeu afegir tants botons que vulgueu modificant el codi i fins i tot automatitzar el vostre CA segons la temperatura o la presència de la vostra habitació. Consulteu el codi Arduino complet i el vídeo següent.
Espero que hagi gaudit del projecte i hagi entès el concepte que hi ha al darrere. Com sempre, si teniu algun problema a l'hora de fer que aquest treball funcioni, podeu utilitzar els fòrums per publicar-vos preguntes i resoldre-les.
El fitxer APK per instal·lar l'aplicació Android es pot descarregar des d'aquí.
