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)
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
./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}
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.
Son olarak Lcd ekranındaki görüntü aşağıdaki gibi oluyor.
Hiç yorum yok:
Yorum Gönder