*/ ?>

Uvod

Infracrvena svijetlost je najsličnija vidljivom svjetlost samo malo veće valne duljine, dovoljno da bude nevidljiva ljudskom oku i kao takva sjajna za komunikaciju elektroničkih uređaja. Uvjerljivo najpoznatija je frekvencije 38kHz koju IC dioda emitira kada pritisnemo tipku TV daljinskog. Ovaj tutorijal prvo će objasniti princip IC komunikacije, a zatim se baciti na spajanje i Arduino programiranje. Karakteristike daljinskog upravljača: Baterija: CR2025 / 160mAh (dolazi s daljinskim) Broj tipki: 21 Frekvencija: 38kHz Encoding: NEC format, upd6122 shema, korisnički kod 00FF Valna duljina: 940Nm Dimenzije: 86 x 40 x 6mm

Osnova komunikacije

Kao što smo već spomenuli osnovna fora s IC komunikacijom je 38kHz modulacija. Razlog je što postoji vrlo malo prirodnih izvora ovog signala, tako da će se IC odašiljač bez problema probiti kroz IC zračenja u okolišu. Iako je najčešća, 38kHz nije i jedina frekvencija koja se koristi za ovu komunikaciju. Više o IC svjetlosti možete pročitati u ovom tutorialu. Prilikom pritiska tipke na daljinskom IC dioda će djelić sekunde blicati vrlo brzo i na taj način poslati enkriptirane podatke prijemniku. Dakle, kontroliranjem razmaka između pulseva jednog poslanog signala mijenjamo naredbu. Ispod se nalazi gif slika slanja jednog takvog signala. Za gif je zadužan sbproject.com. S druge strane komunikacije nalazi se IC prijemnik. Uobičajeni je TSOP382 koji najbolje radi upravo s 38kHz frekvencijom. Prijemnik prima odaslanu modulaciju i proslijeđuje je mikrokontroleru. Za početnički tutorial dovoljno.

Kako povezati?

Upoozorenje: provjerite pin-out vašeg prijemnika.

Arduino kod

Za interpretaciju primljenog signala koristit ćemo odličan Arduino bibloteku pomoću koje vrlo jednostavno šaljemo i primamo signal. S obzirom da imamo predprogramirani daljinski, ovaj puta ćemo samo primati signal. No prije idemo rješiti dvije stvari: 1. Arduino biblioteku možete instalirati prema tutorialu 2. Potrebno je obrisati folder RobotIRremote iz C:\Program Files (x86)\Arduino\libraries Nakon što uploadamo kod ispod na Croduino pločicu, otvorite Serial Monitor i s nekim daljinskim šaljite i čitajte kodove koje primate.
#include 

int RECV_PIN = 2;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); 
}

void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX);
    irrecv.resume(); 
  }
  delay(100);
}

Što dalje?

Kao i uvijek, pitamo vas što dalje. Šaljite nam svoje primjere i komentare. Mala pomoć za početak: isprogramirati ćemo Croduino tako da pri primitku tipka "0" ugasi LEDicu na 13tom pinu Croduina odnosno upali prilikom pritiska tipke "1".
#include 

int RECV_PIN = 11;
int LED = 13;

unsigned int tipka_0 = 0xFF6897; // HEX kod tipke 0 na daljinskom
unsigned int tipka_1 = 0xFF30CF;

unsigned int hash = 0;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
  irrecv.enableIRIn(); 
}

void loop() {
  if (irrecv.decode(&results)) {
    hash = results.value; // spremamo očitanje s daljinskog
    irrecv.resume(); 
  }
  // uvjeti za željene modulacije
  if (hash == tipka_0) digitalWrite(LED, LOW);
  else if (hash == tipka_1) digitalWrite(LED, HIGH);
  delay(100);
}

Kupovina poklona nije laka stvar. Znamo to svi. Definitivno je puno lakše kada imamo pomoć i sigurniji smo se da će poklon svidjeti osobi kojoj ga želimo dati. Zbog toga se posavjetujte s nama o obradujte svoje najbliže dobrim izborom!