Arduino ile Mini Kontrol Panel

Arduino ile Mini Kontrol Paneli

22 Ağustos 2025 12 dk okuma

Gerekli Malzemeler

  • Arduino Uno veya Nano
  • 16x2 LCD Ekran (I2C modüllü)
  • 5-10 kΩ Potansiyometre
  • 4x4 Tuş Takımı
  • LED'ler (Kırmızı, Yeşil, Sarı)
  • 220Ω Dirençler (LED'ler için)
  • Breadboard ve jumper kablolar
  • 9V Pil veya Güç Kaynağı

Devre Kurulumu

Mini kontrol panelimiz için aşağıdaki devre şemasını takip edebilirsiniz:

Bağlantılar:

Bileşen Arduino Pin Notlar
LCD I2C SDA A4 I2C iletişim için
LCD I2C SCL A5 I2C iletişim için
Tuş Takımı Satır 1 2 4x4 tuş takımı için
Tuş Takımı Satır 2 3 4x4 tuş takımı için
Tuş Takımı Satır 3 4 4x4 tuş takımı için
Tuş Takımı Satır 4 5 4x4 tuş takımı için
Tuş Takımı Sütun 1 6 4x4 tuş takımı için
Tuş Takımı Sütun 2 7 4x4 tuş takımı için
Tuş Takımı Sütun 3 8 4x4 tuş takımı için
Tuş Takımı Sütun 4 9 4x4 tuş takımı için
Kırmızı LED 10 220Ω direnç ile
Yeşil LED 11 220Ω direnç ile
Sarı LED 12 220Ω direnç ile

Arduino Kodları

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

// LCD ayarları
LiquidCrystal_I2C lcd(0x27, 16, 2);

// Tuş takımı pinleri
const byte ROWS = 4;
const byte COLS = 4;
char keys[ROWS][COLS] = {
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};
byte rowPins[ROWS] = {2, 3, 4, 5};
byte colPins[COLS] = {6, 7, 8, 9};

// LED pinleri
const int redLed = 10;
const int greenLed = 11;
const int yellowLed = 12;

void setup() {
  // LCD başlatma
  lcd.init();
  lcd.backlight();
  lcd.print("Kontrol Paneli");
  lcd.setCursor(0, 1);
  lcd.print("Hazir");
  
  // LED'ler çıkış olarak ayarlanıyor
  pinMode(redLed, OUTPUT);
  pinMode(greenLed, OUTPUT);
  pinMode(yellowLed, OUTPUT);
  
  // Tuş takımı için gerekli ayarlar
  for (byte i = 0; i < ROWS; i++) {
    pinMode(rowPins[i], INPUT_PULLUP);
  }
  for (byte i = 0; i < COLS; i++) {
    pinMode(colPins[i], OUTPUT);
    digitalWrite(colPins[i], HIGH);
  }
  
  delay(2000);
  lcd.clear();
}

void loop() {
  // Tuş takımı kontrolü
  char key = getKey();
  if (key != 0) {
    lcd.clear();
    lcd.print("Tus: ");
    lcd.print(key);
    
    // Tuşa göre işlemler
    switch(key) {
      case 'A':
        digitalWrite(redLed, HIGH);
        lcd.setCursor(0, 1);
        lcd.print("Kirmizi LED Acik");
        break;
      case 'B':
        digitalWrite(redLed, LOW);
        lcd.setCursor(0, 1);
        lcd.print("Kirmizi LED Kapali");
        break;
      case 'C':
        digitalWrite(greenLed, HIGH);
        lcd.setCursor(0, 1);
        lcd.print("Yesil LED Acik");
        break;
      case 'D':
        digitalWrite(greenLed, LOW);
        lcd.setCursor(0, 1);
        lcd.print("Yesil LED Kapali");
        break;
      case '*':
        digitalWrite(yellowLed, HIGH);
        lcd.setCursor(0, 1);
        lcd.print("Sari LED Acik");
        break;
      case '#':
        digitalWrite(yellowLed, LOW);
        lcd.setCursor(0, 1);
        lcd.print("Sari LED Kapali");
        break;
    }
  }
  
  delay(100);
}

// Tuş takımından basılan tuşu okuyan fonksiyon
char getKey() {
  for (byte c = 0; c < COLS; c++) {
    digitalWrite(colPins[c], LOW);
    for (byte r = 0; r < ROWS; r++) {
      if (digitalRead(rowPins[r]) == LOW) {
        digitalWrite(colPins[c], HIGH);
        return keys[r][c];
      }
    }
    digitalWrite(colPins[c], HIGH);
  }
  return 0;
}

Proje Geliştirme Önerileri

  • Menü sistemi ekleyerek daha fazla seçenek sunabilirsiniz
  • Sıcaklık ve nem sensörü ekleyerek ortam verilerini gösterebilirsiniz
  • Röle modülü ekleyerek yüksek güçlü cihazları kontrol edebilirsiniz
  • Bluetooth modülü ile uzaktan kontrol özelliği ekleyebilirsiniz
  • Zamanlayıcı özellikleri ekleyerek belirli zamanlarda otomatik işlemler yapabilirsiniz

Karşılaşılabilecek Sorunlar ve Çözümleri

Sorun Olası Nedeni Çözüm
LCD ekran çalışmıyor Yanlış I2C adresi veya bağlantı hatası I2C adresini doğrulayın ve bağlantıları kontrol edin
Tuş takımından giriş alınamıyor Pin bağlantılarında hata veya kod hatası Bağlantıları ve pin numaralarını kontrol edin
LED'ler yanmıyor Direnç bağlanmamış veya pin hatası Dirençleri ve bağlantıları kontrol edin
Kod derlenmiyor Eksik kütüphane veya sözdizimi hatası Gerekli kütüphaneleri yükleyin ve kodu kontrol edin

Sonuç

Arduino ile mini kontrol paneli yapmak, elektronik ve programlama becerilerinizi geliştirmek için harika bir projedir. Bu temel yapıyı kullanarak kendi ihtiyaçlarınıza göre projenizi özelleştirebilir ve geliştirebilirsiniz. Unutmayın, en iyi öğrenme yöntemi denemek ve hata yapmaktır!

← Ana Sayfa