Avkode enhver IR -fjernkontroll ved hjelp av IR -mottaker og Arduino Uno

Avkode enhver IR -fjernkontroll ved hjelp av IR -mottaker og Arduino Uno
Arduino Uno med IR -mottaker er en populær kombinasjon for å bygge IR -fjernkontrollprosjekter. IR -mottakeren er en enhet som kan oppdage og motta infrarøde signaler, sammen, Arduino UNO og IR -mottakeren kan brukes til å lage prosjekter som kan kontrolleres av en håndholdt IR -fjernkontroll eller annen IR -sender.

Denne artikkelen dekker:

  • 1: Introduksjon til IR -sensor
  • 2: IR Sensor Pinout
  • 3: grensesnitt IR -sensor med Arduino
  • 3.1: Skjematisk
  • 3.2: Installere det nødvendige biblioteket
  • 4: Avkoding av en IR -fjernknapper
  • 4.1: Kode
  • 4.2: Output
  • 5: Kontrollerende LED med IR -fjernkontroll
  • 5.1: Skjematisk
  • 5.2: Kode
  • 5.3: Output
  • 6: Avkoding av en smarttelefonbasert IR -fjernkontroll ved hjelp av Arduino
  • Konklusjon

1: Introduksjon til IR -sensor

En IR -mottaker er en enhet som kan oppdage og motta infrarøde (IR) signaler. Det brukes vanligvis i IR -fjernkontrollsystemer for å motta kommandoer fra en håndholdt fjernkontroll eller annen IR -sender. IR -mottakeren består av en fotodiode eller annen IR -sensitiv komponent som oppdager IR -signalene og en demodulatorkrets som avkoder signalene.

Utgangen fra IR -mottakeren er vanligvis et digitalt signal som kan behandles av en mikrokontroller eller annen elektronisk enhet.

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: 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

Det er viktig å merke seg at forskjellige IR -sensorer kan ha forskjellige pinouts og spenninger, så det er viktig å sjekke databladet for den spesifikke sensoren du bruker.

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.

4: Avkoding av en IR -fjernknapper

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 som brukes.

Pakk ut nøkkelkodene til IR -fjernknappene du vil bruke i prosjektet. Ved å bruke disse nøkkelkodene og Irremote -bibliotekfunksjonene kan vi kontrollere de ønskede handlingene når de tilsvarende knappene trykkes på IR -fjernkontrollen.

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 sekskantkode 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

Å bruke den samme koden hvilken som helst av IR -fjernkontrollen kan dekodes.

5: Kontrollerende LED med IR -fjernkontroll

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. Du kan også bruke de dekodede signalene for å kontrollere lysstyrken eller temperaturen på en enhet.

1: Skjematisk

Det gitte bildet forklarer tilkoblingen mellom lysdioder med Arduino og IR -mottaker.

LED & IR -sensor Arduino Pin
Rød LED D5
IR -sensor ut D8

2: Kode

Følgende er Arduino -koden for IR -fjernkontrolls lysdioder. Koden kan lastes opp til Arduino UNO -styret ved å åpne Arduino IDE.

#include /*Inkluder IR -eksternt bibliotek* /
Irrecv ir (8); /*IR -pin definert*/
int rød = 5; /*Rød ledet ved pinne d5*/
bool red_state = 1; /*Rød LED -tilstand*/
void setup ()
Ir.enableirin (); /*IR -kommunikasjon aktiverer*/
pinmode (rød, utgang); /*Rød LED -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*/
/*Rød LED -kode*/
hvis (ir.Decodedirdata.DecodedRawData == 0xFB04EF00 && Red_State == 1)
digitalwrite (rød, høy);
Serie.println ("rød ledet på");
Red_state = 0;

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

digitalwrite (rød, lav);
Serie.println ("rød ledet");
Red_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 rød LED er definert.

I oppsett () Del vi initialiserer IR -kommunikasjonen og baudfrekvensen er definert. Sammen med den LED -pinnen settes som utgang ved bruk av pinmode () funksjon.

I Løkke() del av koden If-Else Tilstand brukes til rød LED. 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, trykk på den røde knappen og LED vil gløde.

For å slå av LED -en, trykk bare på knappen igjen, da vi har brukt vekslingstilstanden i Arduino -koden.

Ved å bruke den samme metoden kan vi kontrollere AC -apparater ved å erstatte LED med en relébryter.

6: Avkoding av en smarttelefonbasert IR -fjernkontroll ved hjelp av Arduino

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, 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å bilder av IR -ekstern 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 enheter som TV, klimaanlegg og hjemmeautomatiseringssystemer.