Podržite http://amicus.ba malom donacijom

ponedjeljak 23 Juli 2018

Ocjene članaka: 0 ( 5 glasova)

Zvjezdica neaktivnaZvjezdica neaktivnaZvjezdica neaktivnaZvjezdica neaktivnaZvjezdica neaktivna
 

Arduino može služiti i kao IR transmitter odnosno daljinski upravljač. To je vrlo popularan trik - kontrola TV-a na javnim mjestima :)

Za to je potrebna IR dioda (IR predajnik - IR transmitter) i lista IR kôdova za upravljanje uređajem.

Na slici ispod je primjer Arduino IR daljinskog koji, nakon pritiska na tipku, šalje MUTE signal za LG LCD TV 32LK330.

Arduino IR daljinski

Pritiskom na tipku, Arduino šalje unaprijed podešeni IR kod koji IR dioda emituje i time vrši upravljanje uređajem.

Normalno, da bi sve funkcionisalo, IR dioda treba uperiti prema uređaju.

Ispod je kôd sketch-a koji vrši slanje MUTE IR signala za LG LCD TV nakon pritiska na dugme (kopirajte kompletan kôd ispod u Arduino IDE prozor i upload-ujte ga na Arduino) :

/*
 * SLANJE JEDNOG IR KODA PRITISKOM NA DUGME
 *
 * Autor: Samir Gutić
 * URL: http://amicus.ba
 * Datum: 4. II 2017.
 */
 
#include <IRremote.h>
#include <IRremoteInt.h>
#include <Bounce2.h>

#define PinDugmeta 4
#define PinLED 13
int intStanjeLED = LOW;

//Kreiranje instance Bounce objekta
Bounce bOdskakanje = Bounce();

IRsend irsend;

void setup()
{
  //Kreiranje dugmeta sa internim pull-up otpornikom
  pinMode(PinDugmeta,INPUT_PULLUP);
 
  //Kreiranje Bounce instance
  bOdskakanje.attach(PinDugmeta);
  bOdskakanje.interval(100); //Interval odskakanja dugmeta
 
  //Definisati LED
  pinMode(PinLED,OUTPUT);
  digitalWrite(PinLED,intStanjeLED);
 
  Serial.begin(9600);
}

void loop()
{
  if (intStanjeLED==1)
  {
      //Slanje priljenog IR koda
      irsend.sendNEC(0x20DF906F, 32);//MUTE
      delay(500);
      intStanjeLED=0;
      digitalWrite(PinLED,intStanjeLED);
  }

  //Update Bounce instancu
  bOdskakanje.update();
   
  //Izvršavanje koda kada Bounce pada (prijelaz sa HIGH na LOW)
  if (bOdskakanje.fell())
  {  
     //Promijeni (toggle) stanje LED
     intStanjeLED = !intStanjeLED;
     digitalWrite(PinLED,intStanjeLED);  
     Serial.print("intStanjeLED=");
     Serial.println(intStanjeLED);
  }
}

U tabeli ispod su IR kodovi za neke daljinske upravljače:

LG autoradio

LG TV 32LK330

CarMP3 daljinski

Komanda

HEX kôd

Komanda

HEX kôd

Komanda

HEX kôd

Audio

34347887

 

POWER

20DF10EF

 

CH-

FFA25D

SEL

343455AA

 

Volume UP

20DF40BF

 

CH

FF629D

UP

3434E817

 

Volume DOWN

20DFC03F

 

CH+

FFE21D

SRC

343433CC

 

CH+

20DF00FF

 

II<<

FF22DD

#

3434748B

 

CH-

20DF807F

 

>>II

FF02FD

DOWN

34346897

 

Mute

20DF906F

 

>II

FFC23D

1

3434827D

   

-

FFE01F

2

343442BD

   

+

FFA857

3

3434C23D

   

EQ

FF906F

4

343422DD

   

0

FF6897

5

3434A25D

   

100+

FF9867

6

3434629D

   

200+

FFB04F

7

3434E21D

   

1

FF30CF

8

343412ED

   

2

FF18E7

9

3434926D

   

3

FF7A85

ENTER

34349A65

   

4

FF10EF

0

34349A65

   

5

FF38C7

DISP

3434C53A

   

6

FF5AA5

   

7

FF42BD

   

8

FF4AB5

   

9

FF52AD

Arduino IR diodi šalje heksadecimani kôd, koji inače šalje daljinski što uređaj interpretira kao komandu svojeg daljinskog upravljača.

Šema spoja elemenata kreirana u Fritzing programu je na slici ispod.

Arduino IR daljinski - breadboard

Kao što se vidi sa šeme iznad, plus pol IR diode je, preko otpornika R=220Ω spojen na pin 5.

Električna šema spoja je na sljedećoj slici.

Arduino IR daljinski - električna šema

Ispod je video koji prikazuje kako funkcioniše slanje IR koda putem IR diode. Obratite pažnju na kratak bljesak IR diode (do tipke) nakon pritiska na tipku.

Napomena: Ljudsko oko nije u stanju detektovati infracrvenu svjetlost pa je, za provjeru da li IR dioda uopšte emituje, tokom pritiska na tipku IR diodu potrebno gledati kroz kameru mobitela.

Potrebne komponente:

1 x Arduino UNO

1 x Breadboard (mala)

1 x IR dioda (940nm)

1 x otpornik 220Ω

1 x otpornik 10KΩ

1 x tipka (NO)

Žice za spajanje

9V napajanje

Dodaj komentar

Komentari odražavaju stavove svojih autora a NE stavove http://amicus.ba. Možete slobodno izraziti svoje mišljenje o članku koji komentarišete ili o komentarima drugih sve dok su vaš komentari u granicama uljudnosti. Uvredljivi, vulgarni, rasistički, nacionalistički i ostali opšte neprihvatljivi komentari će biti izbrisani! Ako imate neku sugestiju, prijedlog ili primjedbu ovo je dobro mjesto da je iznesete.

Svaki komentar će pregledati administrator.


Sigurnosni kod
Refreširaj

Amicus copyright 2018