Arduino Devreleri #30 Arduino LCD Ekran I2C Adres Satırı Belirleme

Merhabalar, bu yazımızda Arduino uygulamaları serisinden Arduino LCD Ekran I2C Adres Satırı Belirleme Uygulaması hakkında bilgi vereceğim.

Arduino programı ayrıntılı kod kısmı, devre bağlantı şeması, devre kurulumu detaylı anlatımı ve devre çalışma videosu şu şekildedir.

I2C adres satırı belirleme kodu, I2C devre kartı bulunan lcd ekranların Arduino kodlama satırına yazacağımız adres satırını bulmak için kullanılır. Bu kodu Arduino kartına yükledikten sonra seri ekranı açarak adresi öğrenebilirsiniz. Eğer bağlantılar hatalı ya da I2C devresi bozuksa I2C cihazı bulunamaz.

NOT: Kod bölümü içerisinde yer alan ve // işareti ile başlayan satırlar açıklama satırlarıdır. O satırdaki kod bloğunun ne anlama geldiği ve nasıl çalıştığı ile ilgili bilgi verir. Arduino // işaretli alanı çalıştırmaz. Kod satırından isterseniz // işaret ile başlayan açıklama satırlarını silebilirsiniz.

I2C ADRES SATIRI BELİRLEME:

KOD BÖLÜMÜ:


//I2C Arabirim Adresi Öğrenme Kodu
 
#include <Wire.h>

void setup()
{
  Wire.begin();
 
  Serial.begin(9600);
  while (!Serial);
  Serial.println("I2C Arabirim Adresi Sorgulama İşlemi");
}
 
 
void loop()
{
  byte error, address;
  int nDevices;
 
  Serial.println("Tarama Başlatıldı...");
 
  nDevices = 0;
  for(address = 1; address < 127; address++ )
  {

    Wire.beginTransmission(address);
    error = Wire.endTransmission();
 
    if (error == 0)
    {
      Serial.print("I2C Donanım Bulundu. Adres: 0x");
      if (address<16)
        Serial.print("0");
      Serial.print(address,HEX);
 
      nDevices++;
    }
    else if (error==4)
    {
      Serial.print("Adres Bilinmiyor 0x");
      if (address<16)
        Serial.print("0");
      Serial.println(address,HEX);
    }    
  }
  if (nDevices == 0)
    Serial.println("I2C Donanım Bulunamadı.");
  else
    Serial.println("\nTamamlandı.\n"); //  \n ile bir sonraki işlem için satır aralığı verdik
 
  delay(10000);           // 10 sn bekle. Tekrar göster
}

DEVRE BAĞLANTI ŞEMASI

Arduino LCD I2C Bağlantı Şeması

Aşağıdaki tüm örneklerde aynı bağlantı şeması kullanılmaktadır.

DEVRE KURULUMU:

Malzemeler:

Arduino Uno
1 adet LCD I2C Ekran
4 adet bir ucu dişi, diğer ucu erkek jumper kablo

LCD ekran üzerinde monteli olarak gelen I2C modülü üzerine 4 adet dişi jumper kablonun uçları yerleştirilir. SDA ve SCL pinlerine bağlı kablolar, Arduino üzerindeki SDA ve SCL pinlerine bağlanır. Eğer Arduino üzerinde SDA ve SCL pinleri bulunmuyorsa Arduino üzerindeki analog pin sırasındaki A4 (SDA) ve A5 (SCL) pinlerine de bağlayabiliriz. Bu iki bağlantı Arduino Uno’nun dijital pin bloklarının en sonunda ayrı birer çıkış olarak yer almakta ve mikrokontrolcü üzerinde A4 ve A5 analog bağlantıları ile aynı yere bağlıdır. I2C modülü üzerindeki VCC kablo bağlantısını Arduino da 5 Volt çıkışına, I2C modülü üzerindeki GND kablo bağlantısını Arduino da GND çıkışına bağlayarak devre tamamlanır.

DEVRENİN ÇALIŞMASI:

Seri Port Ekranı I2C Adres Satırı Öğrenme

Bizim kullandığımız I2C Lcd ekranda adres satırı 0x27 olarak gözükmektedir.

Arduino kod satırında lcd ekran ile ilgili kod yazarken bu adres satırını kullanacağız. Örnek olarak: ( LiquidCrystal_I2C lcd(0x27, 16, 2); )

Eğer seri port ekranında 0x3f şeklinde bir değer okusaydık Arduino kod bölümünde bu satırı kullanacaktık. Örnek olarak: ( LiquidCrystal_I2C lcd(0x3f, 16, 2); )

Arduino LCD Ekran I2C Adres Satırı Belirleme

Devre hakkında yorumlarınızı aşağıdaki yorum kısmına yazabilirsiniz. Youtube kanalımızda da Temel Elektrik- Elektronik, Arduino ve mBlock ile ilgili ders videoları bulabileceksiniz. Youtube kanalıma abone olmayı da unutmayınız.

https://www.youtube.com/@candemirahmet

Oval@3x 2

Bu ipuçlarını kaçırmayın!

Kayıt butonuna bastıktan sonra e-postanız gelen kutunuza giderek gelen e-postayı onaylamayı unutmayınız. Gelen kutusunda görülmeyen postalar için Önemsiz -Spam klasörünü kontrol edebilirsiniz. Eğer kayıt e-postası ulaşmadıysa iletişim menüsünden bu durumu bildirebilirsiniz.

Yazan: Ahmet Candemir
Teknik Öğretmen - Cisco Instructor - Microsoft MCP - ECDL MS Office Advanced Expert - Adobe Eğitmeni - MEB Fatih Projesi Koordinatörü - Robotik Kodlama Eğitmeni