elektronik projeler devre semalari etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
elektronik projeler devre semalari etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

23 Mayıs 2017 Salı

opto ile röle sürme devresi



İşlemcinizden röle sürmek istediğinizde optolu bir şekilde sürerek parazit ve piklere karşı devrenizin dayanımını artırabilirsiniz. Devredeki R1 1000 ohm bağlı vcc girişini işlemcinizin çıkış pinine bağlayınız. Bc237 gibi bir transistör kullanılabilir. R2 direnci 2.2k olabilir. Röle olarak 5 volt veya 12 volt kullanılabilir. D1 1n4148 kullanılabilir. IN0 noktası işlemcinin gnd hattına bağlanır.
devamını oku ...

14 Mayıs 2017 Pazar

opto kullanımına örnek

Devrenizi yüksek voltajdan korumak için opto kullanmak şarttır. Ne zaman nereden girişinize yüksek voltaj geleceğini bilemezsiniz. Aşağıdaki pdf dosyasında örnekleri inceleyebilirsiniz.

https://drive.google.com/file/d/0B9F3CyDwz-nIM1h0YTZ1LTdZVXc/view?usp=sharing

devamını oku ...

13 Mayıs 2017 Cumartesi

g510 gsm modül devre şeması



Bir gsm projemde kullandığım g510 gsm modülün uygulama devre şemasını paylaşmak istedim. Webde net bir devre şeması olmaması nedeniyle bu paylaşım gerekliydi. İletişim hattı 3.3 volt 5 volt seviye uygunlaştırıcı içerir. Eğer 3.3 volt bir işlemci kullanılırsa voltaj seviye devresini kullanmaya gerek yok. Linkten pdf olarakta indirebilirsiniz.

g510 circuits schema download



devamını oku ...

13 Mart 2017 Pazartesi

pic basic pro string dizi ile eeproma kayit


Bir projemde eprom alanının yaklaşık 100 adresine bazı değerleri kaydetmem gerekiyordu. İlk kodlama aşamasında aşağıdaki yapıyı kullandım. Daha sonra kodlama bittiğinde bu satırlar gözüme batmaya başladı. Ayrıca program boyutunu da artırıyorlardı. Bunları string dizi ile kayıt edebilirim diye düşündüm.

WRITE 0, NO[0]:PAUSE 10 ' NO LAR YAZILIYOR...
WRITE 1, NO[1]:PAUSE 10
WRITE 2, NO[2]:PAUSE 10
WRITE 3, NO[3]:PAUSE 10
WRITE 4, NO[4]:PAUSE 10
WRITE 5, NO[5]:PAUSE 10
WRITE 6, NO[6]:PAUSE 10
WRITE 7, NO[7]:PAUSE 10
WRITE 8, NO[8]:PAUSE 10
WRITE 9, NO[9]:PAUSE 10
WRITE 10, NO[10]:PAUSE 10

Yukarıda ilk programlamada kullandığım 11 satır görülüyor ve fazladan pause kullanmak yerine aşağıdaki dizi yöntemiyle kod optimize edilmiş olur ve sadece 5 satırla aynı iş yapılabilir. Aynı yöntemle okumada yapılabilir:

ADR VAR BYTE
NO VAR BYTE[100]

NO_KAYIT:

ADR=0
FOR ADR=0 TO 10 

WRITE ADR, NO[ADR]
PAUSE 10 

NEXT ADR


Tek adr değişkeni her yerde kullanabilirsiniz. Tabiki kullanmadan önce sıfırlamayı unutmayın.

Şimdi biraz daha karışık bir eproma kayıdı inceleyelim:

Yukarıdaki örnekte NO değişkeni en fazla 11 değer alabiliyor. NO[10] şeklinde düşünebiliriz.

Peki NO değişkenini 20 ve 30 arası eproma kaydetmek istersek ne yapmalıyız. Çıkarma işlemi size yardımcı olacaktır. Farklı hafıza alanlarında ulaşmak için toplamada kullanılabilir.

ADR=0
FOR ADR=20 TO 30 'adr değişkeninin 20-30 arası epromlara yazması sağlanır...

WRITE ADR, NO[ADR-20]  ' 20 çıkartarak N0[0] ile NO[10] arası değerler eproma yazılıyor.
PAUSE 10 

NEXT ADR

For next harici data komutu ile de eeproma sıralı kayıt yapabilirsiniz:

Data @ 0,255,255,255,255,255,255

data komutu ile ilk 6 eeprom adresine 255 yazılır veya şu yöntem kullanılabilir:

EEPROM 0,[1,10,11,12,13,14,15]
İlk eeprom 1 sonraki 11 4. eeprom 12 ... diye devam eder..

Diğer kodlama da şu şekilde:


EEPROM 5,[10,20]
eeprom 5'e 10, 6'ya 20 yazar.




devamını oku ...