Lezzetli Robot Tarifleri Sosyal'e Hoş Geldiniz.. Devamı..

Giriş Yap Üye Ol


Konuyu Oyla:
  • Derecelendirme: 5/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
2x16 LCD Ekran ve Arduino
#1
Video 
dX2RkL.gif






5YkBMq.gif
Arkadaşlar merhaba, 

Bu videoda 2×16 lcd ekranı arduino ile kullanmayı öğreniyoruz. 3 video sürecek olan bu serinin ilk bölümünde 2×16 lcd ekranın pinlerinden, bağlantısından ve kullanıma hazır hale getirmek için gerekli olan bir kaç koddan bahsedeceğiz. 2. ve 3. bölümlerde ise ekranın kullanımı ile alakalı başka komutlara göz atacağız. İyi seyirler 1f642.png


İlginizi çekebilecek başka videolar :
” Arduino İle RGB Led Kullanımı ” — https://youtu.be/V_Ci2hx-nVU
” Park Sensörü Yapıyoruz ” — https://youtu.be/frrkwm5gWTw
” LM35 İle Termometre ” — https://youtu.be/j0utBDU9NvU
Arduino ve I2C ile 4×20 – 2×16 LCD Ekran Kullanımı — https://youtu.be/NPsSUCNJxJI

Yeni video ve etkinlikler için takipte kalın 1f642.png

by2WJV.gif

Not: Malzemeler 3 video için geçerlidir
- 2 X 16 LCD ekran
- 10 K Potansiyometre
- Arduino ( İstenilen model olabilir ) Video için tıklayınız
- Breadboard ve Yeteri Kadar Jumper Kablo  Video için tıklayınız


MkyrLa.gif
P0Jgk5.jpg

QQl9ZV.gif
1. Videomuz için
Kod:
/*
* Arduino İle Nasıl Kullanılır?
* 2X16 LCD Ekran ve Arduino
* VİDEO >>> http://lezzetlirobottarifleri.com/lrtsosyal/konu-2x16-lcd-ekran-ve-arduino.html
*/

//              LCD ekranımızı tanıyalım önce

// VSS    :Ekranımızın çalışması için gerekli eksi pinimiz (gnd)
// VDD    :Ekranımızın çalışması için gerekli Artı pinimiz (+5 v.)
// V0     :Bazı modellerde 'VEE' diye geçer Kontrast pini.
// RS     :Lcd'den komut girişimi yapılcak yoksa data girişimi
//         yapılacak ona karar veren pin.
// RW     :Lcd' yazma işlemi mi okuma işlemimi yapılacak ona
//         ona karan veren pin
// E      :Enable izin sinyali
// D0-D7  :0'dan başlayan 7 kadar giden Lcd'ile aramızda data
//         alışverişini sağlayan pinler      
// A      :Anot Lcd ekranımız arka plan ışının artı pini
// K      :Katot Lcd ekranımız arka plan ışının eksi pini



// Öncelikle kütüphanemizi projemize dahil ediyoruz
// #include<LiquidCrystal.h> diyerek dahil oluyor.
// LiquidCrystal lcd mizin calışması için gerekli
// kütüphane. bu Arduinoda hazır geldiği için
// özel olarak eklemeye gerek yok.
// kütüphane; lcd için bir çok fonksiyon var
// home() clear() setCursor() v.s. gibi fonksiyonların
// çalışması için tanımlandığı yer.

// fonksiyon kullanan ve birden fazla bacaklı elemanlar için
// nesne oluşturmalıyız.

// bunu da LiquidCrystal lcd(rs, e, d4,d5,d6,d7); şekilde yapıyoruz.
//         LiquidCrystal lcd( 8, 7,  6, 5, 4, 3);  pinlerimizi bağladık
                                                 // ve lcd adında nesle oluşturduk.
                                                 // bu işlem 4 bitlik işlemler için.
                                                 // lcd mizi Arduinoya tanıttık.
#include<LiquidCrystal.h>

LiquidCrystal lcd( 8 ,7,  6, 5, 4, 3); // nesnemizi oluşturduk ve Arduinoya tanıttık
void setup()
{

lcd.begin(16,2);        // lcd 16 karakter 2 satırdan oluştuğunu bildiriyoruz.

// şimdi ilk fonksiyonumuzu yapalım  klasik " merhaba dunya" yazdıralım.
// ve türkçe karakter kullanmıyoruz onlar için bir takım fonsiyon ve komutlar
// var

lcd.print("Merhaba Dunya"); // nesnemizi lcd adında oluşturduğumuz için
                           // fonsiyonlar lcd ile başlıyor
                           // nesne adı.print(""); ile yazdırdık
                           // ve ilk kodumuz yaptık.
}

void loop()

{



}

Devremizde Kullanılan Kodları Buradan İndirebilirsiniz
Devremizin Fritzing Devre Şemasını Buradan İndirebilirsiniz

QQl9ZV.gif
2. Videomuz için
Kod:
/*
* Arduino İle Nasıl Kullanılır?
* 2X16 LCD Ekran ve Arduino
* VİDEO >>> http://lezzetlirobottarifleri.com/lrtsosyal/konu-2x16-lcd-ekran-ve-arduino.html
*/

// Öncelikle kütüphanemizi projemize dahil ediyoruz
// #include<LiquidCrystal.h> diyerek dahil oluyor.
// LiquidCrystal lcd mizin calışması için gerekli
// kütüphane. bu Arduinoda hazır geldiği için
// özel olarak eklemeye gerek yok.
// kütüphane; lcd için bir çok fonksiyon var
// home() clear() setCursor() v.s. gibi fonksiyonların
// çalışması için tanımlandığı yer.

// fonksiyon kullanan ve birden fazla bacaklı elemanlar
// nesne oluşturmalıyız.

// bunu da LiquidCrystal lcd(rs, e, d4,d5,d6,d7); şekilde yapıyoruz.
//          LiquidCrystal lcd( 8 ,7,  6, 5, 4, 3);  pinlerimizi bağladık
                                                 // ve lcd adında nesle oluşturduk.
                                                 // bu işlem 4 bitlik işlemler için.
                                                 // lcd mizi Arduinoya tanıttık.
#include<LiquidCrystal.h>

LiquidCrystal lcd( 8 ,7,  6, 5, 4, 3); // nesnemizi oluşturduk ve Arduinoya tanıttık

int a = 6;                        // a dında bir değişken atadık ve değerini 6 yaptık

char b = 't';              // char veri tipinde bir değer. tek karakterlik olduğu için
                          // tek tırnak içinde 't' şeklinde atanıyor.
void setup()
{

lcd.begin(16,2);        // lcd 16 karakter 2 satırdan oluştuğunu bildiriyoruz.

// şimdi ilk fonksiyonumuzu yapalım  klasik " merhaba dunya" yazdıralım.
// ve türkçe karakter kullanmıyoruz onlar için bir takım fonsiyon ve komutlar
// var

lcd.print("Ciz Yap Oynat"); // kodumuzu yazdık. gördüğünüz gibi ekrana print ediyoruz.
                           // türkçe karakterler kullanamayız onun için farklı komutlar
                           // ve kütüphaneler var.böyle kelimelerle sınırlı değil
                           // sayılar da yazdırılabilir onun için
// lcd.print(156); çift tırnaklara gerek yok.çift tırnak kelimeler için geçerli.
// ve ekrana yeni birşey yazdırmanız gerektiğinde mutlaka ekranı temizlemelisiniz
// nesne adı.clear(); ile yoksa ekranda yer olmadığından ya üzerine yazacaktır yada
// sıradakı cursöre.

lcd.clear(); // ekranımızı temizledik

lcd.print(156, BIN); // 156 sayısının ikiliık sayı tabanına göre değerini yazmak için
                    // BIN ; binary sayı tabanının kısaltması
                   
delay(3000);         // Bekleme süremiz 3 saniye

lcd.clear(); // ekranımızı temizledik. Yeni bir şey yazdırmadan önce ekranı temizlememiz gerekiyor.    

lcd.print(156, OCT); // şimdi de 156 sayısının 8 lik sayı tabanına göre değerini
                    // yazdırdık.

delay(3000);         // bekleme siresi veriyoruz ki yaptığımız kodları görebilelim diye
lcd.clear();

lcd.print(156, HEX); // 156 nın 16 lık sayı tabanına göre değerini yazdırıyoruz.
delay(3000);
lcd.clear();

lcd.print(12.56);   // Ondalık sayılarıda yazdırabiliyoruz.
delay(3000);
lcd.clear();

lcd.print(a);      // a değişkeninin değerini yazdırıyoruz ( yukarıda tanımlandı )tırnaksız şekilde
delay(3000);       // eğer "a" böyle yazarsak sadece a yazdırabiliriz
lcd.clear();       // TIRNAKSIZ DEĞERİ YAZDIRABİLİRİZ            

lcd.print(b);      // b değişkeninin değerini yazdırdık
delay(250);
lcd.clear();

 // bizim bunları void setup() içerisine yazma nedenimiz Arduino çalışmaya başladığında
 // void setup() bölümü bir kere çalışır sonra void loop döngüsü çalışmaya başlar ve
 // biz arduinonun elektriğini kesene kadar bu çalışmaya devam eder.
 // lcd.print(b); bunu void loop içerisine yazsaydık eğer t yazdıktan sonra yeniden
 // yazmak için baktığında yeri dolu olduğundan bir sonraki cursöre yazacak ve devamlı
 // gidecek, ekranımız dolup taşacaktı. Bu bir satırda 40 karakter boyunca devam edip,
 // 2. satırda 40 karakterden dolduktan sonra tekrar 1. satıra geri dönecekti ve
 // üzerine yazarak devam edecekti 16 dan sonra 40 kadar karakter var ama biz bunu
 // göremiyoruz hafizasında kalıyor.işte bunu engellemek için lcd.clear(); kullanıyoruz.

lcd.cursor();     // ekrandaki imleci yanı sıradaki yazılacak yeri gösteriyoruz.
delay(3000);      // nesne adı.cursor(); ile gösteriyoruz.

lcd.blink();      // imlecimizi yanar sönerli hale getiriyoruz
delay(3000);      // nesne adı.blink(); ile

lcd.noCursor();   // imlecimizi kapatıyoruz sadece yanar söner kalıyor
delay(3000);      // nesne adı.noCursor(); ile imleci kapatıyoruz

lcd.noBlink();    // yanar sönerli halini kapatıyoruz.
delay(3000);      // nesne adı.noBlink(); yanar söneri kapatıyoruz.

// bu komutlar bazı yerde ekrana bilgi göndermek için yada kullanıcıdan
// ekrana bilgi girmesini istediğiniz yeri belirtmek için kullanılır.

// her zaman nesne adı.clear(); kullanmak zorunda değiliz bu başka yoluda
// yazı alanını belirtmemiz yani nerede yazmasını göstericez.

// lcd.setCursor(0,0);  // 1. satırın 1. karakterinden başla diyoruz
                    // 0-1023 mantığında olduğu gibi sayılar 0 dan başlıyor
                    // 1.satır için 0 / 2. satır içinse 1 olacak şekilde
                    // 1.karakter için 0 / 2. karakter için 1 diye 15 kadar
                    // gidiyor

lcd.setCursor(0,1);           // yazımızı 2. satır 1. karakterden başlamasını söyledik                  
lcd.print("Ciz Yap Oynat");
delay(3000);  
lcd.clear();
 
lcd.setCursor(3,1);          // şimdi de 2. satır 4.karakterden başlamasını söyledik
lcd.print("Ciz Yap Oynat");
delay(3000);  
lcd.clear();
 
// .cursöru(0,0) yazmak yerine daha kolay bir yolla  
// nesne adı.home(); diyerek cursörü 0,0 a sabitlemiş oluyoruz.
       
}
void loop()

{
lcd.home();
lcd.print("Ciz Yap Oynat");  // şimdi ekrandakileri hafizasından silmeden
delay(5000);                 // lcd ekranı kapatalım
lcd.clear();
lcd.print("LCD KAPANACAK");  
delay(1000);
lcd.noDisplay();             // LCD ekranını kapatma konksiyonumuz.
delay(1000);
lcd.display();               // LCD ekranını açma konksiyonumuz.  
lcd.clear();
lcd.print("LCD ACILDI");
delay(5000);


}

Devremizde Kullanılan Kodları Buradan İndirebilirsiniz

 QQl9ZV.gif
3. Video için ( Soldan Sağa kaydırma )
Kod:
/*
* Arduino İle Nasıl Kullanılır?
* 2X16 LCD Ekran ve Arduino 3 Soldan Sağa yazdırma
* VİDEO >>> http://lezzetlirobottarifleri.com/lrtsosyal/konu-2x16-lcd-ekran-ve-arduino.html
*/

#include<LiquidCrystal.h>  // LCD Kütüphanemizi projemize ekledik

LiquidCrystal lcd( 8 ,7,  6, 5, 4, 3); // nesnemizi oluşturduk ve Arduinoya tanıttık


void setup()
{

lcd.begin(16,2);        // lcd 16 karakter 2 satırdan oluştuğunu bildirdik



}
void loop()

{
// lcd ekrandaki sayıları yada yazıları sağdan sola ve soldan sağa doğru kaydırma
// bunu anlamsız ve ekranın dolup taşmaması için bir for döngüsi ile yapabiliriz
// lcd.scrollDisplayRight();

                   // soldan sağa doğru kaydırma işlemi
lcd.print("*");      
   for(int a = 1 ; a < 100 ; a++) // bu işlem ekrana istediğimiz kadar '*' yazdıracak  
{                                  
   lcd.scrollDisplayRight();     // bu fonksiyonlada ekrana '*' bir kere yazdıktan sonra  
   delay(500);                   // void loop() döngüsü çalıştıkça lcd.scrollDisplayRight();
}                                 // komudunu gördükçe bir sonraki karaktere yazarak soldan
                                 // sağa doğru ilerleyerek '*' işaretimizi yazacak
}        
               

Devremizde Kullanılan Kodları Buradan İndirebilirsiniz

QQl9ZV.gif
3. Video için ( Sağdan sola yazdırma )
Kod:
/*
* Arduino İle Nasıl Kullanılır?
* 2X16 LCD Ekran ve Arduino - Sağdan sola yazdırma
* VİDEO >>> http://lezzetlirobottarifleri.com/lrtsosyal/konu-2x16-lcd-ekran-ve-arduino.html
*/

#include<LiquidCrystal.h>  // LCD Kütüphanemizi projemize ekledik

LiquidCrystal lcd( 8 ,7,  6, 5, 4, 3); // nesnemizi oluşturduk ve Arduinoya tanıttık


void setup()
{

lcd.begin(16,2);        // lcd 16 karakter 2 satırdan oluştuğunu bildirdik



}
void loop()

{
// lcd ekrandaki sayılrı yada yazıları sağdan solo ve soldan sağa doğru kaydırma
// bunu anlamsız ve ekranın dolup taşmaması için bir for döngüsi ile yapabiliriz
// lcd.scrollDisplayLeft();

                   // Sağdan sola  doğru kaydırma işlemi
lcd.setCursor(1,15);              // 2. satırın 16. karakterinden başlamasını söyledik.                    
lcd.print("*");      
   for(int a = 1 ; a < 10 ; a++) // bu işlem ekrana istediğimiz kadar '*' yazdıracak  
{                                  
   lcd.scrollDisplayLeft();      // bu fonksiyonlada ekrana '*' bir kere yazdıktan sonra  
   delay(500);                   // void loop() döngüsü çalıştıkça lcd.scrollDisplayLeft();
}                                 // komudunu gördükçe bir sonraki karaktere yazarak sağdan
                                 // sola doğru ilerleyerek '*' işaretimizi yazacak.
}        
               

Devremizde Kullanılan Kodları Buradan İndirebilirsiniz

QQl9ZV.gif
3. Video için ( Özel Karakter Yazdırma )
Kod:
/*
* Arduino İle Nasıl Kullanılır?
* 2X16 LCD Ekran ve Arduino 3 Özel Karakter Yazdırma
* VİDEO >>> http://lezzetlirobottarifleri.com/lrtsosyal/konu-2x16-lcd-ekran-ve-arduino.html

 bunun için ekrandaki her bir karakter için buluna kutucuklardaki
 5x8 piksel den oluşan kucuk noktaları  tek tek kodlamamız lazım
 yani;

 0 0 0 0 0      şu anda 0 olarak gördüğünüz tek bir pikseli temsil ediyor.
 0 0 0 0 0     '0' verilen yerlede bişey yok noktanın olmasını istediğimiz
 0 0 0 0 0      yere 1 vererek o noktayı aktıf ediyoruz
 0 0 0 0 0      şimdi iksdesurati yapalım bunun için aktif olaması gereken
 0 0 0 0 0      '0' ları '1' iler değiştireceğiz
 0 0 0 0 0
 0 0 0 0 0
 0 0 0 0 0
 --------------------------------------------------------------------------
 0 0 0 0 0     Bu şekilde aktif olmasını istediğimiz pikselleri '1' ile
 0 1 0 1 0     değiştirdik ve bu şekilde istenilen şekil veya sembolleri
 0 0 1 0 0     oluşturabiliyoruz.
 0 1 0 1 0
 0 0 0 0 0
 1 0 0 0 1
 0 1 1 1 0
 0 0 0 0 0

 hadi şimdi bu şekli yapalım ve görelim  :)

*/

// öncelikle byte veri tipinde iksdesuratı adında bir dizi oluşturacaz //

byte iksdesurati[8] = {B00000,
                      B01010,
                      B00100, // istediğimiz şekli oluştururken yaptımız
                      B01010, // aynı kadlamayı görüldüğü gibi yazıyoruz
                      B00000,
                      B10001,
                      B01110,
                      B00000};                    

// sonra kodladığımız bu pikselleri karakteri dönüştürüyoruz
// bunu da void setup() kısmında ;

// nesne adı.createChar(karakter no , dizi ism);

// komutunu kullanarak yapıyoruz

#include<LiquidCrystal.h>                         // ilk önce kütüphanemizi ekliyoruz

                     // LiquidCrystal lcd(rs, e, d4, d5, d6, d7); bağlantı uçları
                     LiquidCrystal lcd( 8, 7,  6,  5,  4, 3);       // şeklinde pinlerimize bağladık
                                                                    // ve lcd adında nesne oluşturduk


void setup()
{

 lcd.createChar(1,iksdesurati); // parantez içine  parametre yazmalıyız.bunun için  oluşturduğumuz karaktere  
 
              // bir numara veriyoruz. biz '1' verdik daha sonra oluştulacak karakter hangi piksel kodlamasını
              //  kullanacksa onu yazıyoruz.iksdesurati adlı diziyi kullanması için iksdesurati nı yazıyoruz.

                 
 lcd.begin(16, 2); // lcdmiz 16 karakter 2 satır olduğunu bildirip lcd ekranımız başlatıyoruz

}


void loop()

{
 
// önce ekranda taşma ma görntü kirliliği olmasın diye cursörü başa alıyoruz

lcd.home(); // cursörü başa aldık

// şimdi oluşturduğumuz karakteri lcd ekranımıza yazdıralım
// nesne adı.write(byte(karakter no )); komudunu kullarak yazdırıyoruz

lcd.write(byte(1));  // nesne adı.write deyip içersine byte veri tipinde oluşturduğumuz karakter numarasını yazıyoruz. işlem tamam :))

// bu şekilde lcd içerisine 7 adet karakter oluşturup saklayabiliriz


}

Devremizde Kullanılan Kodları Buradan İndirebilirsiniz
Ara
Cevapla
#2
Abi orijinal arduino unoda denedim videodaki kodları ve bağlantıyı kullandim çalışmadı belki bozuktur diye i2c li alıp yine videodakini kullandım o da çalışmadı
Sadece arkapilan ışığı yandı
Ara
Cevapla
#3
LCD ekranın lehimli mi? Ordaki deliklere kablo sokarsan temassızlık olur çalışmaz. Lehimli olması gerekli.
Ara
Cevapla
#4
Evet lehimli

Evet lehimli
Ara
Cevapla
#5
İyi günler. Yeni arduino ile ilgilenmeye başladım ve dün lcd'ye yazı yazmayı denedim. Ancak lcd de kare şeklinde kutucuklar aldım sebebi ne olabilir?
Ara
Cevapla
#6
(11-10-2016, Saat: 13:39)Rahşan Adlı Kullanıcıdan Alıntı: İyi günler.  Yeni arduino ile ilgilenmeye başladım ve dün lcd'ye yazı yazmayı denedim.  Ancak lcd de kare şeklinde kutucuklar aldım sebebi ne olabilir?

yaptığın bağlantıların ya da kurulu devrenin resmini atarsan yardımcı olabilirim.
Ara
Cevapla
#7
(11-10-2016, Saat: 14:53)z1rqdym Adlı Kullanıcıdan Alıntı:
(11-10-2016, Saat: 13:39)Rahşan Adlı Kullanıcıdan Alıntı: İyi günler.  Yeni arduino ile ilgilenmeye başladım ve dün lcd'ye yazı yazmayı denedim.  Ancak lcd de kare şeklinde kutucuklar aldım sebebi ne olabilir?

yaptığın bağlantıların ya da kurulu devrenin resmini atarsan yardımcı olabilirim.

Çok teşekkür ederim sorunu çözdüm. Lcd'imin türünden kaynaklı bir sıkıntı imiş.
Ara
Cevapla
#8
Lcd den veri okuma nasıl yapılır? bunun hakkında hiçbir yerde bilgi yok,anlatım yok.Yardımcı olabilir misiniz? Örnek verecek olursak lcd.read() gibi bir komut varmıdır. Arduinoda LocalIP adresi modemden çekip bu IP yi değiştirmek istiyorum.192.168.1.1 gibi bir ip yi 192.168.2.2 yapmak istiyorum.Nasıl yaparız sizce?
Ara
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
Video RFID Modülü Arduino İle Nasıl Kullanılır? LRT720 7 2,757 12-02-2018, Saat: 19:53
Son Yorum: Online
Video Arduino ve I2C ile 4x20 - 2x16 LCD Ekran Kullanımı LRT720 4 3,798 15-12-2017, Saat: 12:57
Son Yorum: fatihmehmet
Video ARDUINO ve L298N Motor Sürücü Kartı LRT720 22 11,585 01-12-2017, Saat: 03:07
Son Yorum: Online
Video Toprak Nem Sensörü Arduino İle Nasıl Kullanılır ? LRT720 4 4,783 19-03-2017, Saat: 01:09
Son Yorum: Online
Video Keypad Arduino İle Nasıl Kullanılır ? LRT720 2 960 05-12-2016, Saat: 20:46
Son Yorum: AlperrTG

Hızlı Menü:


Konuyu Okuyanlar:
1 Ziyaretçi