PIC Hobi Kursu 3. hafta

LCD
16×2 lcd kullanacağız. Bu 16 harf 2 sütun demektir.
Pinler ve işlevleri

1 – toprak
2 – +5v
3-kontast (bir pot konup ayarlanabilir direk şase full kontrast demek genelde 1 kohm bir direnç kullanılır)
4-RS – panel komut saklayıcısı.
Low = 0 default
High = 1
Okuma yazma yapılan portta (R/W port 5) bir işlem yaptığımızda haber vermek için kullanıyoruz.
Port sayısı 8 olan 16 bitlik lcdlerde deklareyi bir seferde yapabiliriz.
DECLARE LCD_INTERFACE 8
Port sayısı 8 bit ise eğer bunu 2 seferde yapabiliriz.
1. Seferde ilk veriler (0000) (0000) 2. Seferde de diğerleri gönderilir.
DECLARE LCD_DTPIN PORTD.7    2 parça verinin okunmaya başlayacağı portu belirtir.
Pratik hex cevirme yöntemi

PRINT kısmında yazılan kodun gelme sebebi budur.
0E – Kursor alt çizgi olur
0C – Kursor silinir
PRINT At 2,3   (2 satır 3. sütündan başla demektir.)
5-R/W okuma yazma Burda veriler yazarız.0 (Sıfır) yazma 1(Okuma).

6- E Enable – Verilerin okunması için sıfır yapılır bir süre bekledikten sonra tekrar 1 yapılır.

Örnek Kod
Device 16F877A
ALL_DIGITAL=true ‘porta ve porte’yi dijitale çevirir
Declare LCD_DTPORT PORTD
Declare LCD_RWPIN PORTE.1 ‘okuma/yazma ucunu belirliyor
Declare LCD_DTPIN PORTD.7 ‘4bit mode için başlangıç data portunu belirler
Declare LCD_INTERFACE 8 ‘data portunda kaç uç kullanılacağını belirler. 4 port veya 8 port olabilir
Declare LCD_ENPIN PORTE.2
Declare LCD_RSPIN PORTE.0
Low PORTE.1 ‘porte.1 ucunu sıfır yaparak yazma modunu seçer
Print $FE, $0F ‘LDC’ye komut göndermek için kullanılır. PRINT’in helpine bak
DelayMS 20
basla:
Cls
Print At 1,1, “ALpay”
DelayMS 500
GoTo basla

KEYPADS
Keypad larin çalışma şekli şu şekildedir. Key 16 değeri veriyorsa bir tuşa basılmamış demektir.Bu durumda tekrar bak demek için if kullanımı mantıklıdır.
If k=16 Then basla (else gerektirmeyen if kullanımı)
Tuşlar herhangi bir işlem yapılmadan LCD üzerinde şu karşılıkları verecektir.

Bunları düzeltmek için kod yazılır.

DC MOTORLAR
D0=1
D1=0 ise motor out1 den out2 ye doğru dönecektir.
D0=0
D1=1 ise motor out2 den out1 ye doğru dönecektir.
PORTD=1 saatyönü dönüş
PORTD=2 Saatyönü tersi dönüş
PORTD=0 STOP
Güçlü hocanın entegre hakkındaki ayrıntılı yazısı
L293B Motor Kontrol Devresi
Buradaki devre Elektronik Hobi ‘nda Kısım 2, Bölüm 6, Sayfa 54 ‘te gerçekleştirdiğimizin aynısıdır. L293B entegresi IN1 ve IN2 girişine uygulanan lojik sinyaller ile, DC motora yön kontrolü yapabilmektedir. Gereken bu lojik sinyaller BASIC-Tiger ?ın 8. portundan alınmaktadır. BASIC-Tiger içerisindeki program, iş istasyonundan gelen komutun parametresini değerlendirerek gerekli lojik sinyali port üzerine yerleştirmektedir.

L293B yongası BASIC-Tiger ?ın 8 numaralı portunun 0,1,2,3 numaralı pinlerine bağlıdır. Bağlantı şekli ise yukarıdaki şekilin sol tarafındaki gibidir. Bir L293B ile 2 adet DC motor kontrol edilebilmektedir. MAR üzerinde 2 adet DC motor bulunduğu için 1 adet L293 B devresi uygulama için yeterlidir.
L293B ile iki ayrı motor kontrol edebilirsiniz. Çalışma prensipleri çok basittir. Motoru besleyeceğimiz gerilim entegrenin 8 numaralı pinine sağlanır. Üzerindeki OUTPUT çıkışları, INPUT girişlerine herhangi bir sinyal verilmedikçe 0 Volt durumundadır. Eğer INPUT1 girişine lojik ?1? uygularsanız, 8 numaralı pinden gelen besleme OUTPUT1 çıkışına akacaktır. Aynı şekilde INPUT2 girişi, beslemeyi OUTPUT2 ye aktaracaktır. Motor, OUTPUT1 ve OUTPUT2 pinlerine takılır. Bu durumda gerilim hangi çıkışa yönlendirilirse motor o yönde dönecektir.
LM293B, motor beslemesini MAR üzerindeki aküden almaktadır. Bu durumda motorlar 12 volt ile çalışmaktadır. Ayrıca LM293?ü çalışır durumda tutabilmek için ?1? numaralı ENABLE pinini sürekli +5 Volt ile beslemelisiniz. ?4? ve ?5? numaralı pinleri Paralel portun topraklarından birine bağlayabilirsiniz. Bunların dışında şekilde görüldüğü gibi, OUTPUT çıkışlarına, portu motordan geri dönebilecek ters EMK ya karşı korumak amacı ile dört tane DIYOT kullanabilirsiniz. Bunun için DIYOT olarak 1N4007 kullanabilirsiniz. Motor kontrol devresi, Tiger üzerindeki J2 portu üzerindeki 8 numaralı portun 0-3 arası bitlerine bağlanmıştır. Tiger üzerindeki yazılım, seri port üzerinden gönderilen komut, eğer motor kontrolü komudu ise, porta gereken lojik sinyali belirtilen süre kadar göndermektedir.

L293B Datasheet dosyasını buradan indirebilirsiniz. (PDF 563K)

Bu yazı Genel kategorisine gönderilmiş. Kalıcı bağlantıyı yer imlerinize ekleyin.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir