Bu proje, Deneyap Kart mikrodenetleyicisi ile Node.js tabanlı bir web arayüzü üzerinden 4 adet servo motorun kontrol edilmesini sağlar. Kullanıcı, web arayüzündeki kaydırma çubukları (slider) aracılığıyla servo motorların açılarını gerçek zamanlı olarak ayarlayabilir. Deneyap Kart, belirli aralıklarla sunucudan servo açılarını çekerek motorları günceller.
1. Frontend (HTML + Socket.IO):
Kullanıcı, tarayıcı üzerinden servo açılarını sürgülerle değiştirir. Değerler, Socket.IO aracılığıyla anlık olarak sunucuya gönderilir.
2. Backend (Node.js + Express + Socket.IO):
Sunucu, gelen açı değerlerini saklar ve /servo endpoint’i üzerinden Deneyap Kart’a JSON formatında sunar.
3. Deneyap Kart (C++ / ESP32 / Arduino):
Deneyap Kart, belirli aralıklarla Node.js sunucusuna HTTP isteği göndererek servo açılarını alır ve motorları günceller.
- Node.js – Sunucu tarafı çalıştırma ortamı
- Express.js – Web sunucusu oluşturmak için
- Socket.IO – Gerçek zamanlı iletişim için
- Deneyap Kart IDE – Mikrodenetleyici platformu
- Deneyap_Servo Kütüphanesi – Servo motor kontrolü için
- ArduinoJson – JSON veri işleme
- HTML, CSS, JavaScript – Web arayüzü
Gereksinimler:
Node.js ve NPM kurulu olmalıdır.
Kontrol etmek için:
node -v
npm -vKurulum Adımları:
git clone https://github.com/kaansrflioglu/WebServoControl.git
cd WebServoControl
npm installSunucuyu Başlat:
npm startSunucu çıktısı:
Server is running at http://192.168.x.x:3000
📌 Deneyap Kart kodundaki
serverUrldeğişkenini bu IP adresine göre güncellemelisiniz.
Deneyap Kart IDE veya Arduino IDE kullanarak aşağıdaki ayarları yapın:
Wi-Fi bilgilerinizi girin:
const char* ssid = "WiFi_ADINIZ";
const char* password = "WiFi_SIFRENIZ";
const char* serverUrl = "http://192.168.x.x:3000/servo";Servo pinlerini ayarlayın (örnek):
servo1.attach(D15);
servo2.attach(D14, 1);
servo3.attach(D13, 2);
servo4.attach(D12, 3);Tarayıcıdan sunucu adresine gidin:
http://192.168.x.x:3000
Buradan servo açılarını anlık olarak değiştirebilirsiniz.
Reset butonu, tüm motorları varsayılan açılara döndürür.
- Gerçek zamanlı servo kontrolü (Socket.IO ile)
- Deneyap Kart’ın HTTP üzerinden açı verilerini alması
- Basit ve modern web arayüzü
- Otomatik IP algılama (Node.js sunucu tarafında)
- Hata durumunda seri monitörde hata çıktısı
- Servo motorlar 0–180° aralığında, 5°’lik adımlarla kontrol edilir.
- Daha gelişmiş uygulamalarda, Deneyap Kart'ın doğrudan MQTT veya WebSocket bağlantısı kullanılarak anlık veri aktarımı sağlanabilir.
- İstenirse
Deneyap_Servokütüphanesi yerine standartServo.hkütüphanesi uyarlanabilir. - Web sunucusu, cihazın IPv4 adresi üzerinden başlatıldığı için aynı ağa bağlı tüm cihazlar, bu IP adresini tarayıcıya yazarak sunucuya erişebilir ve servo motorları kontrol edebilir.
Geliştirici: Kaan Şereflioğlu
📧 İletişim: kaansereflioglu@hotmail.com