12 Haziran 2019 Çarşamba

ORANGE PI 2x16 LCD

ORANGE PI ile 2x16 LCD KULLANMA

Bu yazımızda Orange pi ile 2x16 Lcd'yi çalıştıracağız. Pin Bağlantılarını ve kullanabileceğimiz kütüphaneleri inceleyeceğiz.


2x16 Lcd(Liquid Crystal Display)


Bugün çalıştıracağımız Lcd ekran 2 satır ve bu satırların her biri en fazla 16 karakter gösterebilir. Normalde 2x16 Lcd ekranın 16 pini vardır fakat "lcm1602" modülü ile kullandığınızda 16 pin yerine 4 pin kullanarak Lcd ekranı kullanabiliyorsunuz. Biz bugün "lcm1602" modülü olan bir Lcd ekranı kullanacağız.



Bu 2x16 Lcd ekran üzerinde 4 adet çıkış pini vardır:Vcc-Gnd-Sda-Scl pinleri. Pin bağlantıları aşağıdaki gibidir.

VCC ▬  Pin 1
GND 
▬ Pin 6
SDA 
▬ Pin 3
SCL 
▬ Pin 5

Yüklemeler 



Şu an son sürüm olan Ubuntu Bionic(18.04) kullanıyoruz. Yeni sürümle birlikte I2C ile yeni bir modülü kullanırken yapmamız gerekenler değişti. Modern sürümlerle birlikte bu tarz bir modül kullanırken yapalandırma için "Device Tree Overlay"e göz atmak gerekiyor. Burada sırasıyla hem I2C portlarını etkinleştirmeliyiz hem de bu porttan iletişim kuran cihazı tanıtmalıyız. Bütün bu işlemleri "root" kullanıcısında yapmanız gerekiyor.


İlk önce güncellemeleri yükleyelim.

apt-get update && apt-get upgrade -y


Daha sonra I2C portlarını görmek için gerekli olan yüklemeyi yapalım.

apt-get install i2c-tools


Bizim kullanacağımız I2C pinleri etkinleştirilmediği için "
armbianEnv.text" dosyasına gerekli "overlays=i2c0" satırını ekleyelim. Burada biz SDA,SCL pinleri olarak 3. ve 5. pinleri kullandığımız ve bu pinler "i2c0" diye geçtiği için "i2c0"ı etkinleştiriyoruz.




Cihazı tekrar başlatıyoruz.

reboot

"i2cdetect" komutu ile bağladığımız Lcd modülünün '27' numaralı hattına bağlı olup olmadığını görüyoruz.

i2cdetect -y 0





Daha sonra kullanacağımız Lcd ekran için kullanacağımız kütüphaneyi "git" ile indiriyoruz.

sudo git clone https://github.com/wargio/liblcm1602.git


Sonrasında indirdiğimiz dosya içine girip "make" komutu ile dosyayı derliyoruz.

cd liblcm1602

sudo make

ls




Burada 4 tane örnek var. Bunları inceleyip, isteğiniz doğrultusunda düzetmeler yapabilirsiniz. Örneğin "example" adlı dosyayı çalıştıralım. Ayrıca kodda bir değişiklik yaptığınızda "make" komutu ile derleyip daha sonra kodu çalıştırmanız gerekiyor.

./example




2x16 Lcd ile Tarihi-Saati ve Yerel IP'yi Gösterme 

"liblcm1602" kütaphanesini indirdiğimizde, "example2" örneğini çalıştıracak olursak, kullanımının aşağıdaki gibi olduğu görülür.

./example2 ilksatir ikincisatir





Bu örneği kullanarak birinci satıra tarih ve saati, ikinci satıra da yerel IP adresini yazdırabiliriz.

nano lcdtime.sh ile "lcdtime" adlı bir script dosyası açıyoruz.

Daha sonra içine aşağıdaki kodları atıyoruz.


#!/usr/local/bin/bash

t='/bin/date +%Y"."%m"."%d"-"%H":"%M'

ip='/sbin/ifconfig|/bin/grep inet|/usr/bin/head -1|/bin/sed 's/\:/ /'|/usr/bin/awk '{print $2}''

/root/liblcm1602/example2 ${t} ${ip}

chmod +x lcdtime.sh komutu ile gerekli izni veriyoruz.

crontab -e komutunu yazdığımızda karşımıza bir dosya çıkar. Bu dosya belli bir kurala göre yazdığımız betikleri, belirttiğimiz zamanlarda çalıştırır.




*/1 * * * * /bin/sh /root/lcdtime.sh script dosyamızın dakikada bir çalışması için bu komutu "crontab" klasörüne yazıyoruz.

Son olarak Lcd ekranındaki görüntü aşağıdaki gibi oluyor.



Lcd kullanımı ile ilgili işlemleri sizlere sade ve anlaşılır bir biçimde anlatmaya çalışıyoruz. Gerek gördükçe görsellerle bunu destekledik. Yazıda anlaşılmayan veya yanlış olduğunu düşündüğünüz kısımları iletişim adreslerinden bizlere bildirebilir ve öğretici yazıların daha kaliteli olması için destek verebilirsiniz. Herkese iyi çalışmalar.

Hiç yorum yok:

Yorum Gönder

Öne Çıkan Yayın

ORANGE PI PYTHON UART

ORANGE PI PYTHON UART Python kurulum  yazısında Orange pi'de Python konusuna giriş yapmıştık. Daha sonra  Python Gpio  yazısında gir...