Čia nelabai yra to USB. Tiksliau, netgi pjaunasi šitas projektas su USB 🙂 (kompas puliuoja, kai aparaciukas pagauna IR komandą) Todėl paveiksliukyje atsirado plokštės gabalas su USB kištuku.
Tai grynai C kalboje parašytas infraraudonų spindulių distancinio (pagal standartą RC5) dekoderis. Autorius yra Georg-Johann Lay, kokios rušies licenzija jis paskyrė savo softui aš nežinau. Bent jau jo puslapiuose ir source nieko nėra apie (c).
IR daviklis išluptas iš sugedusio DVD grotuvo. Prilituotas prie geltonos PCB ir jungiasi 3 laidais prie plokštės: Vcc, GND ir PD2/INT0.
Kad pademonstruoti rezultatus, pajungiau prie LCD modulio. Pats naudojimas labai paprastas, pažiūrėkit main.c failo main procedūrą.
Truputis informacijos apie LCD ekraniuko rodymą: Cod- tai mygtuko kodas, Adr- tai prietaiso adresas (0- tai TV), F- flip/flop rodantis kad paspaustas klavišas. Jis keičiasi kiekvieną kartą paspaudus distancinio mygtuką. Tai galima detektuoti kada nuspaustas tas pats mygtukas dar kartą.
Deja visuose namuose tik Samsung teliko distancinis suderinamas su šiuo standartu…
Kadangi ši programa naudoja tą patį INT0 kaip ir USB, tai kol kas šitas žaisliukas nesuderinamas su USB. Jei bus poreikis ir noras, pabandysiu pakeisti source, kad naudotu INT1. Tada distancinio duomenys bus galima pumpuoti į kompiuterį. O jei tai suderinti su ankstesnio posto HID įrenginiu… Gaunasi kaip ir universalus distancinis kompui.
Projekto source code.
P.S. jei naudojamas NEC IR tipo distancinis, verta pasiskaityti: NEC distancinio protokolas.
Sveikas, Levai, man atrodo source yra klaida, lcd_rs ir lcd_e ant to pacio pin’o pajungti. Ar taip turi but?
RS = PD3
E = PC3
R/W = PC2
data = PD4..PD7
source:
LCD_PORT=PORTD
LCD_RS_PORT=LCD_PORT t.y. PORTD
LCD_RS_PIN=3
LCD_E_PORT=PORTC
LCD_E_PIN=3
Tiek to pajungimo.
Atsiprasau, apsizioplinau. O jei kita mikrokontroleri naudociau, tai programa pakeites galeciau lcd kojas prie bet kurio porto bet kurios kojos jungt, ar reiktu atsizvelgt i ka nors?
tiksliai neatsimenu, bet galima naudoti bet kurias. Rodos tik duomenys turi buti tame pat porte. Nebandziau.