Yapay Zeka İle Engelleri Aşıyoruz. III (Proje Yönetiyoruz Makine Öğrenmesi ile Öğrenme)

makine öğrenmesi (ML) ile beyin dalgalarını analiz ederek protezi kişiselleştiren gelişmiş bir BCI destekli protez kontrol sistemidir.

📌 Özellikler:
Makine öğrenmesi (ML) modeli, kullanıcının beyin dalgalarını kişiselleştirerek analiz eder.
✅ Kullanıcının beyin dalgalarını gerçek zamanlı olarak takip eder ve protezin hareketlerini öğrenir.
Scikit-learn ve TensorFlow kullanarak, beta dalgalarındaki değişimlere göre yürüyüş stilini belirler.


🔹 1. Makine Öğrenmesi ile BCI Protez Kontrolü (Python)

pythonKopyalaDüzenleimport numpy as np
import serial
import time
import joblib  # Modeli kaydetmek ve yüklemek için
from brainflow.board_shim import BoardShim, BrainFlowInputParams, BoardIds
from brainflow.data_filter import DataFilter, FilterTypes
from sklearn.ensemble import RandomForestClassifier  # Makine öğrenmesi modeli

# **1. EEG CİHAZI BAĞLANTISI**
params = BrainFlowInputParams()
params.serial_port = "COM3"  # OpenBCI için seri port
board = BoardShim(BoardIds.CYTON_BOARD.value, params)
board.prepare_session()
board.start_stream()
time.sleep(2)

# **2. ARDUINO BAĞLANTISI**
arduino = serial.Serial('COM5', 115200)  # Arduino veya ESP32 için port

# **3. MODELİN YÜKLENMESİ VEYA YENİDEN EĞİTİLMESİ**
try:
    model = joblib.load("brainwave_model.pkl")  # Önceden eğitilmiş model yükle
    print("📌 Model yüklendi!")
except:
    model = RandomForestClassifier(n_estimators=50)  # Yeni model oluştur
    print("⚠️ Yeni model eğitilecek!")

# **4. EEG VERİLERİNİN ALINMASI VE FİLTRELENMESİ**
def get_eeg_features():
    data = board.get_board_data()
    eeg_channels = BoardShim.get_eeg_channels(BoardIds.CYTON_BOARD.value)
    
    alpha_waves, beta_waves = [], []
    for ch in eeg_channels:
        DataFilter.detrend(data[ch], 3)
        DataFilter.perform_bandpass(data[ch], 250, 8.0, 12.0, 4, FilterTypes.BUTTERWORTH.value, 0)  # Alpha (8-12 Hz)
        DataFilter.perform_bandpass(data[ch], 250, 12.0, 30.0, 4, FilterTypes.BUTTERWORTH.value, 0)  # Beta (12-30 Hz)

        alpha_waves.append(np.mean(data[ch]))
        beta_waves.append(np.mean(data[ch]))

    return np.mean(alpha_waves), np.mean(beta_waves)

# **5. MODELİN ÖĞRENMESİ & PROTEZ KONTROLÜ**
def train_and_control():
    training_data = []
    labels = []

    while True:
        alpha, beta = get_eeg_features()

        print(f"Alpha: {alpha}, Beta: {beta}")
        
        if beta > 20:
            print("📌 Komut: YÜRÜ!")
            arduino.write(b'1')
            training_data.append([alpha, beta])
            labels.append(1)  # Yürüme etiketi
        elif alpha > 15:
            print("📌 Komut: DUR!")
            arduino.write(b'0')
            training_data.append([alpha, beta])
            labels.append(0)  # Dur etiketi
        else:
            print("⏳ Beyin dalgaları analizi devam ediyor...")

        # **Makine öğrenmesi modelini eğitme**
        if len(training_data) > 50:
            model.fit(training_data, labels)
            joblib.dump(model, "brainwave_model.pkl")  # Modeli kaydet
            print("✅ Model güncellendi!")
            training_data, labels = [], []  # Veri setini sıfırla

        time.sleep(0.5)

# **6. BAŞLATMA**
try:
    train_and_control()
except KeyboardInterrupt:
    board.stop_stream()
    board.release_session()
    arduino.close()
    print("🔌 Bağlantılar kapatıldı!")

🔹 2. Protez Hareketini Kontrol Eden Arduino Kodu

cppKopyalaDüzenle#include <Servo.h>

Servo kneeServo;  // Diz eklemi için servo motor
Servo ankleServo; // Ayak bileği için servo motor

void setup() {
  Serial.begin(115200);
  kneeServo.attach(9);
  ankleServo.attach(10);
}

void loop() {
  if (Serial.available()) {
    char command = Serial.read();
    
    if (command == '1') {  // Yürüme komutu
      kneeServo.write(90);   // Dizi bük
      ankleServo.write(45);  // Ayak bileğini kaldır
      delay(500);
      kneeServo.write(0);    // Diz aç
      ankleServo.write(0);   // Ayak düz
    } 
    else if (command == '0') {  // Durdurma komutu
      kneeServo.write(0);
      ankleServo.write(0);
    }
  }
}

🔹 Çalışma Mantığı

1️⃣ Makine Öğrenmesi ile Öğrenme:

  • RandomForestClassifier kullanarak, kullanıcı beyin dalgalarına göre protezin hareketlerini kişiselleştirir.
  • Beta dalgaları yükseldiğinde yürüme komutu, alpha yükseldiğinde dur komutu verilir.
  • Model, zamanla kullanıcının beyin aktivitesini öğrenerek daha iyi kararlar verir.

2️⃣ EEG Sensörlerinden Veri Alımı:

  • OpenBCI veya Neurosky gibi EEG cihazları ile alpha & beta dalgaları ölçülür.
  • Python kodu beyin dalgalarını filtreler ve Arduino’ya komut gönderir.

3️⃣ Arduino Üzerinde Protez Kontrolü:

  • Servo motorlar, Arduino üzerinden beyin sinyallerine göre hareket eder.
  • Makine öğrenmesi, kullanıcının yürüme stilini öğrenir ve zamanla daha akıcı bir hareket sağlar.

🔹 Sonuç

✅ Protez makine öğrenmesi ile kullanıcının beyin sinyallerini analiz eder.
Zamanla kullanıcının yürüyüş alışkanlıklarını öğrenir ve optimize eder.
Gerçek zamanlı beyin dalgası analizi ile yürüyüş komutları kişiselleştirilir.

  • Gönderiler/Makaleler/Tezler

    YADGAR: YAPAY ZEKÂ DESTEKLİ GÜMRÜK RİSKİ DEĞERLENDİRME SİSTEMİ

    BÖLÜM I: GİRİŞ VE ARAŞTIRMA ÇERÇEVESİ 1.1. Proje Arka Planı ve Motivasyon Sınır güvenliği ve gümrük denetimi, ulusal güvenlik ve ekonomik istikrar açısından hayati öneme sahiptir. Geleneksel gümrük denetleme süreçleri…

    RİSK YÖNETİMİ UZMANLIĞI

    Kapsamlı Uygulama Rehberi Yazar: Selçuk DİKİCİ, Endüstri Mühendisi BÖLÜM I: RİSK YÖNETİMİNE GİRİŞ VE KAVRAMSAL ÇERÇEVE 1.1. Risk, Belirsizlik ve Fırsat Kavramları Arasındaki Fark Giriş: Karar Mekanizmasının Temeli Kurumsal dünyada…

    Bir yanıt yazın

    E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

    Neler Kaçırdın?

    YADGAR: YAPAY ZEKÂ DESTEKLİ GÜMRÜK RİSKİ DEĞERLENDİRME SİSTEMİ

    • By admin
    • Kasım 1, 2025
    • 32 views
    YADGAR: YAPAY ZEKÂ DESTEKLİ GÜMRÜK RİSKİ DEĞERLENDİRME SİSTEMİ

    RİSK YÖNETİMİ UZMANLIĞI

    • By admin
    • Ekim 14, 2025
    • 61 views
    RİSK YÖNETİMİ UZMANLIĞI

    ETİK HACKERLİK:

    • By admin
    • Ekim 14, 2025
    • 78 views
    ETİK HACKERLİK:

    Tıbbi Araştırmalarda Yapay Zeka Kullanımı ve Veri Analizi

    • By admin
    • Eylül 24, 2025
    • 124 views
    Tıbbi Araştırmalarda Yapay Zeka Kullanımı ve Veri Analizi

    Balistik Füze Savunma Sistemlerinde Siber Güvenlik Riskleri ve Teorik Tehditler

    • By admin
    • Eylül 18, 2025
    • 79 views
    Balistik Füze Savunma Sistemlerinde Siber Güvenlik Riskleri ve Teorik Tehditler

    Kablosuz Enerji İletiminin Silah Olarak Kullanımı ve Hava Savunma Sistemlerindeki Olası Uygulama Yöntemleri

    • By admin
    • Eylül 18, 2025
    • 88 views
    Kablosuz Enerji İletiminin Silah Olarak Kullanımı ve Hava Savunma Sistemlerindeki Olası Uygulama Yöntemleri