Bu yazıda, Arduino ile 16×2 karakter LCD ekranı I2C modülü kullanarak nasıl bağlayacağınızı ve kontrol edeceğinizi öğreneceksiniz. I2C modülü, LCD ekran bağlantısını basitleştirir ve Arduino üzerindeki pin kullanımını azaltır.
Gerekli Malzemeler:
- Arduino Uno (veya benzeri bir Arduino kartı)
- 16×2 karakter LCD ekran (HD44780 uyumlu)
- I2C LCD adaptör modülü (örneğin, PCF8574)
- Breadboard
- Jumper kablolar
I2C LCD Modülü:
I2C LCD adaptör modülü, LCD ekran ile Arduino arasında I2C iletişim protokolünü kullanarak haberleşmeyi sağlar. Bu sayede, sadece 2 pin (SDA ve SCL) kullanarak LCD ekranı kontrol edebilirsiniz.
Devre Kurulumu:
- LCD Ekran ve I2C Modülü Bağlantısı:
- I2C modülünü LCD ekranın arkasındaki pinlere takın. Pinler genellikle renk kodlu veya etiketlidir.
- Arduino Bağlantıları:
- I2C modülünün VCC pinini Arduino’nun 5V pinine bağlayın.
- I2C modülünün GND pinini Arduino’nun GND pinine bağlayın.
- I2C modülünün SDA pinini Arduino’nun SDA pinine bağlayın (Uno’da A4, Mega’da 20).
- I2C modülünün SCL pinini Arduino’nun SCL pinine bağlayın (Uno’da A5, Mega’da 21).
- Devre Şeması:
Arduino | I2C Modülü | LCD Ekran |
---|---|---|
GND | GND | VSS |
5V | VCC | VDD |
A4 | SDA | (I2C modülüne bağlı) |
A5 | SCL | (I2C modülüne bağlı) |
Kodlama:
- Kütüphane Kurulumu:
- Arduino IDE’sinde “Araçlar” > “Kütüphane Yöneticisi” yolunu izleyin.
- “LiquidCrystal_I2C” arayın ve uygun bir kütüphaneyi yükleyin (örneğin, “LiquidCrystal I2C by Frank de Brabander”).
- Kod Yazma:
- Aşağıdaki kodu Arduino IDE’ye yazın:
#include <Wire.h> #include <LiquidCrystal_I2C.h> // I2C LCD adresini ayarlayın (genellikle 0x27 veya 0x3F) LiquidCrystal_I2C lcd(0x27, 16, 2); void setup() { // LCD'yi başlatın lcd.init(); // Arka ışığı açın lcd.backlight(); // İlk satıra metin yazdırın lcd.setCursor(0, 0); lcd.print("Merhaba Dunya!"); // İkinci satıra metin yazdırın lcd.setCursor(0, 1); lcd.print("I2C LCD Test"); } void loop() { // Burada istediğiniz diğer işlemleri yapabilirsiniz }
Kod Açıklaması:
- #include <Wire.h> ve #include <LiquidCrystal_I2C.h>: I2C iletişimi ve LCD kontrolü için gerekli kütüphaneleri dahil eder.
- LiquidCrystal_I2C lcd(0x27, 16, 2); : I2C adresini ve LCD boyutunu (16×2) belirterek LCD nesnesini oluşturur. I2C adresini I2C tarayıcı koduyla veya modülün belgelerinden öğrenebilirsiniz.
- lcd.init();: LCD’yi başlatır.
- lcd.backlight();: LCD arka ışığını açar.
- lcd.setCursor(0, 0); : İmleci ilk satırın ilk sütununa (0, 0) konumlandırır.
- lcd.print(“Merhaba Dunya!”);: İlk satıra “Merhaba Dunya!” metnini yazdırır.
- lcd.setCursor(0, 1);: İmleci ikinci satırın ilk sütununa (0, 1) konumlandırır.
- lcd.print(“I2C LCD Test”);: İkinci satıra “I2C LCD Test” metnini yazdırır.
Sonuç:
Kodu Arduino’ya yükledikten sonra, LCD ekranda “Merhaba Dunya!” ve “I2C LCD Test” mesajlarını görmelisiniz. Artık LCD ekranı kullanarak sensör verilerini, zamanı, mesajları veya menüleri görüntüleyebilirsiniz.
İpuçları:
- Farklı I2C LCD modülleri farklı adreslere sahip olabilir. Adresi doğru bir şekilde ayarlamak için I2C tarayıcı kodunu kullanabilirsiniz.
- LCD ekranda özel karakterler kullanmak için lcd.createChar() fonksiyonunu kullanabilirsiniz.
- Metni kaydırmak için lcd.scrollDisplayLeft() ve lcd.scrollDisplayRight() fonksiyonlarını kullanabilirsiniz.
Geliştirmeler:
- Sıcaklık, nem, mesafe gibi sensör verilerini LCD ekranda görüntüleyin.
- Menü sistemi oluşturun ve butonlar veya joystick ile kontrol edin.
- LCD ekranda animasyonlar veya grafikler gösterin.
Yorumlar