Com dissenyar el sistema domòtic basat en Arduino mitjançant el control remot de TV?

El sistema domòtic és el concepte de creixement més ràpid del món modern. La domòtica intel·ligent és un concepte en què s’utilitza un sol dispositiu per controlar diversos paràmetres electrònics d’una casa, per exemple, canviar d’aparells electrodomèstics, controlar alarmes de seguretat, automatitzar portes de garatge, etc.



Sistema d'automatització que utilitza un comandament a distància de TV

En aquest projecte, utilitzarem un senzill comandament de televisió per fer un sistema domòtic senzill. Aquest comandament a distància de TV controlarà tots els aparells connectats a la placa de microcontroladors.



Com s'utilitza un comandament a distància de TV per fer un sistema domòtic?

Els sistemes domòtics que ja estan disponibles al mercat són molt costosos. Podem utilitzar una placa Arduino per connectar diferents electrodomèstics i controlar-los mitjançant un comandament a distància de TV. Això tindrà un cost molt baix i una manera eficient d’automatitzar la casa. Ara fem un pas endavant i comencem a recopilar informació per iniciar el projecte.



Pas 1: recollida dels components

El millor enfocament per iniciar qualsevol projecte és fer una llista de components i fer un breu estudi d’aquests components perquè ningú voldrà quedar-se enmig d’un projecte només per falta d’un component. A continuació es mostra una llista de components que utilitzarem en aquest projecte:



  • Receptor IR TSOP 1738
  • Control remot
  • Taula de pa
  • Jumper Wires

Pas 2: estudiar els components

Ara que sabem quins components utilitzarem, anem a estudiar-los breument per comprendre millor el funcionament del nostre circuit.

Arduino Nano és una placa de microcontroladors que realitza diverses operacions en diferents circuits. Requereix un Codi C que indica al tauler quines tasques realitzar i com. Té 13 pins d'E / S digitals, cosa que significa que podem utilitzar 13 dispositius diferents. Si voleu controlar més de 13 dispositius, utilitzeu Arduino Mega.

Arduino Nano



TSOP 1738 és un mòdul IR per a controls remots. Té una freqüència portadora de 38 kHz. Consisteix en un fotodetector que detecta el senyal i després el desmodula. La seva sortida la fa servir directament Arduino o qualsevol altra placa de microcontrolador.

Sensor TSOP

Un mòdul de relé és un dispositiu de commutació. Funciona en dos modes, Normalment obert (NO) i Normalment Tancat (NC) . En mode NO, el circuit sempre està trencat tret que envieu un senyal ALTA al relé mitjançant Arduino. El mode NC empitjora al revés, el circuit sempre està complet tret que encengueu el mòdul de relé. Assegureu-vos de connectar el cable positiu del vostre aparell elèctric al mòdul de relé de la manera que es mostra a continuació.

Mòdul de relés

Un comandament a distància estàndard del televisor té un botó d’engegada i totes les tecles numèriques. Aquestes tecles numèriques s’utilitzaran per canviar els aparells elèctrics.

Pas 3: Creació del circuit

Ara que sabem com funcionen tots els components, anem a avançar i comencem a fer el circuit.

  1. Agafeu una pissarra i inseriu-hi el vostre Arduino Nano i TSOP 1738.
  2. Engegueu el mòdul TSOP 1738 i el mòdul de relés mitjançant Arduino. Connecteu el fitxer Fora pin de TSOP1738 a pin11 d'Arduino i també connecteu el IN pins del mòdul de relé a Arduino. Només controlo dos aparells elèctrics, de manera que només faig servir mòduls de relés aquí. Si voleu controlar més electrodomèstics, connecteu de manera similar més mòduls de relés.

    Esquema de connexions

Pas 4: Introducció a Arduino

Si no heu treballat abans amb Arduino IDE, no us preocupeu, perquè a continuació es mostra un pas a pas per configurar Arduino IDE.

  1. Connecteu la vostra placa Arduino al PC i obriu el Tauler de control. Fer clic a Maquinari i so. Ara obert Dispositius i impressora i cerqueu el port al qual està connectada la vostra placa. En el meu cas ho és COM14 però és diferent en diferents ordinadors.

    Buscant Port

  2. Feu clic al menú Eina i configureu el tauler com a Arduino Nano (AT Mega 328P) .

    Taula de configuració

  3. Torneu a fer clic al menú Eina i configureu el port que heu observat abans al tauler de control.

    Configuració del port

  4. Al mateix menú d'eines, configureu el processador com a ATmega328p (carregador d'arrencada antic) .

    Processador de configuració

  5. Per descodificar les dades enviades pel control remot, necessitem una biblioteca especial per a un codi Arduino. Aquesta biblioteca s’adjunta juntament amb el codi que hi ha a l’enllaç següent. Per afegir la biblioteca, aneu Esbós> Inclou biblioteca> Afegeix biblioteca ZIP . Apareixerà un quadre. Cerqueu la carpeta ZIP a l'ordinador i feu clic a D'acord per incloure-la.

    Inclou la biblioteca

  6. Baixeu-vos el codi adjunt a continuació i feu clic al botó de càrrega per gravar el codi a la vostra placa Arduino Nano.

    Pujar

Feu clic al botó descarregar per obtenir el codi.

Pas 5: Codi

El codi és molt fàcil d’entendre, tot i que es descriu breument a continuació.

1. configuració nul·la () és una funció en què inicialitzem els pins INPUT o OUTPUT. Aquesta funció també estableix la velocitat de transmissió mitjançant l'ús de Serial.begin () comandament. Baud Rate és la velocitat de comunicació del microcontrolador.

2. bucle buit () és una funció que s'executa repetidament en un bucle. En aquest bucle, escrivim un codi que indica a la placa de microcontroladors quines tasques es realitzen i com.

3. Quan enviem dades des del comandament a distància del televisor, Arduino ha de descodificar aquestes dades. Per a això, hem inclòs una biblioteca especial #incloure <IRremote.h>. S'utilitzarà una funció d'aquesta biblioteca per descodificar les dades de cada clau, enviades des del comandament a distància.

#include int RECV_PIN = 11; IRrecv irrecv (RECV_PIN); resultats decode_results; configuració nul·la () {Serial.begin (9600); irrecv.enableIRIn (); } void loop () {if (irrecv.decode (& results)) {Serial.println (results.value, HEX); irrecv.resume (); } retard (100); }

El codi anterior està llegint els valors enviats des del control remot i descodificant-lo al seu valor HEX corresponent. Aquest codi està extret dels exemples de la biblioteca IRremote a Arduino IDE. Aquest codi també s'adjunta a l'enllaç de baixada pel nom test.ino proporcionat anteriorment. La sortida d'aquesta funció, quan es premen totes les tecles numèriques, serà:

Descodifica

4. Al codi.ino adjunt a l’enllaç de descàrrega anterior, s’inicialitzen els pins d’Arduino que s’utilitzaran. A la bucle buit () funció, quan es prem un botó al comandament, la inicialment Fals la condició es converteix en És cert i el relé respectiu està engegat. Si es torna a prémer el mateix botó, canviarà l'estat booleà i s'apagarà el relé. El botó d’engegada activarà o desactivarà tots els relés.

bucle buit () {if (irrecv.decode (& results)) {Serial.println (results.value, HEX); retard (100); if (results.value == 0x40BD00FF) {i =! i; digitalWrite (IN1, i); } if (results.value == 0x40BD807F) {j =! j; digitalWrite (IN2, j); // retard (200); } if (results.value == 0x40BD28D7) {m =! m; digitalWrite (IN1, m); digitalWrite (IN2, m); digitalWrite (IN3, m); digitalWrite (IN4, m); // retard (200); } irrecv.resume (); // Rebre el següent valor // delay (100); }}

Aquest va ser tot el procediment per fer un simple sistema domòtic controlat per un control remot del televisor. Ara podeu connectar mòduls de relés segons el nombre d’aparells i gaudir del vostre propi sistema d’automatització domèstica intel·ligent.