Denne artikkelen dekker:
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:
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.