Kuidas kujundada Arduino põhine koduautomaatikasüsteem TV kaugjuhtimispuldi abil?

Koduautomaatikasüsteem on kaasaegse maailma kõige kiiremini kasvav kontseptsioon. Nutika kodu automatiseerimine on mõiste, mille puhul ühe seadme abil kontrollitakse maja erinevaid elektroonilisi parameetreid, näiteks kodumasinate ümberlülitamine, valvesignalisatsioonide jälgimine, garaažiuste automaatika jne



Automaatikasüsteem teleri kaugjuhtimispuldi abil

Selles projektis kasutame lihtsa koduautomaatikasüsteemi loomiseks lihtsat teleripulti. See teleripult juhib kõiki mikrokontrolleri plaadiga ühendatud seadmeid.



Kuidas kasutada teleka kaugjuhtimispulti koduautomaatikasüsteemi loomiseks?

Kodutehnika süsteemid, mis on turul juba saadaval, on väga kulukad. Erinevate kodumasinate ühendamiseks ja teleripuldi abil juhtimiseks saame kasutada Arduino plaati. See on väga madal hind ja tõhus viis maja automatiseerimiseks. Liigume nüüd samm edasi ja alustame projekti alustamiseks teabe kogumist.



1. samm: komponentide kogumine

Parim lähenemine mis tahes projekti alustamiseks on koostada komponentide loetelu ja läbi viia nende komponentide lühitutvustus, sest keegi ei taha jääda projekti keskele lihtsalt puuduva komponendi tõttu. Allpool on loetelu komponentidest, mida me selles projektis kasutame:



  • TSOP 1738 IR-vastuvõtja
  • Pult
  • Leivaplaat
  • Hüppaja juhtmed

2. samm: komponentide uurimine

Nüüd, kui teame, milliseid komponente kavatseme kasutada, uurigem neid lühidalt, et paremini mõista meie vooluringi toimimist.

Arduino Nano on mikrokontrolleri plaat, mis teeb erinevaid toiminguid erinevates ahelates. See nõuab a C kood mis ütleb juhatusele, milliseid ülesandeid täita ja kuidas. Sellel on 13 digitaalset I / O-tihvti, mis tähendab, et saame juhtida 13 erinevat seadet. Kui soovite juhtida rohkem kui 13 seadet, kasutage Arduino Mega.

Arduino Nano



TSOP 1738 on kaugjuhtimispultide infrapunamoodul. Selle kandesagedus on 38 kHz. See koosneb fotodetektorist, mis tuvastab signaali ja seejärel demoduleerib selle. Selle väljundit kasutab otse Arduino või mõni muu mikrokontrolleri plaat.

TSOP-andur

Relee moodul on lülitusseade. See töötab kahes režiimis, Tavaliselt avatud (EI) ja Tavaliselt Suletud (NC) . NO-režiimis on vooluring alati katki, kui te ei edasta Arduino kaudu releele KÕRGET signaali. NC-režiim halveneb vastupidi, vooluahel on alati täielik, kui te ei lülita relee moodulit sisse. Ühendage oma elektriseadme positiivne juhe relee mooduliga allpool näidatud viisil.

Relee moodul

Tavalisel teleripuldil on toitenupp ja kõik numbriklahvid. Neid numbriklahve kasutatakse elektriseadmete ümberlülitamiseks.

3. samm: vooluringi tegemine

Nüüd, kui teame, kuidas kõik komponendid töötavad, liigume edasi ja alustame vooluringi.

  1. Võtke leivalaud ja sisestage oma Arduino Nano ja TSOP 1738.
  2. Lülitage Arduino kaudu sisse moodul TSOP 1738 ja relee moodul. Ühendage VÄLJAS TSOP1738 tihvt Arduino pin11 külge ja ühendage ka IN relee mooduli tihvtid Arduinole. Juhin ainult kahte elektriseadet, seega kasutan siin ainult releemooduleid. Kui soovite juhtida rohkem seadmeid, ühendage sarnaselt rohkem releemooduleid.

    Vooluringi skeem

4. samm: Arduinoga alustamine

Kui te pole Arduino IDE-ga varem töötanud, ärge muretsege, sest allpool on toodud samm-sammult Arduino IDE seadistamine.

  1. Ühendage oma Arduino tahvel arvutiga ja avage juhtpaneel. Kliki Riistvara ja heli. Nüüd avatud Seadmed ja printer ja leidke port, millega teie laud on ühendatud. Minu puhul on see nii KOM14 kuid see on erinevates arvutites erinev.

    Sadama leidmine

  2. Klõpsake menüüd Tööriist ja määrake tahvel nimeks Arduino Nano (AT Mega 328P) .

    Laua määramine

  3. Klõpsake uuesti menüül Tööriist ja määrake port, mida jälgisite juhtpaneelil varem.

    Pordi seadistamine

  4. Määrake samas menüüs Tööriist protsessor väärtuseks ATmega328p (vana alglaadur) .

    Protsessori seadistamine

  5. Kaugjuhtimispuldi saadetud andmete dekodeerimiseks vajame spetsiaalset A-koodi koodi Arduino jaoks. See teek on lisatud koos alloleval lingil oleva koodiga. Teegi lisamiseks goto Visand> Kaasa teek> Lisa ZIP-kogu . Ilmub kast. Leidke oma arvutis ZIP-kaust ja klõpsake kausta kaasamiseks nuppu OK.

    Kaasa teek

  6. Laadige alla lisatud kood alla ja klõpsake Arduino Nano pardal oleva koodi kirjutamiseks nuppu üleslaadimine.

    Laadi üles

Klõpsake nuppu lae alla nuppu koodi saamiseks.

5. samm: kood

Koodi on väga lihtne mõista, kuid siiski kirjeldatakse seda lühidalt allpool.

1. kehtetu seadistamine () on funktsioon, milles lähtestame INPUT või OUTPUT tihvtid. See funktsioon määrab ka andmeedastuskiiruse Serial.begin () käsk. Baudi kiirus on mikrokontrolleri sidekiirus.

2. void loop () on funktsioon, mis töötab korduvalt silmusena. Selles tsüklis kirjutame koodi, mis ütleb mikrokontrolleri plaadile, milliseid ülesandeid ja kuidas täita.

3. Kui me saadame andmeid teleri puldist, peab Arduino need andmed dekodeerima. Selleks oleme lisanud spetsiaalse raamatukogu #hõlmama <IRremote.h>. Selle teegi funktsiooni kasutatakse iga kaugjuhtimispuldist saadetud võtme andmete dekodeerimiseks.

# kaasata int RECV_PIN = 11; IRrecv irrecv (RECV_PIN); dekodeeri_tulemused tulemused; void setup () {Serial.begin (9600); irrecv.enableIRIn (); } void loop () {if (irrecv.decode (& results)) {Serial.println (tulemused.väärtus, HEX); irrecv.resume (); } viivitus (100); }

Ülaltoodud kood loeb kaugjuhtimispuldist saadetud väärtusi ja dekodeerib selle vastavaks HEX-väärtuseks. See kood on võetud Arduino IDE IRremote teegi näidetest. See kood on lisatud allalaadimislingile ka nime järgi test.ino sätestatud eespool. Kõigi numbriklahvide vajutamisel on selle funktsiooni väljund järgmine:

Dekodeeri

4. Rakenduses kood.ino ülaltoodud allalaadimislingile lisatud initsialiseeritakse kasutatavad Arduino tihvtid. Aastal void loop () funktsioon, kui kaugjuhtimispuldi nuppu vajutatakse, siis algselt Vale seisund on pööratud Tõsi ja vastav relee on sisse lülitatud. Sama nupu uuesti vajutamisel lülitatakse see ümber tõeväärtuse olekusse ja lülitatakse relee välja. Toitenupp lülitab kõik releed sisse või välja.

void loop () {if (irrecv.decode (& results)) {Serial.println (results.value, HEX); viivitus (100); if (tulemused.väärtus == 0x40BD00FF) {i =! i; digitalWrite (IN1, i); } if (tulemused.väärtus == 0x40BD807F) {j =! j; digitalWrite (IN2, j); // viivitus (200); } if (tulemused.väärtus == 0x40BD28D7) {m =! m; digitalWrite (IN1, m); digitalWrite (IN2, m); digitalWrite (IN3, m); digitalWrite (IN4, m); // viivitus (200); } irrecv.resume (); // saab järgmise väärtuse // viivitus (100); }}

See oli kogu protseduur lihtsa koduautomaatikasüsteemi loomiseks, mida juhtis teleri kaugjuhtimispult. Nüüd saate ühendada relee moodulid vastavalt oma seadmete arvule ja nautida oma nutika kodu automatiseerimissüsteemi.