Infra jelek dekódolása
Nem kell köszi
Csak hobbizok egyenlőre, de ha ez elkészül akkor valószínű hogy nem csak egy kell belőle. Az édesapámnak kellenek ezek a kütyük majd, ezért szeretném ha minnél olcsóbban kijönne és ha már kész van a progi hozzá kicsit több időráfordítással (már eddigis eleget szenvedtem vele
) akkor ha esetleg kell egy pár hónap múlva, akkor csak megvesszük az olcsóbb alkatrészeket és csak beleégetem.
Egyépként pontosan hogy érted hogy ha fejlesző kell szólhatsz-e?
Csak hobbizok egyenlőre, de ha ez elkészül akkor valószínű hogy nem csak egy kell belőle. Az édesapámnak kellenek ezek a kütyük majd, ezért szeretném ha minnél olcsóbban kijönne és ha már kész van a progi hozzá kicsit több időráfordítással (már eddigis eleget szenvedtem vele
Egyépként pontosan hogy érted hogy ha fejlesző kell szólhatsz-e?
Sziasztok megint.
Tegnap böngézgettem a Bascom súgóját és találtam egy
PULSEIN var , PINX , PIN , STATE
és egy
PULSEOUT PORT , PIN , PERIOD
parancstestvériséget.
Irtam is gyorsan egy kis próbát a help alapján
Ez ad is vissza (többé kevésbé, olyan 60% os hibaszázallékkal) azonos számsorokat azonos gombra, minden távirányítóval, viszont fogalmam sincs hogy miez. Lehet hogy vakvágány, de a többi kód közül egyik se vesz értelmes jelet az itthon levő 8 távorányítóból egyből se.
Szal ha valaki elmagyarázná, hogy ez milyen jelet is vesz, vagy mire való ez a kis kódsor, megköszönném.
aztán csak remélem hogy idetartozik a kérdés
Tegnap böngézgettem a Bascom súgóját és találtam egy
PULSEIN var , PINX , PIN , STATE
és egy
PULSEOUT PORT , PIN , PERIOD
parancstestvériséget.
Irtam is gyorsan egy kis próbát a help alapján
Kód: Egész kijelölése
$regfile = "m16def.dat"
$crystal = 4000000
$baud = 19200
Dim W As Word
Do
Pulsein W , Pind , 2 , 0 'detect time from 0 to 1
If W > 0 Then Print W
Loop
End
Szal ha valaki elmagyarázná, hogy ez milyen jelet is vesz, vagy mire való ez a kis kódsor, megköszönném.
aztán csak remélem hogy idetartozik a kérdés
Ez „Pulsein W , Pind , 2 , 0” nem tudja venni az RC5-ös jelsorozatot!
Mert nem ismeri a pontos időzítéseket, és az adatfolyam protokollját!
RC5-röl leírást itt találsz: http://home.arcor.de/parabol60/index.htm?rc5.htm
Vagy itt: http://users.telenet.be/davshomepage/rc5.htm
Keres Phillips TV kódot 1 programozható távszabályzón. Azzal mennie kel hibátlanul!

Mert nem ismeri a pontos időzítéseket, és az adatfolyam protokollját!
RC5-röl leírást itt találsz: http://home.arcor.de/parabol60/index.htm?rc5.htm
Vagy itt: http://users.telenet.be/davshomepage/rc5.htm
Keres Phillips TV kódot 1 programozható távszabályzón. Azzal mennie kel hibátlanul!
a rengeteg távirányíróta a Getrc5 egyáltalán nem reagál.
pár pl.
eddig ezzel volt vezérelve az okosház laptopra irva, Lirc vel vagy winlirc el, mikor milyen zászlós, vagy pingvines kedvem volt
Felső rész a villanyokat miegymás, az alsó rész a multimédiát igazgatta.
Használtam még ezzel de ezt tunerkarival eladni kényszerültem.
Ittvan jópár féle kódkiosztás nem tudom hogy ez segít e a hozzáértőknek. Ezekből azt gyanítom hogy az RC5 nem is olyan elterjedt dolog home berkekben
Szóval a konkrét bajom hogy már csak ez hiányzik az okosházhoz, hogy működjön, és kezd kellemetlen lenni hogy még me kell ruházzak távirányítóra... Van egy 300 Ft os univerem, ami kölcsön van adva, de mi kor itt volt az se nagyon értette meg magát a getrc5 el, nem beszélve arról hogy a gombkiosztása is kedvezőtlenebb.
Jahm fentebb az LIRC linkekhez kérdés is tartozna. azok alapján esetleg tudnátok segíteni akár Robert kódját módosítani az én paramétereimhez?
(4 mhz kristály).
Az a kód mutatott életjelet csak (igaz random számokkal) és a pulsein, de akkor ez utóbbit megintcsak elvetjük ugyebár.
és persze köszi a választ
[/url]
pár pl.
eddig ezzel volt vezérelve az okosház laptopra irva, Lirc vel vagy winlirc el, mikor milyen zászlós, vagy pingvines kedvem volt
Felső rész a villanyokat miegymás, az alsó rész a multimédiát igazgatta.
Használtam még ezzel de ezt tunerkarival eladni kényszerültem.
Ittvan jópár féle kódkiosztás nem tudom hogy ez segít e a hozzáértőknek. Ezekből azt gyanítom hogy az RC5 nem is olyan elterjedt dolog home berkekben
Szóval a konkrét bajom hogy már csak ez hiányzik az okosházhoz, hogy működjön, és kezd kellemetlen lenni hogy még me kell ruházzak távirányítóra... Van egy 300 Ft os univerem, ami kölcsön van adva, de mi kor itt volt az se nagyon értette meg magát a getrc5 el, nem beszélve arról hogy a gombkiosztása is kedvezőtlenebb.
Jahm fentebb az LIRC linkekhez kérdés is tartozna. azok alapján esetleg tudnátok segíteni akár Robert kódját módosítani az én paramétereimhez?
(4 mhz kristály).
Az a kód mutatott életjelet csak (igaz random számokkal) és a pulsein, de akkor ez utóbbit megintcsak elvetjük ugyebár.
és persze köszi a választ
Szerintem nem jó oldalról állsz hozzá a témához!
Itt nem az elterjedtség a mérvadó, hogy mit használsz!
Amelyiknek a kódrendszere üzleti titoknak minősül azt nem lehet leszimulálni!
Mivel nem találsz hozzá dokumentációt! Ezért kénytelenek vagyunk azt a kódrendszert használni, amelyiknek megvan a pontos dokumentációja. És könnyebb 1 megfelelő távszabályzót szerezni, mint megírni 1 másik rendszerre az időzítéseket.
Csak Berakod a programod elejére, hogy milyen Kavicsot használsz. Majd a Bascom kiszámolja hozzá az RC5-ös időzítéseket.
Itt nem az elterjedtség a mérvadó, hogy mit használsz!
Amelyiknek a kódrendszere üzleti titoknak minősül azt nem lehet leszimulálni!
Mivel nem találsz hozzá dokumentációt! Ezért kénytelenek vagyunk azt a kódrendszert használni, amelyiknek megvan a pontos dokumentációja. És könnyebb 1 megfelelő távszabályzót szerezni, mint megírni 1 másik rendszerre az időzítéseket.
Csak Berakod a programod elejére, hogy milyen Kavicsot használsz. Majd a Bascom kiszámolja hozzá az RC5-ös időzítéseket.
Áhhá .. Értem. Akkor nincs mese keresek olcsó és jó univerzális távirányítót, legalább akkor a későbbiekben minden szoba tud kapni egyet és nem kell hurcibászni.
Megfordult a fejemben hogy csinálok saját távirányítőt egy kissebb avr el, de úgy többe kerül a hús mint a leves, viszont úgy mindenképp sajátigények szerinti lenne... Na talán majd a 10 éves upgrédnél
Mellékesen az lirc honlapján amit fentebb adtam linket van RC8 is
Köszönöm a segítséget mégegyszer
Megfordult a fejemben hogy csinálok saját távirányítőt egy kissebb avr el, de úgy többe kerül a hús mint a leves, viszont úgy mindenképp sajátigények szerinti lenne... Na talán majd a 10 éves upgrédnél
Mellékesen az lirc honlapján amit fentebb adtam linket van RC8 is
Köszönöm a segítséget mégegyszer
Karcsúsítottam picit.
Eldobtam az első pár bitet az úgysem volt lényeges így belefért Long-ba.
Tudom jól teleraktam a megszaítási rutint, de megy.
Dim Capdb As Byte 'megszakítás db szám
Dim Kod As Long '4 Byte-on tárolt kód
Dim B As Byte
Config Timer1 = Timer , Prescale = 256 , Capture Edge = Falling
On Capture1 Captmr
Enable Interrupts
Enable Capture1
Capdb = 1
Do
If Capdb = 49 Then
Disable Capture1
Cls
Lcd Kod
Incr Capdb
Enable Capture1
End If
Loop
Captmr:
If Capture1 > 100 Then 'szép nagy indítójel észlelése
Capdb = 0
Kod = 0
End If
If Capdb > 49 Then Return
If Capture1 > 40 And Capdb > 16 Then
B = Capdb - 17
Toggle Kod.b
End If
Incr Capdb
Timer1 = 0
Return
Eldobtam az első pár bitet az úgysem volt lényeges így belefért Long-ba.
Tudom jól teleraktam a megszaítási rutint, de megy.
Dim Capdb As Byte 'megszakítás db szám
Dim Kod As Long '4 Byte-on tárolt kód
Dim B As Byte
Config Timer1 = Timer , Prescale = 256 , Capture Edge = Falling
On Capture1 Captmr
Enable Interrupts
Enable Capture1
Capdb = 1
Do
If Capdb = 49 Then
Disable Capture1
Cls
Lcd Kod
Incr Capdb
Enable Capture1
End If
Loop
Captmr:
If Capture1 > 100 Then 'szép nagy indítójel észlelése
Capdb = 0
Kod = 0
End If
If Capdb > 49 Then Return
If Capture1 > 40 And Capdb > 16 Then
B = Capdb - 17
Toggle Kod.b
End If
Incr Capdb
Timer1 = 0
Return
Üdv!
A programod egyik szépséghibája, hogy 2db. „Return” utasítás van a megszakítás rutinban!
Ami elvileg nem megengedet! Mert a fordító csak az egyiket fordítja helyesen „Reti-nek”!
A másik csak „Ret” lesz. És megszakítási problémákat fog okozni.
Bascom help: Assembler mnemonics ->
RET Subroutine Return PC = STACK None 4
RETI Interrupt Return PC = STACK I 4

A programod egyik szépséghibája, hogy 2db. „Return” utasítás van a megszakítás rutinban!
Ami elvileg nem megengedet! Mert a fordító csak az egyiket fordítja helyesen „Reti-nek”!
A másik csak „Ret” lesz. És megszakítási problémákat fog okozni.
Bascom help: Assembler mnemonics ->
RET Subroutine Return PC = STACK None 4
RETI Interrupt Return PC = STACK I 4
Valamint szintén hiba, hogy az első bejegyzésem eltűnt miután módosítottam benne .
Így a karcsúsítottam sem értelmes mert ugye mit??
Mondjuk gyanús is volt mert lefagyott az oldal a javítás küldése kor.
A Returnt köszi, de nem tudtam.
Viszont most sem értem akkor ,hogy hagyom ott a rutint?
Vagy muszáj végig futnia? Bármivel nem szokott ott sok minden lenni lehet nem is gond.
Valamint eddig a programig azt sem tudtam hogy a toggle, capture, incr mire jók.
Aprogram lényege:
attiny2313
8Mhz
A Timer1 Capture megszakítását használva lemérem az egymást követő lefutó éleket, amik természetesen a Tsop1736 ból jönnek a 2313 ICP lábára.
Ahogy néztem a legtöbb távirányító az indulásnak egy szép hosszú észrevehető jelet generál aztán jön ugye az adatfolyam.
Valahogy így jelen esetben a mért értékek 160,26,53,26,26,53 +-2 pontatlanság
Ezért a várom a hosszú jelet és onnan a beérkező jelek hosszát, ami vagy dupla, vagy szimpla hosszú, 1 vagy 0 ra alakítom. Közben a kezdettől számított helyére teszem egy változóa bitenként. Mivel 50 jelet ad ez a távkapcs, és eleje úgyis csak készülék kód stb nem változik, az első 16 bitet kihagytam és így a többi befért egy Long tipusba. Ha jött 49 jel akkor késznek tekintem a kódolást.
Az egyszerűség és a mérési pontatlanságmiatt minden jelet ami 100-nál nagyobb kezdő jelnek veszek, és az dupla szinpla pedig 40 alatt és felett van meghatározva.
Természetesen ez csak akkor igaz ha 11101101 nincs egymást követő kettő 0 mert akkor az egy nek lesz értékelve hiába lenne a mért érték kb 75 hisz a 40-es limit fölött van. Viszont nem volt ilyen adat ezért erre nem volt szükség. Mert így ugye az adathossz sem lenne 49 db jel.
Tapasztalatom hogy a szerelő asztalom fénycsöve folyamatos jelet generál tsopnak (kb 20 cm-revan) de még ezzel együtt is szépen muzsikál.
Így a karcsúsítottam sem értelmes mert ugye mit??
Mondjuk gyanús is volt mert lefagyott az oldal a javítás küldése kor.
A Returnt köszi, de nem tudtam.
Viszont most sem értem akkor ,hogy hagyom ott a rutint?
Vagy muszáj végig futnia? Bármivel nem szokott ott sok minden lenni lehet nem is gond.
Valamint eddig a programig azt sem tudtam hogy a toggle, capture, incr mire jók.
Aprogram lényege:
attiny2313
8Mhz
A Timer1 Capture megszakítását használva lemérem az egymást követő lefutó éleket, amik természetesen a Tsop1736 ból jönnek a 2313 ICP lábára.
Ahogy néztem a legtöbb távirányító az indulásnak egy szép hosszú észrevehető jelet generál aztán jön ugye az adatfolyam.
Valahogy így jelen esetben a mért értékek 160,26,53,26,26,53 +-2 pontatlanság
Ezért a várom a hosszú jelet és onnan a beérkező jelek hosszát, ami vagy dupla, vagy szimpla hosszú, 1 vagy 0 ra alakítom. Közben a kezdettől számított helyére teszem egy változóa bitenként. Mivel 50 jelet ad ez a távkapcs, és eleje úgyis csak készülék kód stb nem változik, az első 16 bitet kihagytam és így a többi befért egy Long tipusba. Ha jött 49 jel akkor késznek tekintem a kódolást.
Az egyszerűség és a mérési pontatlanságmiatt minden jelet ami 100-nál nagyobb kezdő jelnek veszek, és az dupla szinpla pedig 40 alatt és felett van meghatározva.
Természetesen ez csak akkor igaz ha 11101101 nincs egymást követő kettő 0 mert akkor az egy nek lesz értékelve hiába lenne a mért érték kb 75 hisz a 40-es limit fölött van. Viszont nem volt ilyen adat ezért erre nem volt szükség. Mert így ugye az adathossz sem lenne 49 db jel.
Tapasztalatom hogy a szerelő asztalom fénycsöve folyamatos jelet generál tsopnak (kb 20 cm-revan) de még ezzel együtt is szépen muzsikál.