Arduino ile Step Motor Konumlandırma
4×4 keypad üzerinden girilen açıya göre NEMA17 motoru A4988 sürücüyle konumlandıran ve durumu LCD'de gösteren kontrol sistemi.

Proje Hakkında
Bu gömülü kontrol sistemi, keypad ile girilen 0–360 derece hedefini NEMA17 step motor konumuna çeviriyor. Hedef ve mevcut konum 16×2 LCD’den izlenebiliyor; iki fiziksel buton motoru elle ileri veya geri hareket ettiriyor.
Amaç
Sayısal kullanıcı girişini kontrollü motor hareketine dönüştüren, bağımsız çalışabilen bir konumlandırma arayüzü geliştirmek.
Nasıl Çalışıyor?
PCF8574 genişleticiye bağlı 4×4 keypad I2C üzerinden okunuyor. Rakamlar hedef açı metninde biriktiriliyor; * girişi temizliyor, # hareketi başlatıyor. Arduino açıyı map() ile 0–3200 step aralığına çevirip mevcut konumla farkını buluyor. Yön pini farkın işaretine göre ayarlanıyor. Uzun hareketlerde pulse gecikmeleri kademeli azaltılıp tekrar artırılarak basit bir hızlanma/yavaşlama profili uygulanıyor.
Kullanılan Teknolojiler
- Arduino C++: giriş, konum hesabı ve pulse üretimi.
- Keypad_I2C / PCF8574: keypad’i iki telli veri yolu üzerinden okuma.
- LiquidCrystal_I2C: hedef ve mevcut pozisyon gösterimi.
- A4988 / NEMA17: STEP ve DIR sinyalleriyle motor sürme.
Proje Yapısı
code/code.ino: keypad durumu, LCD çıktısı, manuel hareket ve otomatik konumlandırmanın tamamı.libraries.rar: projede kullanılan Arduino kütüphanelerinin arşivi.
Donanım
Arduino Uno/Mega/Nano, NEMA17, A4988, 12 V güç kaynağı, 16×2 I2C LCD, 4×4 keypad, PCF8574, iki buton ve pasif bileşenler.
