Regler | Recent posts | emne RSS | Søg | Registrer | Log ind

IR lys Displaylys

ir lyset Displaylys

Post new topic Reply to topic EDAboard.com Forum Indeks -> Microcontrollers -> IR lys Displaylys
Arabisk Bulgarsk Catalanske udgave Tjekkisk Dansk version Tysk version Græsk Engelsk version Spanske version Finsk Fransk version Hindi version Kroatisk version Indonesiske version Italiensk version Hebraisk udgave Japanske version Koreanske version Litauisk Lettisk version Hollandsk version Norsk version Polsk Portugisiske udgave Rumænske version Russian version Slovakisk Slovensk Serbisk version Svensk version Tagalog version Ukrainsk version Vietnamesisk version Kinesiske version
Forfatter Besked
tomikan



Tilsluttet: 09 oktober 2006
Stillinger: 13


Post 03 december 2006 22:11 IR lys Displaylys

Jeg ønsker at opbygge en IR lys dimmer med pic microcontroller. For dimming Jeg vil gerne bruge et tv-fjernbetjening. PIC er nødt til at læse koden og ændre lysstyrken på lys. Læsning af kode tager en masse tid (25ms) og lyset puls, når de modtager koden. Er der nogen ved, hvordan de skal løse dette problem?
Tilbage til toppen
View user's profile
Jaspaa



Tilsluttet: 09 januar 2005
Stillinger: 12
Hjulpet: 1


Post 04 december 2006 0:43 Re: IR lys Displaylys

Jeg ved ikke helt, hvad dit problem er, men jeg lavede et kredsløb, gør omtrent det samme, for nogen tid siden

Det vigtigste princip er at have en høj prioritet funktion kontrollerer Triac. Nemmeste måde at gøre dette på er ved hjælp af en timer afbryder. Og en anden funktion gør IR-dekodning.
Den Triac kørsel funktion læses pulsen timing fra et register, som IR-modtager og afkode funktion kan justere når det afkodede data fra fjernbetjeningen.
Afkodning af din IR signalet burde ikke tage længere så det tager fjernbetjeningen til at sende det til fulde. Bare undersøge protokol, der bruges af din TV-fjernbetjeningen for timing.

Jeg fik mit arbejde i mindre end en dag. Jeg er bestemt ikke en dygtig programmør, så koden var crap, men det fungerede fint. Brug et højt sprog såsom C vil arbejde for at skabe en hurtig dekoder, for Triac timing Jeg vil foreslå skriftligt ASM.

Held og lykke!
Tilbage til toppen
View user's profile
VSMVDD



Tilsluttet: 12 juni 2005
Posts: 557
Hjulpet: 55


Post 04 december 2006 0:52 Re: IR lys Displaylys

tomikan wrote:
Jeg ønsker at opbygge en IR lys dimmer med pic microcontroller. For dimming Jeg vil gerne bruge et tv-fjernbetjening. PIC er nødt til at læse koden og ændre lysstyrken på lys. Læsning af kode tager en masse tid (25ms) og lyset puls, når de modtager koden. Er der nogen ved, hvordan de skal løse dette problem?


Deres baudhastighed til com mellem er for lavt til de data pakkestørrelse

Deres send / recieve data er for lang og fuld af rodet ikke nødvendige for at com

25ms er en levetid

Jeg synes dit projekt har et problem

post it

så vi kan hjælpe med yderligere
Tilbage til toppen
View user's profile
tomikan



Tilsluttet: 09 oktober 2006
Stillinger: 13


Post 04 december 2006 19:11 Re: IR lys Displaylys

Her er den kode.


# include <16F877.h>
# sikringer XT, NOWDT, NOPROTECT, NOLVP
# brug forsinkelse (ur = 4000000)
# bruge RS232 (baud = 9600, xmit = PIN_C6, AN = PIN_C7)
# include <stdio.h>
# include "rc5decode.h"

# byte Portb = 0x06
# byte TMR = 0x01


# byte Portb = 0x06
# define IR_IN portb, 4 / / 0

int save_w;
# lokalisere save_w = 0x7f
int save_status;
# lokalisere save_status = 0x20

# byte status = 3


/*--- Globals ---*/
int kommando;
/ / usignerede CHAR kommando;
usignerede CHAR adresse;
usignerede CHAR temp;
usignerede CHAR timer;
usignerede CHAR rc5valid;

int tipka = 32;
int dk;

int i = 0, j = 0, a = 0, b = 0, io = 0;
int x = 0, t3, t2;
int tomi = 0;
usignerede int vred = 0;

void pavza ()
(
# ASM

MOVLW 33
MOVWF T3
MOVF vred, W
MOVWF T2
PAV1:
DECFSZ T3, F
GOTO PAV1
MOVLW 33
MOVWF T3
DECFSZ T2, F
GOTO PAV1
# endasm
)

/ / # define PORTBIT (adr, bit) ((usignerede) (& adr) * 8 (bit))
/ / statisk bit IR_PIN @ PORTBIT (GPIO, 2);

/*--- Rc5 afkode funktion ---*/
/ / static void afbryder / /


usignerede CHAR rc5decode (void)
(
# ASM

MOVWF save_w
SWAPF status, W
BCF status, 5
BCF status, 6
MOVWF save_status

;------ Kalibrere timing

BCF 3,5; vælge bank 0
clrf TMR; starte timeren
opkald Wlow; få pulsen længde
opkald Whigh

btfsc TMR, 7; test for timeren overflow
goto codeError; bail out

movf TMR, w; gemme puls længde
clrf TMR; starte timeren

movwf timer; tage pulsen længde,
movwf temp; gemme det
BCF 3,0; klart bære
rrf temp, f; kløft med 2
BCF 3,0; klart bære
rrf temp, f; kløft med 4
movf temp, w, og trække fra for at få
SUBWF timer, f; 3 / 4 puls længde

movlw 0x0c
movwf temp; init bit counter

;------ Vente til starten af data

nextBit: movf timer, w; vente 3 / 4 puls længde
SUBWF TMR, w
btfss 3,2; tage et kig
goto nextBit

;------ Starten af data stream

btfss IR_IN; hvis dens høje
goto waitlow; gonna være et 0

;------ Vente på høje 1

opkald Whigh; hvis dets lave
BSF 3,0; gonna være en 1
goto ur

;------ Vente for lavt 0

waitlow: samtalepris Wlow
BCF 3,0; gonna være et 0

;------ Ur data

Ur: clrf TMR; genstarte timer
rlf kommando, f; gemme bit
rlf adresse, f
decfsz temp, f; gjort alt bits?
goto nextBit

;------ Få systemet adresse, toggle bit og kommando-kode

movf kommando, w; kopi lave byte
movwf temp; i temp
rlf temp, f; behovet for at skifte 2 bits
rlf adresse, f; i adressen
rlf temp, f
rlf adresse, f; system adresse er 5 bits

movlw 0x3f; maske system adresse toggle bit
andwf adresse, f

movlw 0x3f; maske kommando kode
andwf kommando, f; kommando kode er 6 bits
goto rc5ok; gjort ok

;------ Vente, mens lav

Wlow: btfsc TMR, 7; test for timeren overflow
tilbagevenden; bail out
btfss IR_IN
goto Wlow
tilbagevenden

;------ Vente mens høje

Whigh: btfsc TMR, 7; test for timeren overflow
tilbagevenden; bail out
btfsc IR_IN
goto Whigh
tilbagevenden

rc5ok: movlw 0x01
movwf rc5valid
goto rc5end
codeError: clrf rc5valid
rc5end: NOP

SWAPF save_status, W
MOVWF status
SWAPF save_w, F
SWAPF save_w, W

# endasm
tilbagevenden rc5valid;
)

# int_ext
ISR () (


if (vred == 0) goto ss;
output_low (pin_a1);
if (vred == 180) goto ns;

pavza ();


ss:
output_high (pin_a1);
ns:
x = 1;


)


# int_rb
isr_i (void)
(

if (rc5decode ())
(
adresse & = 0x1F;

if (command == 32) a = 1;
if (command == 33) b = 1;
rc5valid = 0;
)
)





void Main (void)
(
set_tris_b (0xff);
ext_int_edge (h_to_l);
setup_timer_0 (RTCC_DIV_128 | RTCC_internal);
port_b_pullups (true);



enable_interrupts (globale);
enable_interrupts (int_ext);
enable_interrupts (int_rb);

a = 0;
i = 0;
j = 0;
x = 0;
io = 0;
vred = 180;


gøre
(



hvis (a == 1)
(
a = 0;
delay_ms (200);


if ((a == 0) & & (vred == 180)) (vred = 0; a = 0; goto nap;)


po: if ((a == 1)) (vred = vred-10, a = 0; if (vred ==- 10) vred = 0;)


delay_ms (100);

hvis (a == 1) goto po;
nap: delay_us (1);
)

if (b == 1)
(
b = 0;
delay_ms (200);


if ((b == 0)) (vred = 180 b = 0; goto nap1;)

po1: hvis ((b == 1)) (vred = vred 10 b = 0; if (vred == 190) vred = 180;)

delay_ms (100);

if (b == 1) goto po1;
nap1: j = 1;
)

) mens (1);


)

/*--- End of File ---*/
Tilbage til toppen
View user's profile
Google
AdSense





Post 04 december 2006 19:11 Annoncer



Tilbage til toppen
manish12



Tilsluttet: 21 november 2006
Posts: 992
Hjulpet: 31


Post 05 december 2006 7:44 Re: IR lys Displaylys

Du kan også ref anvendelsen notat fra mikrochip for rc5 fjernkørsel analyzer for klar anden mulighed.
Efter dette er du nødt til at arbejde med hv være forsigtig.
Tilbage til toppen
View user's profile
microsim



Tilsluttet: 15. juli 2007
Stillinger: 4


Post 19 jul 2007 9:18 Re: IR lys Displaylys

Der var et projekt, der offentliggøres på th web, jeg arbejdede med, som blev offentliggjort på internettet for forfatteren William Boucher, hans e-mail Boucher (at) mnsi.net

Jeg er ikke i stand til at åbne sit hjem side, (http://www.mnsi.net/ ~ Boucher / emporium.htm)
Det synes han lukket det, kan du kontakte ham for at give dig den fulde artikel.

tak, jeg har tegningerne og Skema, men jeg er nødt til at se dem først! Jeg har ingen tid.


Sam
Tilbage til toppen
View user's profile
kelvin_foru



Tilsluttet: 19. juli 2007
Stillinger: 5
Hjulpet: 1


Post 19 jul 2007 11:18 IR lys Displaylys

Der er et websted, der har et projekt om fjernbetjening kontrollerende 6devices og en fan med hastighedskontrol, der kan benyttes som Displaylys, men kredsløbet er baseret på Atmel microcontroller.

www.8051projects.info/projects.asp

Kelvin
Tilbage til toppen
View user's profile
jamenyang



Tilsluttet: 14. juli 2007
Stillinger: 12


Post 23 jul 2007 5:18 IR lys Displaylys

god idé, du er stor
Tilbage til toppen
View user's profile
otuzsubat



Tilsluttet: 07 juni 2004
Stillinger: 45
Hjulpet: 2
Beliggenhed: Istanbul, Tyrkiet


Post 25 jul 2007 12:55 Re: IR lys Displaylys

h ** p: / / innovexpo.itee.uq.edu.au/2001/projects/s369398/index.html

det er et komplet projekt om IR Remote Room lyskontakt
Tilbage til toppen
View user's profile
segmex



Tilsluttet: 25. oktober 2006
Stillinger: 220
Hjulpet: 6


Post 01 sep 2007 14:34 IR lys Displaylys

tak for links!
Tilbage til toppen
View user's profile
Post new topic Reply to topic EDAboard.com Forum Indeks -> Microcontrollers -> IR lys Displaylys
Side 1 af 1 Alle tidspunkter er GMT 2 timer


Misbrug | | Administrator | | Moderatorer | | Støt os | | sitemap
topic RSS