Hvordan designer jeg Arduino-baseret hjemmeautomatiseringssystem ved hjælp af TV-fjernbetjening?
Home Automation System er det hurtigst voksende koncept i den moderne verden. Smart home automation er et koncept, hvor en enkelt enhed bruges til at styre forskellige elektroniske parametre i et hus, for eksempel skifte af husholdningsapparater, overvågning af sikkerhedsalarmer, garageportautomatisering osv.
I dette projekt bruger vi en simpel tv-fjernbetjening til at lave et simpelt hjemmeautomatiseringssystem. Denne tv-fjernbetjening styrer alle apparater, der er tilsluttet mikrokontrolkortet.
Hvordan bruges en tv-fjernbetjening til at lave hjemmeautomatiseringssystem?
Hjemmeautomatiseringssystemer, der allerede er tilgængelige på markedet, er meget dyre. Vi kan bruge et Arduino-kort til at forbinde forskellige husholdningsapparater og kontrollere dem ved hjælp af en tv-fjernbetjening. Dette har meget lave omkostninger og en effektiv måde at automatisere huset på. Lad os nu gå et skridt foran og begynde at indsamle oplysninger for at starte projektet.
Trin 1: Samling af komponenterne
Den bedste metode til at starte ethvert projekt er at lave en liste over komponenter og gennemgå en kort undersøgelse af disse komponenter, fordi ingen vil holde sig midt i et projekt bare på grund af en manglende komponent. En liste over komponenter, som vi skal bruge i dette projekt, er angivet nedenfor:
Trin 2: Studere komponenterne
Nu da vi ved, hvilke komponenter vi skal bruge, lad os studere dem kort for at få en bedre forståelse af, hvordan vores kredsløb fungerer.
Arduino Nano er et mikrocontrollerkort, der udfører forskellige operationer i forskellige kredsløb. Det kræver en C-kode der fortæller bestyrelsen, hvilke opgaver der skal udføres, og hvordan. Den har 13 digitale I / O-ben, hvilket betyder, at vi kan betjene 13 forskellige enheder. Hvis du vil kontrollere mere end 13 enheder, skal du bruge Arduino Mega.
TSOP 1738 er et IR-modul til fjernbetjeninger. Den har en bærefrekvens på 38 kHz. Den består af en fotodetektor, der registrerer signalet og demodulerer det derefter. Dens output bruges direkte af Arduino eller ethvert andet mikrocontrollerkort.
Et relæmodul er en omskifterenhed. Det fungerer i to tilstande, Normalt åben (NO) og Normalt Lukket (NC). I NO-tilstand brydes kredsløbet altid, medmindre du sender et HIGH signal til relæet gennem Arduino. NC-tilstand forværres omvendt. Kredsløbet er altid komplet, medmindre du tænder for relæmodulet. Sørg for at slutte den positive ledning til dit elektriske apparat til relæmodulet som vist nedenfor.
En standard TV-fjernbetjening har en tænd / sluk-knap og alle de numeriske taster på den. Disse numeriske taster bruges til at skifte de elektriske apparater.
Trin 3: Oprettelse af kredsløbet
Nu, da vi ved, hvordan alle komponenter fungerer, lad os gå videre og begynde at lave kredsløbet.
- Tag et brødbræt, og indsæt din Arduino Nano og TSOP 1738 i den.
- Tænd TSOP 1738-modulet og relæmodulet gennem Arduino. Tilslut UD pin af TSOP1738 til pin11 af Arduino og tilslut også I relæmodulets ben til Arduino. Jeg styrer kun to elektriske apparater, så jeg bruger kun relæmoduler her. Hvis du vil styre flere apparater, skal du på lignende måde tilslutte flere relæmoduler.
Trin 4: Kom godt i gang med Arduino
Hvis du ikke har arbejdet med Arduino IDE før, skal du ikke bekymre dig, fordi der vises trin for trin for at konfigurere Arduino IDE nedenfor.
- Tilslut dit Arduino-kort til pc'en, og åbn Kontrolpanel. Klik på Hardware og lyd.Nu åben Enheder og printer og find den port, som dit kort er tilsluttet. I mit tilfælde er det COM14men det er anderledes på forskellige computere.
- Klik på værktøjsmenuen, og indstil tavlen som Arduino Nano (AT Mega 328P).
- Klik på værktøjsmenuen igen, og indstil den port, du har observeret i kontrolpanelet før.
- I den samme værktøjsmenu skal du indstille processoren som ATmega328p (gammel bootloader).
- For at afkode de data, der sendes af fjernbetjeningen, har vi brug for et specielt bibliotek til A-kode Arduino. Dette bibliotek er vedhæftet sammen med koden i nedenstående link. For at tilføje bibliotekets goto Skitse> Inkluder bibliotek> Tilføj ZIP-bibliotek. En boks vises. Find ZIP-mappen på din computer, og klik på OK for at inkludere mappen.
- Download koden, der er vedhæftet nedenfor, og klik på uploadknappen for at brænde koden på dit Arduino Nano-kort.
Klik på download-knappen for at hente koden.
Trin 5: Kode
Koden er meget let at forstå, men stadig er den kort beskrevet nedenfor.
1. ugyldig opsætning ()er en funktion, hvor vi initialiserer INPUT- eller OUTPUT-benene. Denne funktion indstiller også baudhastigheden ved hjælp af Serial.begin () kommando. Baudrate er mikrokontrollerens kommunikationshastighed.
2. ugyldig sløjfe ()er en funktion, der kører gentagne gange i en løkke. I denne sløjfe skriver vi en kode, der fortæller mikrocontroller-tavlen, hvilke opgaver der skal udføres, og hvordan.
3. Når vi sender data fra tv-fjernbetjeningen, skal Arduino afkode disse data. Til dette har vi inkluderet et specielt bibliotek #omfatte
#omfatteint RECV_PIN = 11; IRrecv irrecv (RECV_PIN); decode_results resultater; ugyldig opsætning () {Serial.begin (9600); irrecv.enableIRIn (); } ugyldig sløjfe () {if (irrecv.decode (& resultater)) {Serial.println (results.value, HEX); irrecv.resume (); } forsinkelse (100); }
Ovenstående kode læser de værdier, der sendes fra fjernbetjeningen, og afkoder den til dens tilsvarende HEX-værdi. Denne kode er taget fra eksemplerne på IRremote-biblioteket i Arduino IDE. Denne kode er også vedhæftet i downloadlinket med navnet test.ino angivet ovenfor. Output af denne funktion, når alle taltasterne trykkes ned, vil være:
4. I code.ino vedhæftet i ovenstående downloadlink initialiseres stifter af Arduino, der skal bruges. I ugyldig sløjfe () funktion, når der trykkes på en knap på fjernbetjeningen, den oprindelige Falsk tilstand er vendt til Rigtigtog det respektive relæ er tændt. Hvis der trykkes på den samme knap igen, skifter den den boolske tilstand og slukker relæet. Tænd / sluk-knappen tænder eller slukker for alle relæer.
ugyldig sløjfe () {if (irrecv.decode (& resultater)) {Serial.println (results.value, HEX); forsinkelse (100); hvis (results.value == 0x40BD00FF) {i =! i; digitalWrite (IN1, i); } hvis (results.value == 0x40BD807F) {j =! j; digitalWrite (IN2, j); // forsinkelse (200); } hvis (results.value == 0x40BD28D7) {m =! m; digitalWrite (IN1, m); digitalWrite (IN2, m); digitalWrite (IN3, m); digitalWrite (IN4, m); // forsinkelse (200); } irrecv.resume (); // Modtag den næste værdi // forsinkelse (100); }}
Dette var hele proceduren for at lave et simpelt hjemmeautomatiseringssystem styret af en tv-fjernbetjening. Nu kan du forbinde relæmoduler i henhold til antallet af dine apparater og nyde dit eget Smart Home Automation System.