Cum să proiectați un sistem de automatizare la domiciliu bazat pe Arduino utilizând telecomanda TV?

Home Automation System este conceptul cu cea mai rapidă creștere a lumii moderne. Domotica inteligentă este un concept în care un singur dispozitiv este utilizat pentru a controla diferiți parametri electronici ai unei case, de exemplu, comutarea aparatelor electrocasnice, monitorizarea alarmelor de securitate, automatizarea ușilor de garaj etc.



Sistem de automatizare folosind o telecomandă TV

În acest proiect, vom folosi o telecomandă TV simplă pentru a realiza un sistem simplu de automatizare a casei. Această telecomandă TV va controla toate aparatele conectate la placa microcontrolerului.



Cum se folosește o telecomandă TV pentru a face sistemul de automatizare a locuinței?

Sistemele de automatizare la domiciliu care sunt deja disponibile pe piață sunt foarte costisitoare. Putem folosi o placă Arduino pentru a conecta diferite aparate de uz casnic și a le controla folosind o telecomandă TV. Acest lucru va avea un cost foarte redus și un mod eficient de a automatiza casa. Acum permiteți-ne să facem un pas înainte și să începem să colectăm informații pentru a începe proiectul.



Pasul 1: Colectarea componentelor

Cea mai bună abordare pentru a începe orice proiect este de a face o listă de componente și de a parcurge un scurt studiu al acestor componente, deoarece nimeni nu va dori să rămână în mijlocul unui proiect doar din cauza unei componente lipsă. O listă a componentelor pe care le vom folosi în acest proiect este prezentată mai jos:



  • Receptor IR TSOP 1738
  • Telecomandă
  • Breadboard
  • Sârme jumper

Pasul 2: Studierea componentelor

Acum, deoarece știm ce componente vom folosi, să le studiem pe scurt pentru a înțelege mai bine modul în care funcționează circuitul nostru.

Arduino Nano este o placă de microcontroler care efectuează diverse operațiuni în diferite circuite. Necesită o Codul C care spune tabloului ce sarcini să îndeplinească și cum. Are 13 pini I / O digitale, ceea ce înseamnă că putem opera 13 dispozitive diferite. Dacă doriți să controlați mai mult de 13 dispozitive, utilizați Arduino Mega.

Arduino Nano



TSOP 1738 este un modul IR pentru telecomenzi. Are o frecvență purtătoare de 38kHz. Se compune dintr-un fotodetector care detectează semnalul și apoi îl demodulează. Ieșirea sa este utilizată direct de Arduino sau de orice altă placă de microcontroler.

Senzor TSOP

Un modul de releu este un dispozitiv de comutare. Funcționează în două moduri, Deschis în mod normal (NU) și În mod normal Închis (NC) . În modul NO, circuitul este întotdeauna rupt, cu excepția cazului în care trimiteți un semnal HIGH la releu prin Arduino. Modul NC se înrăutățește invers, circuitul este întotdeauna complet, cu excepția cazului în care porniți modulul releu. Asigurați-vă că conectați firul pozitiv al aparatului dvs. electric la modulul de releu în modul prezentat mai jos.

Modul releu

O telecomandă TV standard are un buton de pornire și toate tastele numerice de pe acesta. Aceste taste numerice vor fi utilizate pentru comutarea aparatelor electrice.

Pasul 3: Realizarea circuitului

Acum, după cum știm cum funcționează toate componentele, să mergem înainte și să începem să realizăm circuitul.

  1. Luați o placă de încercare și introduceți-vă Arduino Nano și TSOP 1738 în ea.
  2. Porniți modulul TSOP 1738 și modulul de releu prin Arduino. Conectați OUT pinul TSOP1738 la pin11 al Arduino și conectați, de asemenea ÎN pinii modulului de releu către Arduino. Controlez doar două aparate electrice, așa că folosesc doar module de releu aici. Dacă doriți să controlați mai multe aparate, conectați în mod similar mai multe module de releu.

    Diagrama circuitului

Pasul 4: Noțiuni introductive despre Arduino

Dacă nu ați mai lucrat la Arduino IDE, nu vă faceți griji, deoarece un pas cu pas pentru a configura Arduino IDE este prezentat mai jos.

  1. Conectați placa Arduino la computer și deschideți Panoul de control. Click pe Hardware și sunet. Acum deschis Dispozitive și imprimantă și găsiți portul la care este conectată placa dvs. În cazul meu este COM14 dar este diferit în diferite computere.

    Găsirea portului

  2. Faceți clic pe meniul Instrument și setați placa ca Arduino Nano (AT Mega 328P) .

    Placă de setare

  3. Faceți din nou clic pe meniul Instrument și setați portul pe care l-ați observat anterior în panoul de control.

    Setarea portului

  4. În același meniu Instrument, setați procesorul ca ATmega328p (Bootloader vechi) .

    Setare procesor

  5. Pentru a decoda datele trimise de telecomandă, avem nevoie de o bibliotecă specială pentru cod A Arduino. Această bibliotecă este atașată împreună cu codul din linkul de mai jos. Pentru a adăuga biblioteca, mergeți Schiță> Includeți bibliotecă> Adăugați o bibliotecă ZIP . Va apărea o casetă. Găsiți folderul ZIP de pe computer și faceți clic pe OK pentru a include folderul.

    Includeți biblioteca

  6. Descărcați codul atașat mai jos și faceți clic pe butonul de încărcare pentru a inscripționa codul pe placa dvs. Arduino Nano.

    Încărcare

Faceți clic pe Descarca pentru a obține codul.

Pasul 5: Cod

Codul este foarte ușor de înțeles, dar este descris pe scurt mai jos.

1. configurare nulă () este o funcție în care inițializăm pinii INPUT sau OUTPUT. Această funcție stabilește, de asemenea, rata baud utilizând Serial.begin () comanda. Baud Rate este viteza de comunicare a microcontrolerului.

2. bucla nulă () este o funcție care rulează în mod repetat într-o buclă. În această buclă, scriem un cod care spune plăcii de microcontroler ce sarcini să efectueze și cum.

3. Când trimitem date de la telecomanda TV, Arduino trebuie să decodeze aceste date. Pentru aceasta, am inclus o bibliotecă specială #include <IRremote.h>. O funcție din această bibliotecă va fi utilizată pentru a decoda datele fiecărei chei, trimise de la telecomandă.

#include int RECV_PIN = 11; IRrecv irrecv (RECV_PIN); rezultate decode_results; void setup () {Serial.begin (9600); irrecv.enableIRIn (); } void loop () {if (irrecv.decode (& results)) {Serial.println (results.value, HEX); irrecv.resume (); } întârziere (100); }

Codul de mai sus citește valorile trimise de la distanță și îl decodifică la valoarea HEX corespunzătoare. Acest cod este preluat din exemplele bibliotecii IRremote din Arduino IDE. Acest cod este, de asemenea, atașat în linkul de descărcare cu numele test.ino prevăzute mai sus. Ieșirea acestei funcții, atunci când sunt apăsate toate tastele numerice, va fi:

Decodează

4. În cod.ino atașat în linkul de descărcare de mai sus, pinii Arduino care vor fi utilizați sunt inițializați. În bucla nulă () funcție, când este apăsat un buton de pe telecomandă, este inițial Fals starea este transformată în Adevărat iar releul respectiv este pornit. Dacă același buton este apăsat din nou, va comuta starea booleană și va opri releul. Butonul de pornire va activa sau dezactiva toate relele.

bucla void () {if (irrecv.decode (& results)) {Serial.println (results.value, HEX); întârziere (100); if (results.value == 0x40BD00FF) {i =! i; digitalWrite (IN1, i); } if (results.value == 0x40BD807F) {j =! j; digitalWrite (IN2, j); // întârziere (200); } if (results.value == 0x40BD28D7) {m =! m; digitalWrite (IN1, m); digitalWrite (IN2, m); digitalWrite (IN3, m); digitalWrite (IN4, m); // întârziere (200); } irrecv.resume (); // Primiți următoarea valoare // întârziere (100); }}

Aceasta a fost întreaga procedură pentru a face un sistem de automatizare la domiciliu simplu controlat de o telecomandă TV. Acum, puteți conecta modulele de releu în funcție de numărul de aparate și vă puteți bucura de propriul dvs. sistem de automatizare inteligentă.