 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
diehart Član


Pridružen-a: Pon 19 Apr 2004 17:46 Prispevkov: 501 Aktiv.: 2.11 Kraj: okolica I G
|
Objavljeno: Čet Apr 19, 2007 12:15 am Naslov sporočila: RGB kontroler |
|
|
Pozdravljeni,
pojavil se mi je manjši problem, pa ga ne znam rešiti sam. Za maturitetno seminarsko imam za narediti RGB kontroler s PIC mikrokontrolerjem. Rahel problem je nastal ko naj bi napisal glavni del programa, se pravi PWM ali kaj podobnega za regulacijo svetilnosti 3 barv (bodo LE diode, v večji količini).
Moja mentorica je v začetku malo preveč obljubljala, zdaj sem pa ostal sam, ker ona tega pač ne zna.
Alternativa PWMju je več izhodov, ki bi se izmenično prižigali, kar bi bil verjetno tudi sam sposoben "spacat" skupaj.
Sicer bi to lahko sam napisal, ampak mi je tale projekt v zadnjih dveh mesecih pobral popolnoma ves prosti čas saj mora biti do tega petka narejeno. No, vse lepo in prav, ampak danes sem izvedel, da je ženska, ki bi morala tapicirat sedeže, milo rečeno, spizdila na službeno potovanje. Tak da je cel projekt padel v vodo.
Nekaj programa sem že napisal, vendar le-ta le spreminja vrednosti v treh registrih, iz katerih naj bi potem bral za vrednost PWMja.
Najlažje bi mi bilo, če bi kje dobil ta del kode (PWM), oz vsaj primer, da bi vedel, kaj moram sploh narediti oz če je sploh možno s tem PICem.
PIC naj bi bil "samo" 16f877.
Najlepša hvala.
Koda: |
;****************************************
;Konstante
;****************************************
PWM1 EQU 0x0C
PWM2 EQU 0x0D
PWM3 EQU 0x0E
;****************************************
;Nastavitev portov
;****************************************
BSF STATUS,5 ;v Bank1
MOVLW 0xFF ;vstavi 11111111
MOVWF TRISB ;določi vhode
MOVLW 0x00 ;vstavi 00000
MOVWF TRISA ;določi izhode
BCF STATUS,5 ;nazaj v Bank0
;****************************************
;Program
;****************************************
ZACETEK . ;začetek glavnega program, v njem je treba iz registrov
. ;PWM1, PWM2 in PWM3 prebrati vrednost in jo na
. ;izhodne pine poslati kot pwm signal.
;****************************************
;Podprogram
;****************************************
TESTPIN ; začetek podprograma
BTFSC PORTB, 0 ; preveri pin RB0, če je '0' preskoči naslednji korak
GOTO PINg2 ;pojdi na PINg2
INCF PWM1, 1 ;povečaj register PWM1 za 1 in shrani v isti register
PINg2 BTFSC PORTB, 1
GOTO PINg3 ; -||-
INCF PWM2
PINg3 BTFSC PORTB, 2
GOTO PINd1
INCF PWM3
PINd1 BTFSC PORTB, 3
GOTO PINd2 ; -||-
DECF PWM1
PINd2 BTFSC PORTB, 4
GOTO PINd3
DECF PWM2
PINd3 BTFSC PORTB, 5
GOTO ResPWM
DECF PWM3
ResPWM BTFSC PORTB, 6 ; preveri pin RB6
RETURN ;se vrne na glavni program
CLRF PWM1 ;postavi register PWM1 na 0
CLRF PWM2 ;postavi register PWM2 na 0
CLRF PWM3 ;postavi register PWM3 na 0
RETURN ;se vrne na glavni program
;****************************************
;Konec podprograma
;**************************************** |
|
|
Nazaj na vrh |
|
 |
bungee Član


Pridružen-a: Pon 07 Mar 2005 18:49 Prispevkov: 1479 Aktiv.: 6.24 Kraj: Ljubljana
|
Objavljeno: Čet Apr 19, 2007 7:54 am Naslov sporočila: |
|
|
Da ne boš preveč iskal in razbijal glave s tem projektom. Poglej si tole: RGB Led kar je pa še lepše je pa to, da je narejeno s "samo" 12F675
Sem ga pred časom preizkusil, sicer samo na proto boardu in deluje odlično.  |
|
Nazaj na vrh |
|
 |
diehart Član


Pridružen-a: Pon 19 Apr 2004 17:46 Prispevkov: 501 Aktiv.: 2.11 Kraj: okolica I G
|
Objavljeno: Ned Maj 06, 2007 3:08 am Naslov sporočila: |
|
|
Pozdrav,
na žalost bungee ta kontroler ne pride v poštev. Sem si ga ogledal, vendar mi ne zna noben razložit kode.
Sicer pa sem naredil en kontroler v micubišijevi Alphi. Je sicer skrajno poenostavljen, vendar deluje. Izhodov je 6, za vsako barvo 2 (za več je nastalo preveč kombinacij in preveč balasta).
Tole so formule, po katerih sem sestavil zadevo v alfi. Zanima pa me, ali se da to spremenit v program za pic in če bi bil kdo to pripravljen napisat.
Vhod je tipka ki je vezana na clock JK flip flopov in s katero posledično spreminjaš vrednost rgb.
Koda: |
Iz JK flip-flopov je sestavlen števec:
S1=QbQcQd
S2=QcQd
S3=Qd
S4=1
"dekodirnik" na izhodu, povezan je s števcem.
R1=S1S2S4'+S2S3+S1S2'+S1'S3'S4
R2=S1'S2S3+S2S4+S1'S3'S4+S1S2'S4'
G1=S1S2S4'+S2S3S4+S1'S2S3'+S1S2'+S2'S3S4'
G2=S1S4+S2S4+S1'S2S3'+S1'S2'S3S4'
B1=S2S4'+S3S4+S1S2'
B2=S1S3'+S1S2S4+S1'S2S4'+S1'S2'S3S4
' pomeni negiran
|
Tale dekoder sem skoraj prepričan da se ga da napisat, za števec pa je zelo verjetno alternativa v samem picu. Rahlo mi je začelo zmankovat časa, zato bi prosil koga da bi bil pripravljen tole napisat za pic.
lp |
|
Nazaj na vrh |
|
 |
|
|
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: 492 dni
Powered by phpBB © 2001, 2005 phpBB Group
|