www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

IR receiver (RC5) v Bascom AVR z ATMega8
Pojdi na stran 1, 2  Naslednja
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Osnove programiranja AVR-jev
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
tilz0R
Član
Član



Pridružen-a: Čet 31 Maj 2012 15:39
Prispevkov: 898
Aktiv.: 5.65
Kraj: Črnomelj

PrispevekObjavljeno: Čet Jul 26, 2012 2:06 pm    Naslov sporočila:  IR receiver (RC5) v Bascom AVR z ATMega8 Odgovori s citatom

Zdravo!

Ker sem slabo podkovan za napredno tehnologijo v bascom-avr, sem za sprejem IR signala pregledal kar help ki ga bascom ponuja, in našel kodo:

Koda:

'-----------------------------------------------------------------------------------------
'name                     : rc5.bas
'copyright                : (c) 1995-2005, MCS Electronics
'purpose                  : based on Atmel AVR410 application note
'micro                    : 90S2313
'suited for demo          : yes
'commercial addon needed  : no
'-----------------------------------------------------------------------------------------
 
$regfile = "m8def.dat"                                   ' specify the used micro
$crystal = 1000000                                         ' used crystal frequency
$baud = 19200                                               ' use baud rate
$hwstack = 32                                               ' default use 32 for the hardware stack
$swstack = 10                                               ' default use 10 for the SW stack
$framesize = 40                                             ' default use 40 for the frame space
 
'use byte library for smaller code
$lib "mcsbyte.lbx"
 
Config Rc5 = Pind.2
 
'the interrupt routine is inserted automatic but we need to make it occur
'so enable the interrupts
Enable Interrupts
 
'reserve space for variables
Dim Address As Byte , Command As Byte
Print "Waiting for RC5..."
 
Do
'now check if a key on the remote is pressed
'Note that at startup all pins are set for INPUT
'so we dont set the direction here
'If the pins is used for other input just unremark the next line
'Config Pind.2 = Input
Getrc5(address , Command)
 
'we check for the TV address and that is 0
If Address = 0 Then
  'clear the toggle bit
  'the toggle bit toggles on each new received command
  'toggle bit is bit 7. Extended RC5 bit is in bit 6
   Command = Command And &B01111111
  Print Address ; "  " ; Command
End If
Loop
End


Shema, za priklop na ATMego je tukaj
Zadeva gre na INT0 pin na čipu.

IR sprejemnik je od LG hišnega kina (delujoč), daljinec je pa prav tako od tistega hišnega kina (za test uporabljeno, da je zagotovo usklajeno, oddajnik => sprejemnik).

Pač ko tisto kodo izvedem, dodal sem še kodo za lcd, da mi na njem izpiše "address" in "command", ampak sta obe VEDNO 255.

Uporabljam 1MHz quartz (interni). Sem pa nekje zasledil, da je zgornja koda namenjena 12MHz kristalu zunanjemu. Ali to drži, če dam 12MHz kristal, bi potem tole moralo delati?

Hvala za odgovor!

_________________
Knowledge sharing is caring.
majerle.eu | stm32f4-discovery.net


Nazadnje urejal/a tilz0R Čet Jul 26, 2012 2:29 pm; skupaj popravljeno 1 krat
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
MadMax
Član
Član



Pridružen-a: Pet 09 Sep 2005 22:16
Prispevkov: 4743
Aktiv.: 20.02

PrispevekObjavljeno: Čet Jul 26, 2012 2:22 pm    Naslov sporočila:   Odgovori s citatom

Citiram:
Uporabljam 1MHz quartz (interni). Sem pa nekje zasledil, da je zgornja koda namenjena 12MHz kristalu zunanjemu.

Kje si zasledil to o 12MHz?
Ti ukaz $crystal = 4000000 v programu kaj pomeni? Vsaj po ZKP?

Pa katero mego sploh imaš - in spet, $regfile = "2313def.dat" pove kaj?


Nazadnje urejal/a MadMax Čet Jul 26, 2012 2:25 pm; skupaj popravljeno 1 krat
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
tilz0R
Član
Član



Pridružen-a: Čet 31 Maj 2012 15:39
Prispevkov: 898
Aktiv.: 5.65
Kraj: Črnomelj

PrispevekObjavljeno: Čet Jul 26, 2012 2:26 pm    Naslov sporočila:   Odgovori s citatom

Se opravičujem za to, ampak sem ta program sedaj kopiral iz bascom helpa na internetu.

Torej, doma imam $crystal = 1000000, in pa $regfile = "m8def.dat"

prebral sem pa tukaj: http://www.svet-el.si/phpBB2/viewtopic.php?t=138&highlight=getrc5

_________________
Knowledge sharing is caring.
majerle.eu | stm32f4-discovery.net
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
MadMax
Član
Član



Pridružen-a: Pet 09 Sep 2005 22:16
Prispevkov: 4743
Aktiv.: 20.02

PrispevekObjavljeno: Čet Jul 26, 2012 2:29 pm    Naslov sporočila:   Odgovori s citatom

Lahko da je 1MHz prepočasno.
Sem ravno 2 dni nazaj razbijal glavo, ko sem iz Mega32 selil program za senzor vlage DHT11 na Mega8. V trenutku odčitavanja je zmrznil. Po povišanju takta na 8MHz je speljalo kot raketa.
Seveda ni dovolj le dodati kvarc, spremenit moraš še ustrezne fuse bite, kar verjetno že veš.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
tilz0R
Član
Član



Pridružen-a: Čet 31 Maj 2012 15:39
Prispevkov: 898
Aktiv.: 5.65
Kraj: Črnomelj

PrispevekObjavljeno: Čet Jul 26, 2012 2:31 pm    Naslov sporočila:   Odgovori s citatom

Sem popravil sedaj zgornjo kodo.

Aha, tako je to tudi res čist možno. Še dobro da kristali jutri pridejo Smile

Hvala ti za to Smile

_________________
Knowledge sharing is caring.
majerle.eu | stm32f4-discovery.net
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
MadMax
Član
Član



Pridružen-a: Pet 09 Sep 2005 22:16
Prispevkov: 4743
Aktiv.: 20.02

PrispevekObjavljeno: Čet Jul 26, 2012 2:46 pm    Naslov sporočila:   Odgovori s citatom

Nja, sicer pa, a si prepričan, da daljinec sploh uporablja RC5? Lahko je kaj drugega, RC5 ni edini. Če program ne izpiše nič (255) v kolikor ne razbere RC5...
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
tilz0R
Član
Član



Pridružen-a: Čet 31 Maj 2012 15:39
Prispevkov: 898
Aktiv.: 5.65
Kraj: Črnomelj

PrispevekObjavljeno: Čet Jul 26, 2012 2:52 pm    Naslov sporočila:   Odgovori s citatom

MadMax je napisal/a:
Nja, sicer pa, a si prepričan, da daljinec sploh uporablja RC5? Lahko je kaj drugega, RC5 ni edini. Če program ne izpiše nič (255) v kolikor ne razbere RC5...


piše že tako. upam da ne lažejo Smile

Sicer pa...našel sem tole spletno stran za preračun bitov. Mi lahko ti prosim nastaviš glede na moje potrebe, se pravi 12MHz, ker se ne razumem čist v to zadevo?

_________________
Knowledge sharing is caring.
majerle.eu | stm32f4-discovery.net
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
MadMax
Član
Član



Pridružen-a: Pet 09 Sep 2005 22:16
Prispevkov: 4743
Aktiv.: 20.02

PrispevekObjavljeno: Čet Jul 26, 2012 3:54 pm    Naslov sporočila:   Odgovori s citatom

Ext. crystal/resonator high freq. 16k ck + 64ms bi moral biti pomoje vredu.
Tu tudi sam nisem čisto doma, še zmeraj grem bolj po metodi poskušanja...
Mi je pa najenostavnje v AVR studiu najprej prebrat obstoječe stanje, potem pa spremenit samo kar rabim.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
stursc
Član
Član



Pridružen-a: Tor 08 Jun 2004 14:29
Prispevkov: 323
Aktiv.: 1.36

PrispevekObjavljeno: Čet Jul 26, 2012 8:12 pm    Naslov sporočila:   Odgovori s citatom

RC5 koda lepo deluje na notrnji oscilator
Preiskušeno vsaj na petih AVR-jih (Tiny13, 2313 in Mega8, 16,32)



LP, stursc
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
tilz0R
Član
Član



Pridružen-a: Čet 31 Maj 2012 15:39
Prispevkov: 898
Aktiv.: 5.65
Kraj: Črnomelj

PrispevekObjavljeno: Čet Jul 26, 2012 8:25 pm    Naslov sporočila:   Odgovori s citatom

Se pravi, da je lahko problem samo v tem, da daljinec ne oddaja RC5.

Če torej razdrem daljinec in uporabim tisto IR diodo, ki jo vsebuje, in s čipom ATMega8 oddajam signal preko "RC5SEND".
Nato v drugi ATMegi8 sprejemam ta signal z IR sprejemnikom, ki je bil prav tako v hišnem kinu, z ukazom "GETRC5".

Ali bi potem zadeva delovala ?

_________________
Knowledge sharing is caring.
majerle.eu | stm32f4-discovery.net
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.94
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Čet Jul 26, 2012 10:54 pm    Naslov sporočila:   Odgovori s citatom

RC5 je protokol. IR dioda nima nič skupnega z njim.
_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
bolha95
Član
Član



Pridružen-a: Pet 14 Dec 2007 21:33
Prispevkov: 296
Aktiv.: 1.39
Kraj: Križe / Tržič

PrispevekObjavljeno: Pet Jul 27, 2012 7:10 am    Naslov sporočila:   Odgovori s citatom

tilz0R je napisal/a:
Se pravi, da je lahko problem samo v tem, da daljinec ne oddaja RC5.


Jaz imam LG TV (42LW650), pa mi daljinec pošilja NEC kodo. Kako sem ugotovil? Sprejemno diodo sem priklopil na osciloskop.

_________________
LP,
Robi
Kjer se znanje konča, se domišljija začne
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Highlag
Član
Član



Pridružen-a: Pet 23 Jan 2004 20:42
Prispevkov: 4034
Aktiv.: 17.03
Kraj: Črnuče

PrispevekObjavljeno: Pet Jul 27, 2012 8:04 am    Naslov sporočila:   Odgovori s citatom

Za uspešen prenos potrebuješ IR diodo in sprejemnik, ki delujeta na enaki valovni dolžini svetlobe, ter enaki nosilni frekvenci. Potem se ti lahko pripeti še to, da je izhod sprejemnika invertiran.
_________________
If at first you don't succeed, destroy all evidence that you tried.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
ssdzkrez
Član
Član



Pridružen-a: Sre 12 Jan 2011 15:13
Prispevkov: 401
Aktiv.: 2.28
Kraj: Hrastnik

PrispevekObjavljeno: Pet Jul 27, 2012 12:19 pm    Naslov sporočila:   Odgovori s citatom

Poizkusi še s kakšnim drugim daljincem. Ko sem se pred časom igral z bascomom in RC5 sem imel doma 3 philipsove daljince in vsi so delali na RC5 protokolu.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
tilz0R
Član
Član



Pridružen-a: Čet 31 Maj 2012 15:39
Prispevkov: 898
Aktiv.: 5.65
Kraj: Črnomelj

PrispevekObjavljeno: Pet Jul 27, 2012 12:32 pm    Naslov sporočila:   Odgovori s citatom

Nekje sem zasledil, da gorenje uporablja RC5 protokol. Če je to res, potem bi daljinec od klime lahko deloval, bom poizkusil Smile

Edit:
Našel sem shemo za oddajnik RC5 kode za ATMego8:

"IN" se priključi na OC1A pin ATMege.

Ali je to pravilna shema priključitve?

Koda za oddajnik:
Koda:

$regfile = "m8def.dat"                                 
$crystal = 1000000                                         
$baud = 19200                                               
$hwstack = 32                                               
$swstack = 10                                             
$framesize = 40                                           
 
Dim Togbit As Byte , Command As Byte , Address As Byte
 
Command = 12                                               ' power on off
Togbit = 0                                                 ' make it 0 or 32 to set the toggle bit
Address = 0
Do
    Waitms 500
    Rc5send Togbit , Address , Command
Loop
End


PS: Koda za sprejemnik je na začetku teme, spodaj je prikazana shema za sprejemnik RC5 kode (vsaka zadeva na svoji ATMegi), priključen na INT0 pin uC-ja.

_________________
Knowledge sharing is caring.
majerle.eu | stm32f4-discovery.net
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Osnove programiranja AVR-jev Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran 1, 2  Naslednja
Stran 1 od 2

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 493 dni


Powered by phpBB © 2001, 2005 phpBB Group