Ir kontrola

Rasprava o PIC mikrokontrolerima, PIC projekti i drugo vezano za PIC-eve...

Moderators: pedja089, stojke369, [eDo], trax

Post Reply
pametnjakovic
Posts: 22
Joined: 18-12-2009, 21:21

Ir kontrola

Post by pametnjakovic »

kako sa mikrokontrolerom prepoznati signal koji salje npr: daljinac....
pratio sam temu traxov ir dimmer.hex al tamo se vise obracalo paznje na regulaciju osvjetljenja
a meni treba samo dekodiranje signala

thx....
VFDisplay
Odlično uznapredovao
Odlično uznapredovao
Posts: 515
Joined: 01-08-2009, 20:18

Re: Ir kontrola

Post by VFDisplay »

nisi jedini koga to zanima....
Pročitao sam negdje na netu da daljinski od nekog uređaja podatke šalje u 7bitnom binarnom kodu,to je jedino što znam

Usput u kojem te programskom jeziku ćeš pisati program za to jer mene zanima primjer u picbasic-u?
pametnjakovic
Posts: 22
Joined: 18-12-2009, 21:21

Re: Ir kontrola

Post by pametnjakovic »

nije vazno
moze MCS

microC

microBasic

samo da nije u assambleru
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7876
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: Ir kontrola

Post by pedja089 »

Sta fali asembleru?
Imas na sajtu dosta o protokolima koji se koriste, rc5,nec itd...
User avatar
Elektronicar
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 467
Joined: 19-01-2008, 17:05
Location: Balkan

Re: Ir kontrola

Post by Elektronicar »

Ovo je dovoljno za pocetak.

http://www.sbprojects.com/knowledge/ir/rc5.htm" onclick="window.open(this.href);return false;
vukboban
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 212
Joined: 05-12-2008, 17:49
Location: Pancevo

Re: Ir kontrola

Post by vukboban »

ajde da probam da ti malo objasnim,jer sam se i sam igrao sa tim dekodiranjem:
Pogledaj recimo ovaj RC5 protokol sto ti je elektronicar dao link.
Imas 2 start bita,1 togle bit,i onda imas 5 bitova adrese i 6 bitova komande.
Kad je bit na log 1 onda imas 889us bez signala,pa 889us signal .Kod log 0 je obrnuto.
Princip je da ti u programu cekas u petlji da signal sa tsopa(ili nekog drugog IR prijemnika) padne na log 0.
TSOP invertuje signal,tako da kad nema signala na ulazu,on na izlazu drzi log 1.
Kada padne na nulu,znas da je primio neki signal na ulazu.
Cim primis signal stavljas pauzu od 1778us.Onda gledas sta je na ulazu.Ako je log 1 onda je i taj bit bio 1.
Ako je log 0 ,onda je i taj bit bio 0.
Ja kad sam primao kod za RC5 uvek sam preskakao ta prva 3 bita,preskakao sam i 5 bitova adrese,samo sam pratio onih 6 bitova komande.
Znaci dobijes prvi put signal na ulazu,pravis pauzu od 8 puta 1778us (preskocis prvih 8 bitova) i onda ovih 6 stavljas u neku promenljivu.
Nadam se da ti je jasnije.
pametnjakovic
Posts: 22
Joined: 18-12-2009, 21:21

Re: Ir kontrola

Post by pametnjakovic »

sad je malo jasnije

al ako bi mogao staviti neki primer

hvala
vukboban
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 212
Joined: 05-12-2008, 17:49
Location: Pancevo

Re: Ir kontrola

Post by vukboban »

ja pisem u mikroC,ako ti ovo nesto znaci:

while(PORTA.F0)
for(i=0;i<8;i++) {
Delay_us(1778);
}
for(i=0;i<6,i++) {
if(PORTA.F0) x=x*2;
else x=x*2+1;
Delay_us(1778);
}

na kraju dobijas x koji je 6to bitni broj,i odgovara sestobitnom kodu naredbe sa TSOPa
Naravno,izlaz sa TSOPa je vezan na PORTA.F0

Ima i varijanta da se namesti timer na 1778us,pa da koristis interapt,tako da program moze da radi nesto drugo,a ti ovu promenljivu x menjas u interaptu kad god ti timer prebaci(overflow).
pametnjakovic
Posts: 22
Joined: 18-12-2009, 21:21

Re: Ir kontrola

Post by pametnjakovic »

zasto je

x=x*2

a
zasto

x=x*2+1

samo to nije jasno odakle se to dobije zasta sluzi
zasto x ima bas taj izraz
vukboban
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 212
Joined: 05-12-2008, 17:49
Location: Pancevo

Re: Ir kontrola

Post by vukboban »

na pocetku x ti je nula ili binarno x=000000.
kad primas prvi bit,ako je tsop na log1 to znaci da je taj bit nula,tako da je x=x*2=0*2 to jest nula.
ako je tsop na log 0 znaci da je taj bit bio jedan,pa je onda x=x*2+1,odnosno x=0*2+1=1.ili binarno x=000001
kod sledeceg bita(recimo da je prvi bio 1) imas slucaj da ako je tsop na 0 (drugi bit je 1) onda je x=1*2=2,ili binarno 000010.
u slucaju da je drugi bit isto log1 onda je x=x*2+1,odnosno 1*2+1=3 ili binarno 000011
tako za svih 6 bitova.
Znaci da x moze da bude od 0 do 63 u zavisnosti koji mu kod salje daljinski.(Mislim da bas ne moze da bude 0,jer ne verujem da daljinski salje kod naredbe 000000)
Post Reply