Kaip suprojektuoti „Arduino“ pagrįstą namų automatikos sistemą naudojant „TV Remote“?

Kaip suprojektuoti „Arduino“ pagrįstą namų automatikos sistemą naudojant „TV Remote“?

Namų automatikos sistema yra sparčiausiai populiarėjanti šiuolaikinio pasaulio koncepcija. Išmanioji namų automatika - tai koncepcija, kai vienu prietaisu valdomi įvairūs namo elektroniniai parametrai, pavyzdžiui, buitinės technikos perjungimas, apsaugos signalizacijos stebėjimas, garažo vartų automatika ir kt.

Automatikos sistema naudojant televizoriaus nuotolinio valdymo pultą



Šiame projekte naudosime paprastą televizoriaus pultelį, kad sukurtume paprastą namų automatikos sistemą. Šis televizoriaus nuotolinio valdymo pultas valdys visus prietaisus, prijungtus prie mikrovaldiklio plokštės.

Kaip naudoti televizoriaus nuotolinio valdymo pultą namų automatikos sistemai sukurti?

Namų automatikos sistemos, kurios jau yra rinkoje, yra labai brangios. Mes galime naudoti „Arduino“ plokštę, kad galėtume sujungti skirtingus buitinius prietaisus ir valdyti juos naudodami televizoriaus pultelį. Tai bus labai maža kaina ir efektyvus būdas automatizuoti namą. Dabar paženkime žingsnį į priekį ir pradėkime rinkti informaciją, kad pradėtume projektą.

1 žingsnis: Surinkite komponentus

Geriausias būdas pradėti bet kokį projektą yra sudaryti komponentų sąrašą ir atlikti trumpą šių komponentų tyrimą, nes niekas nenorės laikytis projekto vidurio vien dėl trūkstamo komponento. Toliau pateikiamas komponentų, kuriuos ketiname naudoti šiame projekte, sąrašas:



  • TSOP 1738 IR imtuvas
  • Nuotolinio valdymo pultas
  • Bandomoji Lenta
  • Šuolių laidai

2 žingsnis: komponentų studijavimas

Dabar, kai žinome, kokius komponentus naudosime, trumpai juos panagrinėkime, kad geriau suprastume, kaip veikia mūsų grandinė.

„Arduino Nano“ yra mikrovaldiklio plokštė, atliekanti įvairias operacijas skirtingose ​​grandinėse. Tam reikia a C kodas tai lentai nurodo, kokias užduotis ir kaip atlikti. Jame yra 13 skaitmeninių įvesties / išvesties kontaktų, o tai reiškia, kad galime valdyti 13 skirtingų įrenginių. Jei norite valdyti daugiau nei 13 įrenginių, naudokite „Arduino Mega“.

„Arduino Nano“



TSOP 1738 yra nuotolinio valdymo pultų IR modulis. Jo nešlio dažnis yra 38 kHz. Jis susideda iš fotodetektoriaus, kuris aptinka signalą ir tada jį demoduliuoja. Jo išvestį tiesiogiai naudoja „Arduino“ ar bet kuri kita mikrovaldiklio plokštė.

TSOP jutiklis

Relės modulis yra perjungimo įtaisas. Jis veikia dviem režimais, Paprastai atidarytas (NE) ir Paprastai Uždaryta (NC) . „NO“ režimu grandinė visada nutrūksta, nebent per „Arduino“ į relę siunčiate AUKŠTĄ signalą. NC režimas blogėja atvirkščiai, grandinė visada baigta, nebent įjungiate relės modulį. Įsitikinkite, kad prijungėte teigiamą elektros prietaiso laidą prie relės modulio taip, kaip parodyta žemiau.

Relės modulis

Standartiniame televizoriaus nuotolinio valdymo pulte yra įjungimo mygtukas ir visi skaitiniai klavišai. Šie skaitmeniniai klavišai bus naudojami elektros prietaisams perjungti.

3 žingsnis: grandinės sudarymas

Dabar, kai žinome, kaip veikia visi komponentai, eikime į priekį ir pradėkime grandinę.

  1. Paimkite skydą ir įdėkite į jį savo „Arduino Nano“ ir „TSOP 1738“.
  2. Įjunkite TSOP 1738 modulį ir relės modulį per „Arduino“. Prijunkite OUT TSOP1738 kaištį prie Arduino pin11 ir taip pat prijunkite IN relės modulio kaiščiai į „Arduino“. Valdau tik du elektros prietaisus, todėl čia naudoju tik relinius modulius. Jei norite valdyti daugiau prietaisų, panašiai prijunkite daugiau relės modulių.

    Grandinės schema

4 žingsnis: darbo su „Arduino“ pradžia

Jei anksčiau nedirbote su „Arduino IDE“, nesijaudinkite, nes žingsnis po žingsnio parodomas „Arduino IDE“ nustatymas.

  1. Prijunkite „Arduino“ plokštę prie kompiuterio ir atidarykite Valdymo skydą. Spustelėkite Aparatūra ir garsas. Dabar atidaryta Prietaisai ir spausdintuvas ir suraskite prievadą, prie kurio prijungta jūsų plokštė. Mano atveju taip yra COM14 bet skirtinguose kompiuteriuose yra skirtinga.

    Rasti uostą

  2. Spustelėkite meniu Įrankis ir nustatykite lentą kaip „Arduino Nano“ („AT Mega 328P“) .

    Nustatymo lenta

  3. Dar kartą spustelėkite meniu Įrankis ir nustatykite prievadą, kurį anksčiau pastebėjote valdymo skydelyje.

    Uosto nustatymas

  4. Tame pačiame meniu Įrankis nustatykite procesorių kaip „ATmega328p“ (senas įkrovos įrankis) .

    Procesoriaus nustatymas

  5. Norėdami iššifruoti nuotolinio valdymo pulto siunčiamus duomenis, mums reikia specialios A kodo „Arduino“ bibliotekos. Ši biblioteka pridedama kartu su kodu žemiau esančioje nuorodoje. Norėdami pridėti biblioteką, eikite Eskizas> Įtraukti biblioteką> Pridėti ZIP biblioteką . Pasirodys langelis. Kompiuteryje raskite aplanką ZIP ir spustelėkite Gerai, jei norite įtraukti aplanką.

    Įtraukti biblioteką

  6. Atsisiųskite žemiau pridėtą kodą ir spustelėkite mygtuką „Įkelti“, kad įrašytumėte kodą „Arduino Nano“ lentoje.

    Įkelti

Spustelėkite parsisiųsti mygtuką, kad gautumėte kodą.

5 žingsnis: kodas

Kodas yra labai lengvai suprantamas, bet vis tiek trumpai aprašytas žemiau.

1. negaliojanti sąranka () yra funkcija, kurioje inicijuojame INPUT arba OUTPUT kaiščius. Ši funkcija taip pat nustato duomenų perdavimo greitį naudodama Serial.begin () komandą. „Baud Rate“ yra mikrovaldiklio ryšio greitis.

2. tuščia kilpa () yra funkcija, kuri kartojasi cikle. Šioje grandinėje mes parašome kodą, kuris mikrokontrolerio valdybai nurodo, kokias užduotis ir kaip atlikti.

3. Kai siunčiame duomenis iš televizoriaus nuotolinio valdymo pulto, „Arduino“ turi juos iššifruoti. Tam mes įtraukėme specialią biblioteką #įtraukti <IRremote.h>. Šios bibliotekos funkcija bus naudojama kiekvieno raktelio, išsiųsto iš nuotolinio valdymo pulto, duomenims iššifruoti.

#include int RECV_PIN = 11; IRrecv irrecv (RECV_PIN); iššifruoti_rezultatų rezultatus; negaliojanti sąranka () {Serial.begin (9600); irrecv.enableIRIn (); } void loop () {if (irrecv.decode (& results)) {Serial.println (rezultatai.value, HEX); irrecv.resume (); } vėlavimas (100); }

Aukščiau pateiktas kodas nuskaito iš nuotolinio valdymo pulto atsiųstas vertes ir dekoduoja jį iki atitinkamos HEX vertės. Šis kodas yra paimtas iš „IRremote“ bibliotekos „Arduino IDE“ pavyzdžių. Šis kodas taip pat pridedamas atsisiuntimo nuorodoje pavadinimu testas.ino numatyta aukščiau. Paspaudus visus skaitmeninius klavišus, šios funkcijos išvestis bus:

Iššifruoti

4. Į kodas.ino pridėjus aukščiau pateiktą atsisiuntimo nuorodą, bus inicijuojami „Arduino“ kaiščiai. Viduje konors tuščia kilpa () funkcija, paspaudus nuotolinio valdymo pulto mygtuką, iš pradžių Klaidinga būklė yra pasukta Tiesa ir atitinkama relė yra įjungta. Jei vėl paspausite tą patį mygtuką, jis pakeis loginę būseną ir išjungs relę. Maitinimo mygtukas įjungs arba išjungs visas reles.

void loop () {if (irrecv.decode (& results)) {Serial.println (rezultatai.value, HEX); vėlavimas (100); if (rezultatai.vertė == 0x40BD00FF) {i =! i; „digitalWrite“ (IN1, i); } if (rezultatai.vertė == 0x40BD807F) {j =! j; „digitalWrite“ (IN2, j); // vėlavimas (200); } if (rezultatai.vertė == 0x40BD28D7) {m =! m; „digitalWrite“ (IN1, m); „digitalWrite“ (IN2, m); „digitalWrite“ (IN3, m); „digitalWrite“ (IN4, m); // vėlavimas (200); } irrecv.resume (); // Gauti kitą vertę // delsa (100); }}

Tai buvo visa procedūra, kaip sukurti paprastą namų automatikos sistemą, valdomą televizoriaus nuotolinio valdymo pultu. Dabar galite prijungti relinius modulius pagal savo prietaisų skaičių ir mėgautis savo pačių sukurta „Smart Home“ automatikos sistema.