Tanıtım videosu yakında eklenecek

Oda Simülasyonu

Seviye: 4/10
Oda Simülasyonu
Hızlı Başlangıç
  1. UDUSimp programını indirip kurun. Bu simülasyon demodur, giriş gerektirmez.
  2. Bir çalışma alanı (workspace) klasörü seçin; kütüphaneler ve başlangıç kodları c_… / py_… klasörlerine iner.
  3. Simülasyonu başlatın, kodunuzu çalışma alanında yazıp çalıştırın.

Fonksiyon Listesi

FonksiyonAçıklama
sim_connect() Simülasyona Bağlan
sim_disconnect() Simülasyon Bağlantısını Kes
ac(int acKapa) Klima Kontrolü
lamp(int acKapa) Lamba Kontrolü
curtain(int yon) Perde Motoru Kontrolü
int t = read_temp() Sıcaklık Sensörü Oku
int l = read_lux() Işık Sensörü Oku
int a = read_ac() Klima Durumu Oku
int la = read_lamp() Lamba Durumu Oku
int c = read_curtain() Perde Motoru Durumu Oku

Simülasyonun Amacı

C, C++ ve Python gibi programlama dillerinin başlangıç eğitimi genellikle konsol uygulamaları üzerinden anlatılmaktadır. Dolayısıyla, geliştirilen kodun çıktıları konsol üzerinden gösterilmektedir. Bu durum öğrencinin program akışını hayal edememe ve davranışını tam olarak anlayamamasına neden olur.

Bu simülasyonun amacı öğrencinin geliştirdiği kodun nasıl çalıştığını simüle edebileceği bir ortam sağlamaktır. Gerçekçiliği arttırmak için sensörler, motorlar, gösterge panellerinin her biri ayrı ayrı kontrol edilebilir ve her sensörün çıkış değeri okunabilir.

UDUSimp programını indirip kurduktan sonra istediğiniz simülasyonu çalıştırıp tercih ettiğiniz bir editörü kullanarak kod geliştirmeye başlayabilirsiniz. Tavsiye edilen editör: Visual Studio Code.

Oda simülasyonunun zorluk derecesi 10 üzerinde 4 olarak değerlendirilmiştir.

Genel Bilgi

1 – Özellikler
• Açılır / Kapanır Klima
• Açılır / Kapanır Lamba
• Yukarı, Aşağı Hareketli Perde Motoru *
• Oda Sıcaklık Sensörü *
• Dış Ortam Işık (Lüks) Sensörü *
• Klima ve Lamba Durum Göstergeleri *
• Perde Motoru Hareket Yönü Göstergesi *

2 – Görev ve Tanım
Günlük hayatta kullanılan akıllı oda sistemlerini ve çalışma mantığını inceleyin. Odanın sensörlerden gelen verilere göre otomatik kontrol edilmesi için gereken kodu geliştirin.
Örnek senaryolar:
1- Oda sıcaklığı 26°C üzerine çıkarsa klimanın otomatik olarak açılması
2- Dış ortam ışık seviyesi 100 lüksün altına düştüğünde lambanın otomatik yanması
3- Gündüz (1000 lüks) perdelerin yukarı, gece (20 lüks) aşağı inmesi
Gerekir.

Not: Sensör değerleri okunurken klima ve lamba durum göstergelerini de takip ederek sistemi hatalı çift komuttan koruyun.

Simülasyona Bağlan

sim_connect()

Simülasyon ile kod ortamı arasında bağlantı kurar.

#include "room.h"
int main() {
    sim_connect();
    return 0;
}
from room import *

sim_connect()

Simülasyon Bağlantısını Kes

sim_disconnect()

Simülasyon ile kod ortamı arasındaki bağlantıyı sonlandırır.

#include "room.h"
int main() {
    sim_connect();
    sim_disconnect();
    return 0;
}
from room import *

sim_connect()
sim_disconnect()

Klima Kontrolü

ac(int acKapa)

Odadaki klimayı açar veya kapatır.
1. parametre: AC_ON (1) = Aç, AC_OFF (0) = Kapat

Örnek:
ac(AC_ON) → klima açılır
ac(AC_OFF) → klima kapanır

#include "room.h"
int main() {
    sim_connect();
    ac(AC_ON);  // klima ac
    ac(AC_OFF); // klima kapat
    return 0;
}
from room import *

sim_connect()
ac(AC_ON)   # klima ac
ac(AC_OFF)  # klima kapat

Lamba Kontrolü

lamp(int acKapa)

Odadaki lambayı açar veya kapatır.
1. parametre: LAMP_ON (1) = Aç, LAMP_OFF (0) = Kapat

Örnek:
lamp(LAMP_ON) → lamba yanar
lamp(LAMP_OFF) → lamba söner

#include "room.h"
int main() {
    sim_connect();
    lamp(LAMP_ON);  // lamba yak
    lamp(LAMP_OFF); // lamba sondur
    return 0;
}
from room import *

sim_connect()
lamp(LAMP_ON)   # lamba yak
lamp(LAMP_OFF)  # lamba sondur

Perde Motoru Kontrolü

curtain(int yon)

Perde motorunu çalıştırır.
1. parametre:
CURTAIN_UP (1) = Yukarı hareket
CURTAIN_DOWN (2) = Aşağı hareket
CURTAIN_STOP (0) = Durdur

Örnek:
curtain(CURTAIN_UP) → perde yukarı çıkar
curtain(CURTAIN_DOWN) → perde aşağı iner
curtain(CURTAIN_STOP) → perde durur

#include "room.h"
int main() {
    sim_connect();
    curtain(CURTAIN_UP);   // yukari
    curtain(CURTAIN_DOWN); // asagi
    curtain(CURTAIN_STOP); // dur
    return 0;
}
from room import *

sim_connect()
curtain(CURTAIN_UP)    # yukari
curtain(CURTAIN_DOWN)  # asagi
curtain(CURTAIN_STOP)  # dur

Sıcaklık Sensörü Oku

int t = read_temp()

Odanın anlık sıcaklık değerini okur.
Dönen değer °C cinsinden tam sayıdır, 12 ile 45 arasında değişir (örn: 24).
Klima açıkken sıcaklık düşer, kapalıyken yükselir.

Örnek:
int t = read_temp() → t = 24 (sıcaklık 24°C)

#include "room.h"
int main() {
    sim_connect();
    int t = read_temp();
    if(t > 26)
        ac(AC_ON);
    return 0;
}
from room import *

sim_connect()
t = read_temp()
if t > 26:
    ac(AC_ON)

Işık Sensörü Oku

int l = read_lux()

Dış ortamdaki ışık seviyesini okur (lüks).
Dönen değer 20 ile 1000 arasındadır.
20 → karanlık
1000 → çok aydınlık

Örnek:
int l = read_lux() → l = 850 (gündüz)

#include "room.h"
int main() {
    sim_connect();
    int l = read_lux();
    if(l < 100)
        lamp(LAMP_ON);   // karanlik, lamba yak
    return 0;
}
from room import *

sim_connect()
l = read_lux()
if l < 100:
    lamp(LAMP_ON)   # karanlik, lamba yak

Klima Durumu Oku

int a = read_ac()

Klimanın o anki durumunu okur.
Dönen değer 1 → klima açık
Dönen değer 0 → klima kapalı

#include "room.h"
int main() {
    sim_connect();
    int a = read_ac();
    if(a == 1)
        printf("Klima acik");
    return 0;
}
from room import *

sim_connect()
a = read_ac()
if a == 1:
    print("Klima acik")

Lamba Durumu Oku

int la = read_lamp()

Lambanın o anki durumunu okur.
Dönen değer 1 → lamba açık
Dönen değer 0 → lamba kapalı

#include "room.h"
int main() {
    sim_connect();
    int la = read_lamp();
    if(la == 1)
        printf("Lamba acik");
    return 0;
}
from room import *

sim_connect()
la = read_lamp()
if la == 1:
    print("Lamba acik")

Perde Motoru Durumu Oku

int c = read_curtain()

Perde motorunun anlık durumunu okur.
Dönen değer:
0 → motor duruyor
1 → yukarı hareket ediyor
2 → aşağı hareket ediyor

#include "room.h"
int main() {
    sim_connect();
    int c = read_curtain();
    if(c == 0)
        printf("Perde durdu");
    return 0;
}
from room import *

sim_connect()
c = read_curtain()
if c == 0:
    print("Perde durdu")