Hur man utformar Arduino-baserat hemautomationssystem med hjälp av TV Remote?
Hemautomationssystemet är det snabbast växande konceptet i den moderna världen. Smart hemautomation är ett koncept där en enda enhet används för att styra olika elektroniska parametrar i ett hus, till exempel byte av hushållsapparater, övervakning av säkerhetslarm, garageportautomation etc.
I det här projektet använder vi en enkel TV-fjärrkontroll för att skapa ett enkelt hemautomationssystem. Denna TV-fjärrkontroll styr alla apparater som är anslutna till mikrokontrollkortet.
Hur man använder en TV-fjärrkontroll för att skapa hemautomationssystem?
Hemautomationssystem som redan finns på marknaden är mycket kostsamma. Vi kan använda ett Arduino-kort för att ansluta olika hushållsapparater och styra dem med en TV-fjärrkontroll. Detta kommer att ha mycket låga kostnader och ett effektivt sätt att automatisera huset. Låt oss nu gå ett steg framåt och börja samla information för att starta projektet.
Steg 1: Samla in komponenterna
Det bästa sättet att starta något projekt är att göra en lista över komponenter och gå igenom en kort studie av dessa komponenter eftersom ingen vill sticka mitt i ett projekt bara på grund av en saknad komponent. En lista över komponenter som vi ska använda i detta projekt ges nedan:
Steg 2: Studera komponenterna
Nu när vi vet vilka komponenter vi ska använda, låt oss studera dem kort för att få en bättre förståelse för hur vår krets fungerar.
Arduino Nano är ett mikrokontrollerkort som utför olika operationer i olika kretsar. Det kräver en C-kod som talar om för styrelsen vilka uppgifter som ska utföras och hur. Den har 13 digitala I / O-stift vilket betyder att vi kan använda 13 olika enheter. Om du vill styra mer än 13 enheter, använd Arduino Mega.
TSOP 1738 är en IR-modul för fjärrkontroller. Den har en bärfrekvens på 38 kHz. Den består av en fotodetektor som detekterar signalen och sedan demodulerar den. Dess utgång används direkt av Arduino eller något annat mikrokontrollerkort.
En relämodul är en omkopplingsenhet. Det fungerar i två lägen, Normalt öppen (NO) och I vanliga fall Stängd (NC). I NO-läge bryts kretsen alltid om du inte skickar en HÖG signal till reläet via Arduino. NC-läge förvärras tvärtom. Kretsen är alltid komplett om du inte slår på relämodulen. Se till att du ansluter den positiva ledningen till din elektriska apparat till relämodulen på det sätt som visas nedan.
En vanlig TV-fjärrkontroll har en strömbrytare och alla siffertangenterna på den. Dessa siffertangenter kommer att användas för att växla mellan elektriska apparater.
Steg 3: Göra kretsen
Nu när vi vet hur alla komponenter fungerar, låt oss gå vidare och börja göra kretsen.
- Ta en brädbräda och sätt in din Arduino Nano och TSOP 1738 i den.
- Slå på TSOP 1738-modulen och relämodulen genom Arduino. Anslut UT stift av TSOP1738 till stift 11 av Arduino och anslut också I relämodulens stift till Arduino. Jag kontrollerar bara två elektriska apparater så jag använder bara relämoduler här. Om du vill styra fler apparater, anslut på samma sätt fler relämoduler.
Steg 4: Komma igång med Arduino
Om du inte har arbetat med Arduino IDE tidigare, oroa dig inte för att steg för steg för att ställa in Arduino IDE visas nedan.
- Anslut ditt Arduino-kort till datorn och öppna Kontrollpanelen. Klicka på Hårdvara och ljud.Nu öppen Enheter och skrivare och hitta porten som kortet är anslutet till. I mitt fall är det COM14men det är annorlunda på olika datorer.
- Klicka på verktygsmenyn och ställ in tavlan som Arduino Nano (AT Mega 328P).
- Klicka på verktygsmenyn igen och ställ in porten som du observerade på kontrollpanelen tidigare.
- I samma verktygsmeny ställer du in processorn som ATmega328p (Old Bootloader).
- För att avkoda data som skickas av fjärrkontrollen behöver vi ett speciellt bibliotek för A-kod Arduino. Detta bibliotek bifogas tillsammans med koden i länken nedan. För att lägga till biblioteket goto Skiss> Inkludera bibliotek> Lägg till ZIP-bibliotek. En ruta visas. Hitta ZIP-mappen på din dator och klicka på OK för att inkludera mappen.
- Ladda ner koden som bifogas nedan och klicka på uppladdningsknappen för att bränna koden i ditt Arduino Nano-kort.
Klicka på nedladdningsknappen för att få koden.
Steg 5: Kod
Koden är väldigt lätt att förstå men ändå beskrivs den kort nedan.
1. ogiltig installation ()är en funktion där vi initialiserar INPUT- eller OUTPUT-stiften. Denna funktion ställer också in baudhastigheten med Serial.begin () kommando. Baud Rate är mikrokontrollerns kommunikationshastighet.
2. ogiltig slinga ()är en funktion som körs upprepade gånger i en slinga. I den här slingan skriver vi en kod som berättar för mikrokontrollerkortet vilka uppgifter som ska utföras och hur.
3. När vi skickar data från TV-fjärrkontrollen måste Arduino avkoda dessa data. För detta har vi inkluderat ett speciellt bibliotek #omfatta
#omfattaint RECV_PIN = 11; IRrecv irrecv (RECV_PIN); resultat för avkodningsresultat; ogiltig installation () {Serial.begin (9600); irrecv.enableIRIn (); } void loop () {if (irrecv.decode (& results)) {Serial.println (results.value, HEX); irrecv.resume (); } fördröjning (100); }
Ovanstående kod läser värdena som skickas från fjärrkontrollen och avkodar den till dess motsvarande HEX-värde. Den här koden är hämtad från exemplen på IRremote-biblioteket i Arduino IDE. Den här koden bifogas också i nedladdningslänken med namnet test.ino ovan. Utgången för denna funktion, när alla siffertangenterna trycks in, kommer att vara:
4. I code.ino bifogad i nedladdningslänken ovan initialiseras stift av Arduino som kommer att användas. I ogiltig slinga () funktion, när en knapp på fjärrkontrollen trycks in, initialt Falsk tillståndet är vänt till Sannoch respektive relä är påslaget. Om samma knapp trycks in igen, växlar den det booleska tillståndet och stänger av reläet. Strömbrytaren slår på eller av alla reläer.
void loop () {if (irrecv.decode (& results)) {Serial.println (results.value, HEX); fördröjning (100); om (resultat.värde == 0x40BD00FF) {i =! i; digitalWrite (IN1, i); } om (resultat.värde == 0x40BD807F) {j =! j; digitalWrite (IN2, j); // fördröjning (200); } om (resultat.värde == 0x40BD28D7) {m =! m; digitalWrite (IN1, m); digitalWrite (IN2, m); digitalWrite (IN3, m); digitalWrite (IN4, m); // fördröjning (200); } irrecv.resume (); // Ta emot nästa värde // fördröjning (100); }}
Detta var hela proceduren för att göra ett enkelt hemautomatiseringssystem som styrs av en TV-fjärrkontroll. Nu kan du ansluta relämoduler enligt antalet apparater och njuta av ditt eget Smart Home Automation System.