Bu proje, Arduino Mega 2560 üzerinde FreeRTOS işletim sistemi kullanılarak geliştirilmiş bir endüstriyel "Akıllı Üretim İstasyonu" simülasyonudur. Geleneksel süper-döngü (super-loop) mimarilerinde yaşanan blokaj sorunlarını aşmak amacıyla sistem; sensör okuma, ekran güncelleme ve motor sürme gibi işlemleri farklı önceliklere sahip bağımsız görevler olarak eşzamanlı yürütür.
Sistem, bir üretim hattındaki robotik kolu simüle ederken İş Sağlığı ve Güvenliği (Lazer bariyer ihlali) ile Kestirimci Bakım (Aşırı ısınma/titreşim) algoritmalarını gerçek zamanlı olarak işletir.
- Wokwi Simülasyon Linki: Proje Simülasyonu
Sistem, çevresel donanımlardan aldığı verilere göre üç farklı modda çalışır:
- NORMAL ÇALIŞMA MODU: Herhangi bir arıza veya güvenlik ihlali yoksa, servo motor (robot kol) 0° ile 180° arasında yumuşak bir süpürme hareketi yapar. OLED ekranda anlık sistem metrikleri gösterilir.
- GÜVENLİK KİLİDİ (LOCK) MODU: HC-SR04 ultrasonik sensörü, belirlenen güvenlik bariyerinin (
23 cm) altında bir nesne algıladığında motor anında durur. OLED ekranda kilit uyarısı çıkar ve sistem ancak yetkili personelin Keypad üzerinden doğru şifreyi (1108) girmesiyle açılır. - ARIZA (FAULT) MODU: MPU6050 sensörü üzerinden okunan motor sıcaklığı, donanım sağlığı limitini (
58 °C) aştığında sistem kendini güvene alır ve motoru durdurur. Soğuma gerçekleşene kadar sistem kilitli kalır.
İşlemci gücü, sistemdeki donanımların kritiklik seviyesine göre aşağıdaki gibi paylaştırılmıştır:
| Görev Adı | Öncelik | Periyot | Yığın (Byte) | İşlev |
|---|---|---|---|---|
| Task_Safety | 4 (Kritik) |
50 ms | 256 | HC-SR04'ten mesafe okur. Eşik altındaysa isLocked=true yapar. En hızlı tepki veren görevdir. |
| Task_Health | 3 (Yüksek) |
200 ms | 512 | MPU6050'den sıcaklık okur. Limit aşılırsa isEmergency=true yapar. |
| Task_Motion | 2 (Orta) |
30 ms | 256 | Güvenlik bayraklarını kontrol ederek Servo motoru 0-180° arası hareket ettirir. |
| Task_HMI | 1 (Düşük) |
100 ms | 512 | Keypad taraması yapar ve OLED ekranı günceller. Şifre doğrulama işlemlerini yürütür. |
| Bileşen | Endüstriyel Karşılığı | Arduino Mega Pini | Açıklama |
|---|---|---|---|
| Arduino Mega | PLC / Kontrolör | - | RTOS Kernel Merkezi |
| Servo Motor | Articulated Robot Arm | Pin 9 |
PWM Kontrolü |
| HC-SR04 | Lazer Güvenlik Bariyeri | TRIG: 5, ECHO: 6 |
Ultrasonik Mesafe |
| MPU6050 | IMU / Titreşim Sensörü | SDA: 20, SCL: 21 |
I2C Hattı |
| SSD1306 OLED | HMI Panel | SDA: 20, SCL: 21 |
I2C Hattı |
| Membran Keypad | Kontrol Paneli | R1-R4: 22,24,26,28 |
Satır Pinleri |
| Membran Keypad | Kontrol Paneli | C1-C4: 30,32,34,36 |
Sütun Pinleri |
Bu projedeki eşik değerler, benzersiz öğrenci numarası parametreleriyle (Öğrenci No: 19010011108) algoritmik olarak hesaplanmıştır:
- Şifre (RESET_PASSWORD):
1108(Son 4 hane) - Güvenlik Mesafe Eşiği (DISTANCE_THRESHOLD):
23 cm(Son 2 hane [08] + 15) - Sıcaklık Limiti (TEMP_LIMIT):
58 °C(Son hane [8] + 50)
- Rakamlar (0-9): Şifre girişi yapmak için kullanılır.
- Onay Tuşu (#): Girilen şifreyi doğrular. Şifre doğruysa kilitler kalkar, yanlışsa ekranda uyarı belirir.
- Silme Tuşu (*): Hatalı basılan rakamları temizler ve şifre belleğini sıfırlar.
