Kontroller hjemmeapparater trådløst ved bruk av IR -fjernkontroll og arduino uno

Kontroller hjemmeapparater trådløst ved bruk av IR -fjernkontroll og arduino uno
En IR -sensor fjernkontroll gir mulighet for kontroll av AC -apparater ved bruk av infrarøde signaler og en Arduino -mikrokontroller. IR -sensoren oppdager de infrarøde signalene som sendes ut fra en fjernkontroll, og Arduino prosesser disse signalene for å bestemme ønsket handling. Dette kan brukes til å slå apparater av og på, justere temperaturinnstillinger eller kontrollere andre funksjoner.

Denne artikkelen dekker:

  • 1: Introduksjon til IR -sensor
  • 2: IR Sensor Pinout
  • 3: Introduksjon til stafett
  • 4: Relay Pinout
  • 5: grensesnitt IR -sensor med Arduino
  • 5.1: Skjematisk
  • 5.2: Installere det nødvendige biblioteket
  • 6: Avkoding av en IR -fjernknapper
  • 6.1: Kode
  • 6.2: Output
  • 7: Kontrollere en AC -pære ved hjelp av IR -fjernkontroll og Arduino Uno
  • 7.1: Skjematisk
  • 7.2: Kode
  • 7.3: Output
  • 8: Designe en smarttelefonbasert IR -fjernkontroll for AC -apparater ved bruk av Arduino Uno
  • Konklusjon

1: Introduksjon til IR -sensor

En IR-mottaker-LED, eller infrarød mottaker Light-Emitting Diode, er en enhet som brukes til å oppdage og motta infrarøde signaler. Det brukes ofte i fjernkontrollsystemer, der den mottar signaler fra en fjernkontroll og sender dem til en mikrokontroller eller annen enhet for behandling.

Ved å bruke en IR -sensor og Arduino, er det mulig å lage en tilpasset og praktisk måte å kontrollere AC -apparater uten behov for manuelle brytere eller fysiske knapper, også den kan integreres med andre smarte hjemmeenheter for automatisering.

2: IR Sensor Pinout

IR -mottakersensoren er en liten modul som vanligvis har tre pinner:

  • VCC
  • GND
  • UTE

De VCC PIN er koblet til en strømforsyning, for eksempel 5V -pinnen på Arduino, for å gi strøm til sensoren. de GND PIN er koblet til bakkestiften på Arduino og UTE PIN er koblet til en digital inngangspinne på Arduino:

3: Introduksjon til stafett

Et relé er en elektrisk betjent bryter som gir mulighet for kontroll av høyspenning eller høystrømskretser ved bruk av et lavspentesignal. Når den brukes i forbindelse med en Arduino -mikrokontroller, gir den en enkel og effektiv måte å kontrollere et bredt spekter av enheter og apparater.

Arduino sender et signal til reléet, og får den til å åpne eller lukke en krets, som igjen kontrollerer strømmen til den tilkoblede enheten. For mer informasjon om integrering av stafett med Arduino, les artikkelen grensesnitt til Relay med Arduino og ESP32.

Et relé inneholder følgende kontrollpinner:

  • NC (Normalt lukket)
  • Com (Felles)
  • NEI (Normalt åpen)

Normalt lukket: Reléer i denne konfigurasjonen er lukket som standard. Strøm strømmer mellom felles og NC i en normal konfigurasjon, med mindre et utløsersignal avbryter strømstrømmen.

Felles: Kontroller hovedstrømmen (forsyningsspenning for ekstern enhet)

Normalt åpen: Normalt åpen konfigurasjon er motsatt av NC, ettersom i denne modusen ikke flyter som standard, flyter den bare etter at et trigger -signal er mottatt fra Arduino.

4: Relay Pinout

En dobbel kanal stafettpinout er:

PIN-kode PIN -navn Spesifikasjon
1 VCC Reléspoleforsyning
2 In2 Inngang for kanal 2
3 In1 Inngang for kanal 1
4 GND GND
5 NEI Normalt åpen
6 Felles Com terminal
7 NC Normalt lukket

Merk: Hvis du bruker et relé med mer enn en kanal, så husk å gjøre det kort JD VCC og VCC Pin med en kontakt (gul) som vist på bildet over.

5: grensesnitt IR -sensor med Arduino

For å bruke IR -mottakersensoren med en Arduino, et bibliotek som heter Irremote er påkrevd. Dette biblioteket kan lastes ned fra Arduino -nettstedet og lar Arduino avkode IR -signalene mottatt av sensoren. Når biblioteket er installert, kan det inkluderes i skissen (programmet) som lastes opp til Arduino.

Når IR -mottakersensoren er tilkoblet og skissen er lastet opp, kan Arduino begynne å motta og tolke signaler fra en IR -fjernkontroll. IR -signalene kan dekodes ved hjelp av en funksjon levert av Irremote -biblioteket, og de dekodede signalene kan deretter brukes til å kontrollere forskjellige enheter.

For eksempel kan et spesifikt IR -signal brukes til å slå en enhet av eller på, eller for å kontrollere lysstyrken eller temperaturen.

1: Skjematisk

Her er et grunnleggende skjema for å koble en IR -sensor til en Arduino:

IR -sensor Arduino
VCC (strøm) 5v
GND (bakken) GND
Ut (output) D8

2: Installere det nødvendige biblioteket

Det er flere IR -eksterne biblioteker tilgjengelig for Arduino, du kan bruke et av disse bibliotekene i henhold til ditt krav og IR -ekstern protokoll du bruker.

Vi installerer Irremote bibliotek av Arminjo:

6: Avkoding av en IR -fjernknapper

Før vi kan kontrollere et AC -apparat, må vi avkode IR -fjernkontrollen slik at vi kan definere den spesifikke sekskantverdien i Arduino -koden. At hex -verdien tilsvarer en IR -fjernknapp som vi kan slå på eller på apparatet.

Det er flere IR -fjernkontrakter tilgjengelig, for eksempel for TV -apparater, klimaanlegg og hjemmeautomatiseringssystemer. Ved å avkode en IR -fjernkontroll kan vi designe en universell fjernkontroll for alle disse apparatene.

For å avkode en IR -fjernkontroll, laste opp den nedenfor gitte koden og trykk på knappene på IR -fjernkontrollen, og følg deretter seriemonitoren til Arduino IDE. Eksempelskissen vil skrive ut IR -signalet i Hex Format og protokollen brukt.

1: Kode

Arduino UNO -styret kan programmeres ved å laste opp kode gjennom Arduino IDE:

#include /*Inkludert IR -eksternt bibliotek* /
Irrecv ir (8); /*D8 arduino pin definert*/
void setup ()
Ir.enableirin (); /*IR -kommunikasjon aktivert*/
Serie.Begynn (9600); /*Seriell baud rate definert*/

void loop ()
hvis (ir.dekode ()) / *IR ekstern bibliotekfunksjon for å avkode ekstern * /
Serie.Println (ir.Decodedirdata.dekodedrawdata, hex); /*Skriv ut hex -verdi*/
forsinkelse (1000);
Ir.gjenoppta (); /*Vent til neste inngang* /

Kode startet med å inkludere et IR -eksternt bibliotek. Etter det definerte vi Arduino Digital Pin som IR -signalet vil bli lest. Neste i oppsett () Del vi initialiserer IR -kommunikasjonen og baudfrekvensen er definert.

I Løkke() En del av koden Vi avkoder det mottatte IR -signalet i HEX -format som deretter skrives ut på Serial Monitor:

2: Output

Etter å ha lastet opp koden, trykket vi på tre knapper rød, grønn og blå på IR -fjernkontrollen:

Følgende Hex Kode oppnås for den røde, grønne og blå knappen på IDE -seriemonitoren:

IR Remote -knapp Hex -kode
Rød knapp 0xFB04EF00
Grønn knapp 0xfa05ef00
Blå knapp 0xF906EF00

Ved å definere disse hex -kodene i Arduino -programmet, kan vi angi hvilken som helst av IR -fjernknappene som en kontroll for AC -apparater og pærer. Her fortsetter vi med Red Button Hex -koden.

7: Kontrollere en AC -pære ved hjelp av IR -fjernkontroll og Arduino Uno

For å kontrollere en enhet med IR -fjernkontrollen, må du bruke den dekodede Hex Signaler i skissen din. For eksempel kan du bruke en If-Else uttalelse for å sjekke det dekodede signalet og slå av eller på en bestemt enhet.

1: Skjematisk

Det gitte bildet forklarer tilkoblingen til AC -pæren med Arduino og IR -mottaker:

AC pære & IR -sensor Arduino Pin
Pære D5
IR -sensor ut D8
Relépinne Arduino Pin
In2 D5
VCC Vin
GND GND
Com Ac (+ive)
NC2 AC (-IV)

2: Kode

Følgende er Arduino -koden for IR -fjernkontrollpæren, følgende kode kan lastes opp til Arduino UNO -styret gjennom Arduino IDE:

#include /*Inkluder IR -eksternt bibliotek* /
Irrecv ir (8); /*IR -pin definert*/
int stafett = 5; /*Relay Pin på Arduino for AC Relay (PIN D5)*/
bool stafett_state = 1; /*Reléstat*/
void setup ()
Ir.enableirin (); /*IR -kommunikasjon aktiverer*/
pinmode (relé, utgang); /*Relépinne satt som utgang*/
Serie.Begynn (9600);

void loop ()
hvis (ir.dekode ()) /*avkode IR -signal i hex -format* /
Serie.Println (ir.Decodedirdata.dekodedrawdata, hex);
/*Sjekk for IR -inngang*/
/*Relékode for vekselstrømspære*/
hvis (ir.Decodedirdata.DecodedRawData == 0xFB04EF00 && RELAY_STATE == 1)
DigitalWrite (Relay, High);
Serie.println ("pære på");
Relay_state = 0;

annet hvis (ir.Decodedirdata.DecodedRawData == 0xFB04EF00 && RELAY_STATE == 0)

digitalwrite (relé, lav);
Serie.println ("pære av");
Relay_state = 1;

Ir.gjenoppta ();

Kode startet med å inkludere et IR -eksternt bibliotek. Etter det definerte vi Arduino Digital Pin som IR -signalet vil bli lest. Neste en pinne for en vekselstrømpære er definert ved D5.

I oppsett () Del vi initialiserer IR -kommunikasjonen og baudfrekvensen er definert. Sammen med at en vekselstrømningspære er satt som utgang ved hjelp av pinmode () funksjon.

I Løkke() del av koden If-Else Tilstand brukes til vekselstrømpære. Du kan angi hvilken som helst av IR -fjernknappene ved å beskrive hex -verdien inne i koden.

IR Remote -knapp Hex -kode
Rød knapp 0xFB04EF00
Grønn knapp 0xfa05ef00
Blå knapp 0xF906EF00

Merk: Husk at dette er hex -koden for den eksterne vi bruker. Fjernkontrollen din kan ha en annen sekskantkode. Så bytt ut koden med hex -koden du fikk i seriemonitoren.

3: Output

Etter å ha lastet opp kode til Arduino -tavlen, vil du trykke på den røde knappen på IR -ekstern AC -pære glød etter å ha mottatt et signal fra reléet:

For å slå av AC -pæren, trykk bare på knappen igjen, da vi har brukt vekslingstilstanden i Arduino -koden:

Følgende er seriell terminalutgang:

Ved å bruke den samme metoden kan noen av AC -apparater kontrolleres med en relébryter og en IR -fjernkontroll.

8: Designe en smarttelefonbasert IR -fjernkontroll for AC -apparater ved bruk av Arduino Uno

Hvis smarttelefonen din har en IR -sensor, kan du designe en tilpasset fjernkontroll for å kontrollere enheter og apparater. Først må vi avkode den smarttelefonbaserte IR-fjernkontrollen ved hjelp av Arduino, du trenger en IR-mottakermodul og et Arduino-brett.

Ved å bruke ovennevnte kode kan vi enkelt avkode enhver IR -fjerntilstedeværelse i smarttelefoner og kan også designe en tilpasset en.

Følgende er noen eksempler på IR -fjerntliggende til stede i smarttelefoner:

Konklusjon

Oppsummert er avkoding av en IR-fjernkontroll med en Arduino-mikrokontroller en enkel og kostnadseffektiv måte å kontrollere forskjellige enheter. Ved å koble en IR -mottaker til Arduino, laste opp en skisse og avkode IR -signalene, kan du enkelt kontrollere AC -apparater og enheter som TV, klimaanlegg og hjemmeautomatiseringssystemer.