Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌡️ Akıllı Termostat ve Ortam İzleme Sistemi

Smart Thermostat & Environmental Monitoring System

PCB 3D View

Türkçe | English


📋 Proje Hakkında

Bu proje, Manisa Celal Bayar Üniversitesi Mühendislik Fakültesi Disiplinlerarası Proje kapsamında geliştirilmiştir. PIC16F877A tabanlı akıllı bir termostat ve ortam izleme sistemidir. Tek bir noktadan ölçüm yapmak yerine üç farklı konumdaki sensörden veri alarak ortalama sıcaklık hesaplar ve 27°C eşik değerini aştığında otomatik soğutma/uyarı mekanizmasını devreye sokar.

Proje Tarihi: Mayıs - Haziran 2026
Takım: Grup 43 (Grup 09)
Fakülte: Bilgisayar Mühendisliği & Elektrik-Elektronik Mühendisliği


🎯 Temel Özellikler

  • 3 Noktalı Sıcaklık Ölçümü: Üç adet DS18B20 dijital sensör ile farklı konumlardan eşzamanlı ölçüm
  • Ortalama Hesaplama: Aktif sensörlerin ortalamasını alarak daha güvenilir sonuç
  • Hata Toleransı: Arızalı sensörleri otomatik tespit edip devre dışı bırakma, kalan sensörlerle çalışmaya devam etme
  • Otomatik Termostat Kontrolü: 27°C eşik değerinde röle/LED aktvasyonu
  • I2C LCD Ekran: PCF8574 sürücü ile 16x2 LCD üzerinden anlık sıcaklık görüntüleme
  • Güvenli Mod: Tüm sensörler arızalandığında "Sensor Yok!" uyarısı
  • Proteus Simülasyonu: Tam donanım simülasyonu ve test senaryoları
  • PCB Tasarımı: EasyEDA ile profesyonel baskılı devre kartı tasarımı ve üretimi

🛠️ Donanım Bileşenleri

Bileşen Adet Açıklama
PIC16F877A 1 Ana mikrodenetleyici
DS18B20 3 Dijital sıcaklık sensörü (±0.5°C hassasiyet)
PCF8574 1 I2C LCD sürücü modülü
16x2 LCD 1 Karakter LCD ekran
BC547 1 NPN transistör (röle sürücü)
Röle (5V) 1 Termostat anahtarlama mekanizması
1N4001 1 Flyback diyotu
20MHz Kristal 1 Osilatör + 22pF kapasitörler
4.7kΩ Direnç 3 DS18B20 pull-up dirençleri
Çeşitli Dirençler - LED, transistör vb. için

🔌 Pin Yapılandırması

Pin Fonksiyon Bağlı Bileşen
RD0 One-Wire Data DS18B20 - Sensör 1
RD1 One-Wire Data DS18B20 - Sensör 2
RD2 One-Wire Data DS18B20 - Sensör 3
RC3 (SCL) I2C Clock PCF8574 - SCL
RC4 (SDA) I2C Data PCF8574 - SDA
RB0 Digital Output BC547 -> Röle + Mavi LED

💻 Yazılım Mimarisi

Mikrodenetleyici Yapılandırması

  • Osilatör: HS (High Speed) - 20MHz
  • Watchdog Timer: Kapalı
  • Power-up Timer: Açık
  • Low Voltage Programming: Kapalı

Ana Modüller

main.c
├── I2C Haberleşme Modülü
│   ├── i2c_init()      - I2C başlatma (SSPSTAT=0x80, SSPCON=0x28, SSPADD=49)
│   ├── i2c_start()     - Başlatma koşulu
│   ├── i2c_stop()      - Durdurma koşulu
│   └── i2c_write()     - Veri gönderme
│
├── LCD Sürücü Modülü
│   ├── lcd_init()      - 4-bit mod, 2 satır, 5x8 font
│   ├── lcd_send_byte() - Komut/veri gönderme
│   ├── lcd_set_cursor()- İmleç konumlandırma
│   └── lcd_print_str() - String yazdırma
│
├── DS18B20 One-Wire Modülü
│   ├── ds18b20_reset()       - Sensör reset ve presence detect
│   ├── one_wire_write_bit()  - Tek bit yazma
│   ├── one_wire_read_bit()   - Tek bit okuma
│   ├── ds18b20_write_byte()  - 1 byte yazma
│   ├── ds18b20_read_byte()   - 1 byte okuma
│   └── ds18b20_read_temp()   - Sıcaklık okuma (°C)
│
└── Ana Program (main)
    ├── Sensör 1-2-3 okuma
    ├── Aktif sensör sayısına göre ortalama hesaplama
    ├── 27°C eşik kontrolü -> RB0 aktif/pasif
    └── LCD güncelleme (500ms periyot)

One-Wire Protokol Zamanlaması

İşlem Süre
Reset Pulse 480 µs
Presence Detect 70 µs (wait) + 410 µs
Write 1 2 µs (low) + 60 µs (high)
Write 0 60 µs (low)
Read Slot 2 µs (low) + 10 µs (sample) + 50 µs
Temperature Conversion 750 ms

🧪 Test Senaryoları ve Sonuçlar

Test 1: Güvenli Durum

  • Sensör Değerleri: 24.0°C, 27.0°C, 26.0°C
  • Ortalama: 25.67°C
  • Sonuç: LED/Röle KAPALI ✅

Test 2: Termostat Aktivasyonu

  • Sensör Değerleri: 26.0°C, 29.0°C, 27.0°C
  • Ortalama: 27.33°C
  • Sonuç: LED/Röle AÇIK (Mavi LED aktif) ✅

Test 3: Hata Toleransı (1 Sensör Arızalı)

  • Durum: U4 sensörü devre dışı
  • Aktif Sensörler: 2
  • Sonuç: Kalan 2 sensör ile çalışmaya devam ✅

Test 4: Hata Toleransı (2 Sensör Arızalı)

  • Durum: U3 ve U4 sensörleri devre dışı
  • Aktif Sensör: 1
  • Sonuç: Tek sensör ile çalışmaya devam ✅

Test 5: Tam Arıza

  • Durum: Tüm sensörler devre dışı
  • Sonuç: LCD'de "Sensor Yok!" uyarısı, güvenli mod ✅

👥 Ekip ve Görev Dağılımı

Takım Üyesi Bölüm Sorumluluklar
Mustafa Furkan Yılmaz Elektrik-Elektronik Proteus simülasyonu, donanım mimarisi, pin yapılandırması
Emine Çetin Bilgisayar Mikrodenetleyici kodu, I2C & One-Wire algoritmaları, termostat mantığı
Feyza Aktaş Elektrik-Elektronik Fiziksel kurulum, breadboard/PCB montajı, sistem testleri
Seydi Ahmet Zengin Elektrik-Elektronik PCB şematik tasarımı, elektriksel planlama, EasyEDA çizimi

📅 Proje Zaman Çizelgesi

Tarih Etkinlik Süre
11/05/2026 Tanışma ve Proje Planlama 60 dk
18/05/2026 Yazılım Geliştirme & Donanım Kurulumu 95 dk
22/05/2026 Entegrasyon ve Sistem Testleri 3 saat
02/06/2026 Son Testler ve Raporlama 70 dk

📁 Proje Yapısı

TAKIM-43-Akilli-Termostat/
├── src/
│   └── main.c                 # Ana kaynak kod (XC8)
├── docs/
│   ├── reports/
│   │   ├── TAKIM_43_TR.pdf    # Türkçe proje raporu
│   │   └── TAKIM_43_ING.pdf   # İngilizce proje raporu
│   └── images/
│       ├── proteus_simulation.png
│       ├── pcb_schematic.png
│       ├── pcb_top_layer.png
│       ├── pcb_bottom_layer.png
│       ├── pcb_3d_top.png
│       ├── pcb_assembled.jpg
│       └── team_photos/
├── hardware/
│   ├── proteus/
│   └── easyeda_pcb/
└── README.md

🚀 Derleme ve Yükleme

Gereksinimler

  • MPLAB X IDE
  • XC8 Compiler
  • PICkit veya benzeri programlayıcı

Derleme Adımları

  1. MPLAB X'te yeni proje oluşturun
  2. Hedef cihaz: PIC16F877A
  3. main.c dosyasını projeye ekleyin
  4. Derleyici ayarlarında _XTAL_FREQ 20000000UL tanımlı olduğundan emin olun
  5. Derleyin ve PIC'e yükleyin

Donanım Bağlantıları

  1. DS18B20 sensörlerin VCC, GND ve DQ pinlerini bağlayın (4.7kΩ pull-up)
  2. PCF8574 SCL -> RC3, SDA -> RC4
  3. LCD'yi PCF8574 çıkışlarına bağlayın
  4. BC547 baz direnci -> R9 (470Ω), kolektör -> Röle bobini
  5. Röle kontağı -> Soğutma sistemi/LED

📄 Lisans

Bu proje eğitim amaçlı geliştirilmiştir. Akademik kullanımda kaynak gösterilmesi rica olunur.


🇬🇧 English

About the Project

This project was developed as an Interdisciplinary Project at Manisa Celal Bayar University, Faculty of Engineering. It is a PIC16F877A-based smart thermostat and environmental monitoring system. Instead of measuring from a single point, it collects data from three different locations and calculates the average temperature, automatically activating a cooling/warning mechanism when the threshold of 27°C is exceeded.

Key Features

  • 3-Point Temperature Measurement: Three DS18B20 digital sensors for simultaneous multi-location monitoring
  • Average Calculation: Reliable results by averaging active sensors
  • Fault Tolerance: Automatic detection and exclusion of faulty sensors; continues operation with remaining sensors
  • Automatic Thermostat Control: Relay/LED activation at 27°C threshold
  • I2C LCD Display: Real-time temperature display via PCF8574 driver
  • Safe Mode: "No Sensor!" warning when all sensors fail
  • Proteus Simulation: Complete hardware simulation and test scenarios
  • PCB Design: Professional printed circuit board design with EasyEDA

Software Architecture

The firmware is written in C (XC8) and consists of three main modules:

  • I2C Communication: Master mode I2C for LCD control
  • One-Wire Protocol: Bit-banged 1-Wire for DS18B20 temperature sensors
  • Thermostat Logic: Average calculation, threshold comparison, and relay control

Team

Member Department Responsibility
Mustafa Furkan Yılmaz Electrical & Electronics Proteus simulation, hardware architecture
Emine Çetin Computer Engineering Firmware, I2C & 1-Wire algorithms, thermostat logic
Feyza Aktaş Electrical & Electronics Physical setup, PCB assembly, system testing
Seydi Ahmet Zengin Electrical & Electronics PCB schematic design, EasyEDA layout

Manisa Celal Bayar Üniversitesi - 2026

About

PIC16F877A mikrodenetleyici, DS18B20 sıcaklık sensörü ve I2C haberleşme protokolü kullanılarak geliştirilen otomatik sıcaklık kontrolü sağlayan gömülü sistem projesi.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages