c_… / py_… klasörlerine iner.| Fonksiyon | Açı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 |
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.
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_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_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()
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
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
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
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)
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
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")
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")
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")