Pic'e bağladığım led ve butonda problem var

Başlatan karakartal10, 21 Nisan 2007, 16:46:00

XX_CİHAN_XX

hanı zil butonunu 12v dan 5v a düşüren deveye giriyorsun ya.O devreyi opto kuplorlu yapıcaksın ve optonn cıkışını pice giriceksin.
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

XX_CİHAN_XX



oradaki 24v girişi butondan gelen 12v olarak düşün çıkışta normalde lojık 0 seviyesindedir butona basınca opto iletime gecicek ve picin portuna lojik1 gelicektir.Ben emiterden çıkış aldım sen kollektorden çıkış alarak bunun tam tersinide yapabilisin.Çıkışa görede programdaki buton sorgusunu ayarlarsın.
Kolay gelsin.
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

karakartal10

@XX_CİHAN_XX sağol cevabın için ama gözüme çarpan bir unsur var şimdi.
kurduğun devrede pinin B portunu almışısın ben benzer pinin A portunu
alsam bir sorun olmaz değilmi şimdi. benim kurduğum devrede 12 den 5
volta düşürmek için 7805 regule entegresi kullanmıştım

XX_CİHAN_XX

istediğin portu ve pini kullanabilirsin 78o5 ve çizdiğin transistor devresi bu iş için uygun degıl onların yerıne bu optokuplorlu kucuk devre en dogru çözümdür.
Kolay gelsin.
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

karakartal10

@XX_CİHAN_XX hocam çok sağol yardımın için bir işim daha düştü sana.
aşağıda bir opto kuplorlu devre tasarladım çalışmasında bir sorun olmaz
değilmi . transistörün çalışması için sağlanan 5 voltu 7805 regule
entegresinden çıkaracağım


karakartal10

arkadaşlar bu arada devreyi denerken pic i ters takmışım tamamel şimdi hiç tepki vermiyor yazılım yenilesem  sorun düzelirmi şimdi yoksa başka bir entegre mi alayım

e3

Eğer ters takınca Pic epeyce ısındıysa çöpe atabilirsiniz.Denemeniz lazım belki sadece birkaç portunuz yanmıştır, diğer portlar sağlam kaldılarsa onları kullanabilirsiniz.İyi çalışmalar.
.eem.

XX_CİHAN_XX

Protection un da dediği gibi bazı portlar yada tamamı bozulmuş olabilir.Yapmaya çalıştığın opto uygulaması şu şekilde olmalı.


Kolay gelsin.
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

karakartal10

cevaplar için teşekürler arkadaşlar bir sorun olursa yine yazarım

karakartal10

s a arkdaşlar devreyi kurdum kodları değiştirdim ama yine umduğum gidi değil

   LIST   P=16F84
   INCLUDE   "P16F84.INC"
;---------------------------------------------
PORTA   EQU   h'05'
PORTB   EQU   h'06'
STATUS EQU   h'03'
SAYAC1 EQU      h'0C'
SAYAC2 EQU      h'0D'
SAYAC3 EQU      h'0E'
TRISA   EQU   h'85'
TRISB   EQU   h'86'

;---------------------------------------------
   CLRF   PORTB
   BSF   STATUS,5
   CLRF   TRISB
   MOVLW   h'FF'
   MOVWF   TRISA
   BCF   STATUS,5
   MOVLW   h'F0'
   MOVWF   TRISA
BUTON_BAS
   BTFSC   PORTA,2
   GOTO   BUTON_BAS
BUTON_BIRAK
   BTFSS PORTA,2
   GOTO BUTON_BIRAK
   MOVLW   h'0F'
   MOVWF   TRISA
   CALL   GECİKME
;---------------------------------------
GECİKME
   MOVLW   h'FF'
   MOVWF   SAYAC1
DONGU1
   MOVLW   h'FF'
   MOVWF   SAYAC2
DONGU2
   MOVLW   h'4B'
   MOVWF   SAYAC3
DONGU3
   DECFSZ   SAYAC3,F
   GOTO   DONGU3
   DECFSZ   SAYAC2,F
   GOTO   DONGU2
   DECFSZ   SAYAC1,F
   GOTO   DONGU1
   RETURN   
END


burada ilk koddan farkı
1) BCF  PORTB,k komutlarını sildim
2) BASLA
    .
    .
   GO TO BASLA Fonksiyonunu kaldırdım

3) MOVLW h'30'
 MOVWF TRISB ile zile basmadan RB2 ve RB3 ün devamlı yanmasını umuyordum ve diğer b pinleri ise anaktar ile çalışacaktı

oysa umduğum gibi gitmedi 10 saniye süreyle tüm B pinleri 4 volt çıkış veriyor 10 saniye sonrası ise hep beraber sıfır volte düşmekte sorun nedir şimdiden teşekürler

karakartal10

bu arada icprog programını kazara entegre olmadan çalıştırmışım

hata oluştu (sistem belirtilen yolu bulamıyor) sürücü başlıyorken! gibi hata uyarısı veriyor programın  her açılışında nasıl düzeltebilirim

XX_CİHAN_XX

Alıntı yapılan: "karakartal10"bu arada icprog programını kazara entegre olmadan çalıştırmışım

hata oluştu (sistem belirtilen yolu bulamıyor) sürücü başlıyorken! gibi hata uyarısı veriyor programın  her açılışında nasıl düzeltebilirim

ıcprog taki bu hatayı düzeltmek için:

Program hata vererek açılsın, gözardı edin.
Ayarlar menüsünden "Ayarları Sil" komutunu verin.
Silme işlemini onaylayın.
Program tekrar çalışacaktır. (Bu sefer ingilizce olarak)
Hata mesajlarını onaylayarak geçin.
Settings menüsünden Options 'a girin.
Misc tabında "Enable Win2000/NT driver" seçeneğini işaretleyin.
Mesajı onaylayın. Program tekrar çalıştırılacaktır.
Burada hata almamanız lazım. Alırsanız bu işlemleri tekrarlayın.
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

XX_CİHAN_XX

yazdığın programda bazı hatalar var butona basınca yapmak istediğin olayı açık yazarsan yardımcı olurum
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

karakartal10

pic in RB4 ve RB5 pinleri sürekli 5 volt çıkış verecek ve RB0 RB1 RB2 RB3
pinleri ise zile basılınca çalışacak 15 saniyelik gecikme alt yordamı var.
ben zile basmışsam eğer 15 saniye süre bitene kadar RB0 RB1 RB2 RB3
pinleri 5 volt verecek 15 saniye bitince bu RB0 RB1 RB2 RB3 pinleri sıfır
volta dönecek ve tekrar A2 pini sorgunalanacak proje bu ama 5 volt
çıkışlarını tam olarak yapamadım galiba ben

e3

Hem Include yazıp hemde PortA ve PortB'yi tanımlamana anlam veremedim!Ayrıca butona basılınca TRIS registerlerine yükleme yapıyorsun, bu da diğer yanlışın.TRIS yerine PORT kullanmalısın.TRISler sadece portların giriş ve çıkış tanımlamalarında Bank2'ye geçilince kullanılabilirler.Sen işlemleri otomatik olarak BANK1'de yaptığın için TRIS kullanamazsın, kullansan da yaptığın işlem yanlış olmaktadır.Aşağıdaki kodun çalışması lazım.Bir dene, sonucunu buraya yaz.Kolay gelsin. :)

    LIST P=16F84 
     INCLUDE "P16F84.INC" 
;---------------------------------------------  
     SAYAC1 EQU h'0C' 
     SAYAC2 EQU h'0D' 
     SAYAC3 EQU h'0E'
;--------------------------------------------- 
     CLRF PORTB      ; PortB temizlendi.
     CLRF PORTA      ; PortA temizlendi.
     BSF STATUS,5   ; Bank2'ye geçildi.
     CLRF TRISB       ; PortB çıkış ayarlandı.
     MOVLW h'FF'      
     MOVWF TRISA    ;PortA giriş olarak ayarlandı.
     BCF STATUS,5    ;Bank1'e geçildi.

;-------------------------------------------
BASLA
     CLRF PORTB      ; PortB temizlendi.
     CLRF PORTA      ; PortA temizlendi.
     BSF PORTB,4     ; PortB.4 çıkış ayarlandı.
     BSF PORTB,5     ; PortB.5 çıkış ayarlandı.

BUTON_BAS 

     BTFSC PORTA,2             ; Butona basıldıysa ve
     GOTO BUTON_BAS 
BUTON_BIRAK 
     BTFSS PORTA,2 
     GOTO BUTON_BIRAK      ; Buton bırakıldıysa 
     MOVLW h'0F'                  
     MOVWF PORTB               ; PortB 0,1,2,3 çıkış olarak ayarlandı.
     CALL GECİKME               ; Gecikme yapılıyor.
     GOTO BASLA
 
;--------------------------------------- 

GECİKME 
     MOVLW h'FF' 
     MOVWF SAYAC1 
DONGU1 
     MOVLW h'FF' 
     MOVWF SAYAC2 
DONGU2 
     MOVLW h'4B' 
     MOVWF SAYAC3 
DONGU3 
     DECFSZ SAYAC3,F 
     GOTO DONGU3 
     DECFSZ SAYAC2,F 
     GOTO DONGU2 
     DECFSZ SAYAC1,F 
     GOTO DONGU1 
     RETURN 
     END
.eem.