Kā noformēt arduino balstītu mājas automatizācijas sistēmu, izmantojot TV tālvadības pulti?

Mājas automatizācijas sistēma ir visstraujāk augošais mūsdienu pasaules jēdziens. Viedā mājas automatizācija ir jēdziens, kurā viena ierīce tiek izmantota dažādu mājas elektronisko parametru kontrolei, piemēram, sadzīves tehnikas pārslēgšanai, apsardzes signalizācijas uzraudzībai, garāžas durvju automatizācijai utt.



Automatizācijas sistēma, izmantojot televizora tālvadības pulti

Šajā projektā mēs izmantosim vienkāršu televizora pulti, lai izveidotu vienkāršu mājas automatizācijas sistēmu. Šis televizora tālvadības pults kontrolēs visas ierīces, kas pievienotas mikrokontrolleru panelim.



Kā izmantot TV tālvadības pulti, lai izveidotu mājas automatizācijas sistēmu?

Mājas automatizācijas sistēmas, kas jau ir pieejamas tirgū, ir ļoti dārgas. Mēs varam izmantot Arduino dēli, lai savienotu dažādas sadzīves tehnikas un vadītu tās, izmantojot televizora pulti. Tas būs ļoti zemas izmaksas un efektīvs veids, kā automatizēt māju. Tagad sāksim soli uz priekšu un sāksim vākt informāciju, lai sāktu projektu.



1. darbība: komponentu savākšana

Vislabākā pieeja jebkura projekta uzsākšanai ir sastādīt sastāvdaļu sarakstu un veikt īsu šo komponentu izpēti, jo neviens nevēlas palikt projekta vidū tikai trūkstoša komponenta dēļ. Komponentu saraksts, kurus mēs izmantosim šajā projektā, ir norādīts zemāk:



  • TSOP 1738 IR uztvērējs
  • Tālvadība
  • Maizes dēlis
  • Džemperu vadi

2. solis: Komponentu izpēte

Tagad, kad mēs zinām, kādus komponentus mēs izmantosim, ļaujiet mums tos īsi izpētīt, lai labāk izprastu mūsu ķēdes darbību.

Arduino Nano ir mikrokontrolleru plate, kas veic dažādas darbības dažādās ķēdēs. Tas prasa a C kods kas padomei norāda, kādi uzdevumi un kā jāveic. Tam ir 13 digitālās I / O tapas, kas nozīmē, ka mēs varam darbināt 13 dažādas ierīces. Ja vēlaties kontrolēt vairāk nekā 13 ierīces, izmantojiet Arduino Mega.

Arduino Nano



TSOP 1738 ir IR modulis tālvadības pultīm. Tā nesēja frekvence ir 38 kHz. Tas sastāv no fotodetektora, kas uztver signālu un pēc tam to demodulē. Tās izvadi tieši izmanto Arduino vai jebkura cita mikrokontrolleru plate.

TSOP sensors

Releja modulis ir komutācijas ierīce. Tas darbojas divos režīmos, Parasti atvērts (NĒ) un Parasti Slēgts (NC) . NĒ režīmā ķēde vienmēr tiek pārtraukta, ja vien jūs nesūtāt AUGSTU signālu uz releju, izmantojot Arduino. NC režīms pasliktinās otrādi, ķēde vienmēr ir pabeigta, ja vien neieslēdzat releja moduli. Pārliecinieties, ka pievienojāt elektriskās ierīces pozitīvo vadu releja modulim tā, kā parādīts zemāk.

Releja modulis

Standarta televizora tālvadības pultī ir ieslēgšanas / izslēgšanas poga un visi ciparu taustiņi. Šie ciparu taustiņi tiks izmantoti elektrisko ierīču pārslēgšanai.

3. solis: ķēdes izveidošana

Tagad, kad mēs zinām, kā darbojas visi komponenti, virzīsimies uz priekšu un sāksim veidot ķēdi.

  1. Paņemiet maizes dēli un ievietojiet tajā savu Arduino Nano un TSOP 1738.
  2. Ieslēdziet TSOP 1738 moduli un releja moduli, izmantojot Arduino. Pievienojiet OUT TSOP1738 tapu ar Arduino pin11 un arī pievienojiet IN releja moduļa tapas uz Arduino. Es kontrolēju tikai divas elektroierīces, tāpēc šeit izmantoju tikai releju moduļus. Ja vēlaties vadīt vairāk ierīču, līdzīgi pievienojiet vairāk releju moduļu.

    Ķēdes shēma

4. solis: darba sākšana ar Arduino

Ja iepriekš neesat strādājis ar Arduino IDE, neuztraucieties, jo soli pa solim, lai iestatītu Arduino IDE, ir parādīts zemāk.

  1. Savienojiet savu Arduino dēli ar datoru un atveriet vadības paneli. Klikšķiniet uz Aparatūra un skaņa. Tagad atvērts Ierīces un printeris un atrodiet portu, ar kuru savienots jūsu dēlis. Manā gadījumā tā ir COM14 bet dažādos datoros tas ir atšķirīgs.

    Ostas atrašana

  2. Noklikšķiniet uz izvēlnes Rīks un iestatiet tāfeli kā Arduino Nano (AT Mega 328P) .

    Dēļu iestatīšana

  3. Vēlreiz noklikšķiniet uz izvēlnes Rīks un iestatiet portu, kuru iepriekš novērojāt vadības panelī.

    Portas iestatīšana

  4. Tajā pašā izvēlnē Rīks iestatiet Procesors kā ATmega328p (vecs sāknēšanas iekrāvējs) .

    Procesora iestatīšana

  5. Lai atšifrētu tālvadības pults sūtītos datus, mums nepieciešama īpaša bibliotēka A kodam Arduino. Šī bibliotēka ir pievienota kopā ar kodu zemāk esošajā saitē. Lai pievienotu bibliotēku, turpiniet Skice> Iekļaut bibliotēku> Pievienot ZIP bibliotēku . Parādīsies lodziņš. Datorā atrodiet ZIP mapi un noklikšķiniet uz Labi, lai iekļautu mapi.

    Iekļaut bibliotēku

  6. Lejupielādējiet zemāk pievienoto kodu un noklikšķiniet uz augšupielādes pogas, lai ierakstītu kodu savā Arduino Nano dēlī.

    Augšupielādēt

Noklikšķiniet uz lejupielādēt pogu, lai iegūtu kodu.

5. solis: kods

Kods ir ļoti viegli saprotams, bet tomēr tas ir īsumā aprakstīts tālāk.

1. anulēt iestatīšanu () ir funkcija, kurā mēs inicializējam INPUT vai OUTPUT tapas. Šī funkcija arī nosaka datu pārraides ātrumu, izmantojot Serial.begin () komandu. Bauda ātrums ir mikrokontrollera sakaru ātrums.

2. void loop () ir funkcija, kas atkārtoti darbojas ciklā. Šajā lokā mēs uzrakstām kodu, kas mikrokontrolleru dēlim norāda, kādi uzdevumi un kā jāveic.

3. Kad mēs sūtām datus no televizora tālvadības pults, Arduino šie dati ir jāatkodē. Tam mēs esam iekļāvuši īpašu bibliotēku #iekļaut <IRremote.h>. Funkcija šajā bibliotēkā tiks izmantota, lai atšifrētu katra no tālvadības pults nosūtīto atslēgu datus.

#include int RECV_PIN = 11; IRrecv irrecv (RECV_PIN); dekodēt_rezultātu rezultāti; void setup () {Sērijas.sākt (9600); irrecv.enableIRIn (); } void loop () {if (irrecv.decode (& results)) {Serial.println (rezultāti.vērtība, HEX); irrecv.resume (); } kavēšanās (100); }

Iepriekš minētais kods nolasa no tālvadības pults nosūtītās vērtības un dekodē to atbilstošajai HEX vērtībai. Šis kods ir ņemts no IRremote bibliotēkas piemēriem Arduino IDE. Šis kods ir pievienots lejupielādes saitei arī pēc nosaukuma test.ino sniegts iepriekš. Nospiežot visus ciparu taustiņus, šīs funkcijas izeja būs:

Atkodēt

4. In kods.ino pievienojot iepriekšminēto saiti, tiek inicializētas Arduino tapas, kas tiks izmantotas. Iekš void loop () funkcija, nospiežot tālvadības pogu, sākotnēji Nepatiesa stāvoklis ir pagriezts uz Patiesi un attiecīgais relejs ir ieslēgts. Ja vēlreiz tiek nospiesta tā pati poga, tas pārslēdz būla stāvokli un izslēdz releju. Barošanas poga ieslēdz vai izslēdz visus relejus.

void loop () {if (irrecv.decode (& rezultāti)) {Serial.println (results.value, HEX); kavēšanās (100); ja (rezultāti.vērtība == 0x40BD00FF) {i =! i; digitalWrite (IN1, i); } ja (rezultāti.vērtība == 0x40BD807F) {j =! j; digitalWrite (IN2, j); // kavēšanās (200); } ja (rezultāti.vērtība == 0x40BD28D7) {m =! m; digitalWrite (IN1, m); digitalWrite (IN2, m); digitalWrite (IN3, m); digitalWrite (IN4, m); // kavēšanās (200); } irrecv.resume (); // Saņemiet nākamo vērtību // aizkave (100); }}

Šī bija visa procedūra, lai izveidotu vienkāršu mājas automatizācijas sistēmu, ko kontrolē televizora tālvadības pults. Tagad jūs varat savienot releju moduļus atbilstoši savu ierīču skaitam un izbaudīt savu viedās mājas automatizācijas sistēmu.