arkadaşlar bu günki uygulamamız bir önceki pc ve cep kontrollü rgb lamba uygulaması ile aynı paralellikte bulunmaktadır tek farkı neopixel yerine servo motor un olması bunun için iki kontrol sistemi mevcut ilk olarak aşşağıdaki şemaya bakarak bağlantımızı bir yapalım

bu bağlantımız bittikten sonra aşşağıda verilen kodları IDE programımız ile arduinomuza gönderelim
/*
Bluetooth Servo Kapı Kilidi
HC-06 Bluetooth + Servo Motor
Bağlantılar:
- Servo SIGNAL → Pin 9
- Servo VCC → 5V
- Servo GND → GND
- HC-06 TX → Pin 10 (SoftwareSerial RX)
- HC-06 RX → Pin 11 (SoftwareSerial TX)
- HC-06 VCC → 5V
- HC-06 GND → GND
Komutlar:
'A' → Kilidi Aç (0° → 90°)
'K' → Kilidi Kapat (90° → 0°)
'D' → Durum Sorgula (yanıt: "ACK" veya "KLT")
*/
#include <Servo.h>
#include <SoftwareSerial.h>
SoftwareSerial bt(10, 11); // RX, TX
Servo kilit;
const int SERVO_PIN = 9;
const int ACIK_DERECE = 90; // Açık pozisyon
const int KAPALI_DERECE = 0; // Kapalı pozisyon
bool kilitAcik = false;
void setup() {
Serial.begin(9600);
bt.begin(9600);
kilit.attach(SERVO_PIN);
kilit.write(KAPALI_DERECE); // Başlangıçta kapalı
delay(500);
Serial.println("Kilit sistemi hazir. Bekleniyor...");
}
void loop() {
if (bt.available()) {
char cmd = bt.read();
Serial.print("Komut: ");
Serial.println(cmd);
if (cmd == 'A' || cmd == 'a') {
// Kilidi AC
kilit.write(ACIK_DERECE);
kilitAcik = true;
bt.print("ACK"); // Açık onayı
Serial.println("Kilit ACILDI");
} else if (cmd == 'K' || cmd == 'k') {
// Kilidi KAPAT
kilit.write(KAPALI_DERECE);
kilitAcik = false;
bt.print("KLT"); // Kapalı onayı
Serial.println("Kilit KAPATILDI");
} else if (cmd == 'D' || cmd == 'd') {
// Durum sorgula
if (kilitAcik) {
bt.print("ACK");
} else {
bt.print("KLT");
}
}
}
}
kodlarımızı da attıktan sonra sistemi çalıştırmak için bilgisayarımıza buradaki dosyaları İNDİRİYORUZ
bilgisayar üzerinden kontrol edebilmek için indirdiğimiz dosyayı çift tıklayıp çalıştırıp kullanıyoruz açılınca port ayarı yapıyoruz hepsi bu kadar

