| | #41 (mesaj-linki) | |
| Cvp: Hobby Elektronik Devreler | |
|
| | #42 (mesaj-linki) | |
| Cvp: Hobby Elektronik Devreler | |
|
| | #43 (mesaj-linki) | |
| Cvp: Hobby Elektronik Devreler | |
|
| | #44 (mesaj-linki) | |
| Cvp: Hobby Elektronik Devreler 32 Ledli pic16f84 ile yapılmış kara şimşek - yürüyen ışık ve ışık show devresi | |
|
| | #45 (mesaj-linki) | |
| Cvp: Hobby Elektronik Devreler fan kontrol devresi Fan Kontrol Devresi Yaptıgınız devreler için sogutma amaçlı güzel bir devre | |
|
| | #46 (mesaj-linki) | |
| Cvp: Hobby Elektronik Devreler | |
|
| | #47 (mesaj-linki) | |
| Cvp: Hobby Elektronik Devreler | |
|
| | #48 (mesaj-linki) | |
| Cvp: Hobby Elektronik DevrelerPic Basşc ve PWM Uygulamaları Bu yazımda, Pic Basic ve PWM başlıklı yazıda yayınlanan PWM konusuna örnekler vereceğim. İlk devremiz tek kanallı PWM uygulaması olup, motor kontrol devresidir. Bu devre için Pic Basic Pro dosyası şu şekildedir. '************************************************* ***************'* Name : pwm.BAS *'* Author : [AYKUT YILMAZ] *'* Notice : Copyright (c) 2007 [end. elektronik teknikeri] *'* : All Rights Reserved *'* Date : 28.03.2007 *'* Version : 1.0 *'* Notes : *'* : *'************************************************ ****************TRISC=0DUTY VAR BYTEBASLA:FOR DUTY=255 TO 0 STEP -1 '255'DEN HER SEFERİNDE 1 ÇIKARTGOSUB PALS 'PALSE GİTNEXTFOR DUTY=0 TO 255GOSUB PALSNEXTPALS:HIGH PORTC.2PAUSEUS (Duty*230)LOW PORTC.2PAUSEUS (255-DUTY)*230RETURNEND Bu programın çalışması ise şu şekildedir. FOR DUTY=255 TO 0 STEP -1 255'den her seferinde 1 çıkart 0 oluncaya kadar. 255.254.253.....0'a kadar gosub pals git ve burda işlemlerini yap FOR DUTY=0 TO 255 0.dan 255'e kadar arttır. 0.1.2.3....255'e kadar PAUSEUS (Duty*230) 230 nerden çıktı? Bu projede süreyi 15 sn olarak belirledim yani led 255 değerinden max +5v dan 0'a 15sn geliyor. Yine 0'dan 255'değerine 15sn de çıkıyor istediğim bu. Hesaplamalar: 15sn=15000ms 255'e ulaşmak için her bir kademedeki geçikme dolayısıyla 15000/255=58824 high ve low süresine eşit. Süre 58824 olduğunda motor çok hızlı veya led çok parlak olacak. 0 olduğunda ise motor duracak veya led sönecek. Bundan sonra ise kaç µs high kaç µs low olacak hesabı 58824/255=230 µs eder saniye ile oynayarak böyle sistemlerin çalışmadaki görselliği arttıralabilir Programa ait devrenin şeması: İkinci devre, tek kanallı ADC_PWM uygulaması olup, potansiyometre ile motor kontrolu yapılmaktadır. Bu devre için Pic Basic Pro dosyası şu şekildedir. '************************************************* ***************'* Name : UNTITLED.BAS *'* Author : [AYKUT YILMAZ] *'* Notice : Copyright (c) 2007 [end. elektronik teknikeri] *'* : All Rights Reserved *'* Date : 27.03.2007 *'* Version : 1.0 *'* Notes : 1 KANALLI ADC_PWM UYGULAMASI *'* : *'************************************************ ****************'*****GİRİŞ VE ÇIKIŞLAR*****TRISA=255TRISC=0'****HPWM AYARLARI****DEFINE CCP1_REG PORTC 'HPWM DEFINE CCP1_BIT 2 'CCP1 PİNİ PORTC.2'*****ADC TANIMLAMALARI*****DEFINE ADC_BITS 10DEFINE ADC_CLOCK 3DEFINE ADC_SAMPLEUS 20ADC1 VAR WORDDUTY VAR WORDADCON1=%10000010 '10 BİT SONUÇ ALMAK İÇİNBASLA:ADCIN 0,ADC1DUTY=ADC1/4HPWM 1,DUTY,1000gOTO BASLAEND Programa ait devrenin şeması: Üçüncü uygulama tek kanal PWM uygulaması olup, ışık uygulamasıdır. Bu devre için Pic Basic Pro dosyası şu şekildedir. '************************************************* ***************'* Name : pwm.BAS *'* Author : [AYKUT YILMAZ] *'* Notice : Copyright (c) 2007 [end. elektronik teknikeri] *'* : All Rights Reserved *'* Date : 26.03.2007 *'* Version : 1.0 *'* Notes : *'* : *'************************************************ ****************TRISC=0DEFINE OSC 4 '4MHZ'LİK OSİLATÖROUTPUT PORTC.0 'PORTC.0 ÇIKIŞA VAR BYTEDUTYCYLE VAR BYTEFOR A=0 TO 3HIGH PORTC.0PAUSE 1000LOW PORTC.0PAUSE 200NEXT BASLA:for dutycyle = 0 to 255PWM PORTC.0,DUTYCYLE,100next GOTO BASLAEND Programa ait devrenin şeması: Dördüncü uygulama üç kanal PWM uygulaması olup, ışık uygulamasıdır. Bu devre için Pic Basic Pro dosyası şu şekildedir. '************************************************* ***************'* Name : pwm2.BAS *'* Author : [AYKUT YILMAZ] *'* Notice : Copyright (c) 2007 [end. elektronik teknikeri] *'* : All Rights Reserved *'* Date : 26.03.2007 *'* Version : 1.0 *'* Notes : *'* : *'************************************************ ****************TRISC=0DUTY VAR BYTEBASLA:FOR DUTY=255 to 0 step -1GOSUB PALSnextFOR DUTY=0 to 255GOSUB PALSNEXTGOTO BASLA PALS:HIGH PORTC.0PAUSEUS (Duty*230)LOW PORTC.0PAUSEUS (255-DUTY)*230HIGH PORTC.1PAUSEUS (Duty*230)LOW PORTC.1PAUSEUS (255-DUTY)*230HIGH PORTC.2PAUSEUS (Duty*230)LOW PORTC.2PAUSEUS (255-DUTY)*230RETURNEND Programa ait devrenin şeması: ![]() kaynak | |
|
| | #49 (mesaj-linki) | |
| Cvp: Hobby Elektronik DevrelerPICBASIC ile LCD Kullanımı Bu yazımızda LCD ( Liquid Crystal Display ) tanıyacağız ve bol uygulamalar ile bilgilerimizi pekiştireceğiz. LCD nedir: LCD ( Liquid Crystal Display ) LCD’ler ilk olarak 1960 yılında kullanılmış olup günümüzdede kullanılan yüksek teknolojik sistemlerdir. LCD'ler cep telefonu, hesap makinası ve televizyonlarda kullanılmaktadır. LCD çeşitleri: İki adet LCD vardır bunlardan bir tanesi normal, sadece yazı gösteren yeşil ve mavirenkli LCD’ler diğeri ise renkli ekran cep telefonlarında kullanılan GLCD ( Grapich Liquid Crystal Display )’dir Resim 1: LCD ( Liquid Crystal Display ) genel görünümü Resim 2: GLCD ( Grapich Liquid Crystal Display ) genel görünümü Piyasa satılan LCD’ler 1x8, 2x8, 2x16, 4x16, 4x20, 4x24 ilk sayı satır sayısı son sayı ise karakter sayısıdır. Örneğin; 2x16 LCD 2 satır 16 karakterden oluşur. Resim 3: Proteus elektronik programındaki 2x16 LCD’nin genel görüntüsü LCD PİNLERİNİ TANIYALIM 1 Vss, Toprak (Ground), Logic Vss, Logic Ground 2 Vcc, +5 Volt, Logic Vcc, Logic Power 3 VLc, VBias,Bias,Contrast (Kontrast) 4 RS, Register Select 5 R/W, Read/Write(Okuma yada Yazma Modu) 6 E, Enable, Strobe 7-14 D0-D7 (DATA girisleri) 15* Led+, A, Backlight+, Backlight Anode (LCD Panel ısıgı (+5 Volt)) 16* Led-, K, Backlight-, Backlight Cathode (Toprak (Ground)) *15 ve 16. bacaklar bazı displaylerde yoktur. Bu uçlar paneli aydınlatmak icin kullanılırlar. Resim 4: 2x16 LCD’nin arkadan görüntüsü PİCBASİC’te kullanılan LCD komutlarını tanıyalım $FE,1 Ekranı siler. $FE,2 Satir basına donülür. $FE,$0C Kursörün görüntüsünü yok eder $FE,$0E Kursörü alt çizgi biçimine getirir $FE,$0F Kursörü yanıp/Soner yapar $FE,$10 Kursörü 1 pozisyon sola getirir $FE,$14 Kursörü 1 pozisyon saga getirir $FE,$C0 Kursörü ikinci satirin başına getirir $FE,$94 Kursörü üçüncü satirin başına getirir $FE,$D4 Kursörü dördüncü satirin başına getirir PİCBASİC’te LCD’veri göndermek için kullanılan komut; LCDOUT komutudur PİCBASİC’te kullanılan LCD_DEFINE TANIMLAMALARI DEFINE LCD_DREG PORTB 'LCD DATA BACAKLARI PORTB'YE BAGLI DEFINE LCD_DBIT 4 LCD DATA BITLERI HANGİ BITTEN BASLIYOR DEFINE LCD_EREG PORTB 'LCD ENABLE BACAGI HANGI PORTA BAGLI DEFINE LCD_EBIT 3 LCD ENABLE BITI HANGI PORTA BAGLI DEFINE LCD_RWREG PORTB 'LCD RW BACAGI HANGI PORTA BAGLI DEFINE LCD_RWBIT 2 LCD RW BACAGI HANGI BITE BAGLI DEFINE LCD_RSREG PORTB 'LCD RS BACAGI HANGI PORTA BAGLI DEFINE LCD_RSBIT 1 LCD RS BACAGI HANGI BITE BAGLI DEFINE LCD_BITS 4 LCD 4 BIT BAGLI DEFINE LCD_LINES 2 LCD KAC SIRADAN OLUSUYOR ÖNEMLİ BİR NOT: DEFINE LCD_RWREG PORTB 'LCD RW BACAGI HANGI PORTA BAGLI DEFINE LCD_RWBIT 2 LCD RW BACAGI HANGI BITE BAGLI Yukardaki defıne tanımlaması kullanıldığı zaman aşağıdaki kodun programa eklenmesi gerekir. LOW PORTB.2 RW BACAGI EKRANA YAZMAYA IMKAN VERMEK ICIN LOW YAPILDI ÖNEMLİ BİR NOT: Diğer bir çözüm ise yukarıdaki notta bulunan komutları kullanmayıp RW pinini direkt toprağa bağladığımız zaman sorunu çözeriz iki şekilde program çalışacaktır. ÖNEMLİ BİR NOT: LCD_DEFINE tanımlamalarından sonra pause 500 komutunun yazılması gerekiyor çünkü bu komut LCD’nin açılması için gerekli olan süre Uygulama1; Bu uygulamada LCD’de sabit yazı yazdıralım ilk önce devremizi verelim PİCBASİC kodu '*****LCD_DEFINE TANIMLAMALARI*****DEFINE LCD_DREG PORTB 'LCD DATA BACAKLARI PORTB'YE BAGLIDEFINE LCD_DBIT 4 'LCD DATA BITLERI HANGİ BITTEN BASLIYORDEFINE LCD_EREG PORTB 'LCD ENABLE BACAGI HANGI PORTA BAGLIDEFINE LCD_EBIT 3 'LCD ENABLE BITI HANGI PORTA BAGLIDEFINE LCD_RWREG PORTB 'LCD RW BACAGI HANGI PORTA BAGLIDEFINE LCD_RWBIT 2 'LCD RW BACAGI HANGI BITE BAGLIDEFINE LCD_RSREG PORTB 'LCD RS BACAGI HANGI PORTA BAGLIDEFINE LCD_RSBIT 1 'LCD RS BACAGI HANGI BITE BAGLIDEFINE LCD_BITS 4 'LCD 4 BIT BAGLIDEFINE LCD_LINES 2 'LCD KAC SIRADAN OLUSUYORTRISB=0LOW PORTB.2 'RW BACAGI EKRANA YAZMAYA IMKAN VERMEK ICIN LOW YAPILDIPAUSE 200 '200 ms BEKLEME YAPLCDOUT $FE,1,"PiC BASiC PRO" 'ILK SATIRA YAZLCDOUT $FE,$C2,"OGRENIYORUM" 'IKINCI SATIRA YAZENDLCD’de simgesel olmayan karakterler yapmak LCD’ler 5x7 dotmatrix tablodan oluşur. LCD’lerde Türkçe olmayan karakterler (ı,ö,ç,ş,ğ) harfleri kullanılamaz ancak gerekli ayarlamalar yapılırsa (ı,ö,ç,ş,ğ) harfleri kullanılabilinir. LCD’lerde tanımlayabileceğimiz 8 ayrı karakter vardır ve her bir karakter için 8 ayrı data vardır. Her bir karakterin yerleştirilme adresi vardır bunlar; 0.karakter $40 4.karakter $601.karakter $48 5.karakter $682.karakter $50 6.karakter $703.karakter $58 7.karakter $78Bu adreslerden hangisine karakter dataları yazılırsa program içinde ona ait karakter numarasını kullanılarak ilgili karakter ekrana yazdırılabilinir. Türkçe karakterlere ait data numaraları ; LCDOUT $FE,$40,$0A,$00,$11,$11,$11,$11,$0E,$00 'ÜLCDOUT $FE,$48,$0E,$11,$10,$10,$11,$0E,$04,$00 'ÇLCDOUT $FE,$50,$00,$0E,$04,$04,$04,$04,$0E,$00 'ILCDOUT $FE,$58,$0A,$00,$0E,$11,$11,$11,$0E,$00 'ÖLCDOUT $FE,$60,$0E,$00,$1F,$10,$13,$11,$1F,$00 'ĞLCDOUT $FE,$68,$0E,$11,$10,$0E,$01,$15,$0E,$04 'ŞÖrnek verecek olursak; LCDOUT $FE,$58,$0E,$10,$10,$0E,$01,$05,$1E,$04 'Ş dataları Bu ifade Ş harfine ait dataları içermektedir. Adres olarak da $58 kullanılmış. O halde bu karekteri kullanmak için programda 3 rakamını kullanacaksın demektir. Yani AŞIK yazdırabilmen için şöyle yapman gerekli; LCDOUT $FE,1,"A",3,"IK" Diyelimki Ş harfine ait dataları 0 nolu karektere ait olan $40 adresine koyduk; LCDOUT $FE,$40,$0E,$10,$10,$0E,$01,$05,$1E,$04 'Ş dataları Bu durumda AŞIK yazdırabilmen için şöyle yapman gerek; LCDOUT $FE,1,"A",0,"IK" hepsi bu kadar. Yalnızca Ş harfini yazdırman için LCDOUT $fe,1,0 yazman yeterli oluyor. Demekki karekter numarasını yazarsan o karekteri ekrana getirebiliyorsun. Yalnızca dikkat etmen gereken husus karekterin yazılacağı yeri iyi tayin etmek olacaktır. Devre şekli yukardaki devre şeması ile aynıdır PİCBASİC kodu '*****LCD_DEFINE TANIMLAMALARI*****DEFINE LCD_DREG PORTB 'LCD DATA BACAKLARI PORTB'YE BAGLIDEFINE LCD_DBIT 4 'LCD DATA BITLERI HANGİ BITTEN BASLIYORDEFINE LCD_EREG PORTB 'LCD ENABLE BACAGI HANGI PORTA BAGLIDEFINE LCD_EBIT 3 'LCD ENABLE BITI HANGI PORTA BAGLIDEFINE LCD_RWREG PORTB 'LCD RW BACAGI HANGI PORTA BAGLIDEFINE LCD_RWBIT 2 'LCD RW BACAGI HANGI BITE BAGLIDEFINE LCD_RSREG PORTB 'LCD RS BACAGI HANGI PORTA BAGLIDEFINE LCD_RSBIT 1 'LCD RS BACAGI HANGI BITE BAGLIDEFINE LCD_BITS 4 'LCD 4 BIT BAGLIDEFINE LCD_LINES 2 'LCD KAC SIRADAN OLUSUYORTRISB=0LOW PORTB.2 'RW BACAGI EKRANA YAZMAYA IMKAN VERMEK ICIN LOW YAPILDIPAUSE 200 '200 ms BEKLEME YAP'TÜRKÇE KARAKTERLİ SABİT YAZI'LCDOUT $FE,$40,$0A,$00,$11,$11,$11,$11,$0E,$00 'ÜLCDOUT $FE,$48,$0E,$11,$10,$10,$11,$0E,$04,$00 'ÇLCDOUT $FE,$50,$00,$0E,$04,$04,$04,$04,$0E,$00 'ILCDOUT $FE,$58,$0A,$00,$0E,$11,$11,$11,$0E,$00 'ÖLCDOUT $FE,$60,$0E,$00,$1F,$10,$13,$11,$1F,$00 'ĞLCDOUT $FE,$68,$0E,$11,$10,$0E,$01,$15,$0E,$04 'ŞLCDOUT $FE,1,"T",0,"RK",1,"E HARFLER"LCDOUT $FE,$C5,0,1,2,3,4,5 | |
|
| | #50 (mesaj-linki) | |
| Cvp: Hobby Elektronik DevrelerOpamlı Voltaj Kontrollu Kare Dalga Osilatör Bu devreyi bir arkadaşın talebi üzerine hazırladım. Devre esas olarak OPAMP kataloglarında verilmektedir. Ben ise uygulanabilir değerleri üzerinde çalıştım. Devre LF353 opampı ile yapılmış olup 10K ayarlı direnc vasıtasıyla frekansı değiştirilebilmektedir. Devre 10 Volt besleme ile çalışmaktadır. Devrede bulunan şase voltajı 5 Volt simetrik besleme şeklidir. Bu simetrik beslemeyi elde etmek için 2 tane direnç ile gerilim bölücü yapılabilir. | |
|
![]() |
| Etiketler |
| Yok |
Hobby Elektronik Devreler Konusuna Benzer Konular | ||||
| Konu | Konuyu Başlatan | Forum | Cevap | Son Mesaj |
| Elektronik Denetimli Asansörler | CrasHofCinneT | Mühendislik Bilimleri | 0 | 14-09-2008 09:46 |
| Elektronik Teknikeri | P.u.S.u | Meslekler | 1 | 21-03-2008 14:08 |
| Elektronik Nedir? Elektronik Hakkında | Blue Blood | Mühendislik Bilimleri | 0 | 17-12-2007 21:24 |
| Elektronik Arşiv | gevv | Mühendislik Bilimleri | 1 | 15-05-2007 00:29 |
| Elektrik ve Elektronik Mühendisliği | Mystic@L | Meslekler | 1 | 03-10-2006 02:41 |