Skip to content

Commit f2b596a

Browse files
Add files via upload
1 parent c4e42ba commit f2b596a

9 files changed

+530
-0
lines changed

.gitignore

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
*.iml
2+
.gradle
3+
/local.properties
4+
/.idea/caches
5+
/.idea/libraries
6+
/.idea/modules.xml
7+
/.idea/workspace.xml
8+
/.idea/navEditor.xml
9+
/.idea/assetWizardSettings.xml
10+
.DS_Store
11+
/build
12+
/captures
13+
.externalNativeBuild
14+
.cxx

GraduationThesis.pdf

960 KB
Binary file not shown.

SmartHomeSystem.ino

Lines changed: 201 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,201 @@
1+
#include <SoftwareSerial.h> // Haberleşme için gerekli olan kütüphane.
2+
#include <DHT.h>; // DHT11 sensörü için gerekli olan kütüphane.
3+
4+
String flag; // Bluetooth modülünden gelecek sinyalin dinlenmesi için değişken.
5+
6+
int relay1 = 4; // 1 numaralı röleye ait pin.
7+
int relay2 = 5; // 2 numaralı röleye ait pin.
8+
int relay3 = 6; // 3 numaralı röleye ait pin.
9+
float hum; // Nem değişkeni.
10+
float temp; // Sıcaklık değişkeni.
11+
12+
13+
SoftwareSerial blue(10,11); // Bluetooth modülünün TX / RX pinleri.
14+
#define LDR 3 // LDR'nin kullanacağı pin.
15+
#define DHTPIN 7 // DHT11'in kullanacağı pin.
16+
#define DHTTYPE DHT11 // DHT sensörünün tanımlanması.
17+
DHT dht(DHTPIN, DHTTYPE); // DHT sensörünün nesne olarak oluşturulması.
18+
19+
void setup() { // Kurulum fonksiyonu.
20+
Serial.begin(9600); // Seri monitör baud rate tanımlaması.
21+
blue.begin(9600); // Bluetooth modülü baud rate tanımlaması.
22+
dht.begin(); // DHT11 sensörü çalışma emri.
23+
pinMode(relay1, OUTPUT); // 1 numaralı röle çalışma şekli tanımı.
24+
pinMode(relay2, OUTPUT); // 2 numaralı röle çalışma şekli tanımı.
25+
pinMode(relay3, OUTPUT); // 3 numaralı röle çalışma şekli tanımı.
26+
}
27+
28+
void loop() { // Döngü ve çalışma fonksiyonu.
29+
int ldr = analogRead(A0); // LDR sensörü pin tanımlaması.
30+
while (Serial.available()) { // Bluetooth sensörü dinlenmesi.
31+
delay(3);
32+
char c = Serial.read();
33+
flag += c;
34+
}
35+
36+
if (flag == "1 ON") // 1 numaralı rölenin çalışma koşulu.
37+
{
38+
digitalWrite(relay1, HIGH); // 1 numaralı rölenin çalışma emri.
39+
Serial.println("\nRELAY 1 ON"); // Seri monitöre 1 numaralı rölenin açık olduğu bilgisinin yazılması.
40+
delay(2000);
41+
hum = dht.readHumidity(); // Nem değerinin okunması.
42+
temp = dht.readTemperature(); // Sıcaklık değerinin okunması.
43+
Serial.print("Nem: "); // Nem değerinin yazdırılması.
44+
Serial.print(hum); // Nem değeri.
45+
Serial.print(" %, Sıcaklık: "); // Sıcaklık değerinin yazdırılması.
46+
Serial.print(temp); // Sıcaklık değeri.
47+
Serial.print(" Celsius"); // Sıcaklık birimi.
48+
blue.print("RELAY 1 ON "); // Bluetooth adaptörüyle bağlanılan cihaza bilginin yazdırılması.
49+
blue.print("Nem: "); // Nem değerinin yazdırılması.
50+
blue.print(hum); // Nem değeri.
51+
blue.print(" %, Sıcaklık: "); // Sıcaklık değerinin yazdırılması.
52+
blue.print(temp); // Sıcaklık değeri.
53+
blue.println(" Celsius \n"); // Sıcaklık birimi.
54+
}
55+
56+
if (ldr < 850) // LDR'den gelen veriye göre 1 numaralı rölenin çalışma koşulu.
57+
{
58+
digitalWrite(relay1, HIGH);
59+
Serial.println("\nRELAY 1 ON");
60+
delay(10000);
61+
hum = dht.readHumidity();
62+
temp = dht.readTemperature();
63+
Serial.print("Nem: ");
64+
Serial.print(hum);
65+
Serial.print(" %, Sıcaklık: ");
66+
Serial.print(temp);
67+
Serial.print(" Celsius");
68+
Serial.print("Ortam Aydınlatması Yetersiz.");
69+
blue.print("RELAY 1 ON ");
70+
blue.print("Nem: ");
71+
blue.print(hum);
72+
blue.print(" %, Sıcaklık: ");
73+
blue.print(temp);
74+
blue.println(" Celsius \n");
75+
blue.print("Ortam Aydınlatması Yetersiz.");
76+
}
77+
78+
if (flag == "1 OFF") // 1 numaralı rölenin kapanma koşulu.
79+
{
80+
digitalWrite(relay1, LOW); // 1 numaralı rölenin kapanma emri.
81+
Serial.println("\nRELAY 1 OFF"); // Seri monitöre 1 numaralı rölenin açık olduğu bilgisinin yazılması.
82+
delay(2000);
83+
hum = dht.readHumidity(); // Nem değerinin okunması.
84+
temp = dht.readTemperature(); // Sıcaklık değerinin okunması.
85+
Serial.print("Nem: "); // Nem değerinin yazdırılması.
86+
Serial.print(hum); // Nem değeri.
87+
Serial.print(" %, Sıcaklık: "); // Sıcaklık değerinin yazdırılması.
88+
Serial.print(temp); // Sıcaklık değeri.
89+
Serial.print(" Celsius"); // Sıcaklık birimi.
90+
blue.print("RELAY 1 OFF "); // Bluetooth adaptörüyle bağlanılan cihaza bilginin yazdırılması.
91+
blue.print("Nem: "); // Nem değerinin yazdırılması.
92+
blue.print(hum); // Nem değeri.
93+
blue.print(" %, Sıcaklık: "); // Sıcaklık değerinin yazdırılması.
94+
blue.print(temp); // Sıcaklık değeri.
95+
blue.println(" Celsius \n"); // Sıcaklık birimi.
96+
}
97+
98+
if (ldr > 900) // LDR'den gelen veriye göre 1 numaralı rölenin kapanma koşulu.
99+
{
100+
digitalWrite(relay1, LOW);
101+
Serial.println("\nRELAY 1 OFF");
102+
delay(10000);
103+
hum = dht.readHumidity(); // Nem değerinin okunması.
104+
temp = dht.readTemperature(); // Sıcaklık değerinin okunması.
105+
Serial.print("Nem: "); // Nem değerinin yazdırılması.
106+
Serial.print(hum); // Nem değeri.
107+
Serial.print(" %, Sıcaklık: "); // Sıcaklık değerinin yazdırılması.
108+
Serial.print(temp); // Sıcaklık değeri.
109+
Serial.print(" Celsius"); // Sıcaklık birimi.
110+
Serial.print("Ortam Aydınlatması Güzel."); // Seri monitöre ortam aydınlatmasının yazılması.
111+
blue.print("RELAY 1 OFF "); // Bluetooth adaptörüyle bağlanılan cihaza bilginin yazdırılması.
112+
blue.print("Nem: "); // Nem değerinin yazdırılması.
113+
blue.print(hum); // Nem değeri.
114+
blue.print(" %, Sıcaklık: "); // Sıcaklık değerinin yazdırılması.
115+
blue.print(temp); // Sıcaklık değeri.
116+
blue.println(" Celsius \n"); // Sıcaklık birimi.
117+
blue.print("Ortam Aydınlatması Güzel."); // Bluetooth adaptörüyle bağlanılan cihaza ortam aydınlatmasının yazdırılması.
118+
}
119+
120+
if (flag == "2 ON") // 2 numaralı rölenin çalışma koşulu.
121+
{
122+
digitalWrite(relay2, HIGH);
123+
Serial.println("\nRELAY 2 ON");
124+
delay(2000);
125+
hum = dht.readHumidity(); // Nem değerinin okunması.
126+
temp = dht.readTemperature(); // Sıcaklık değerinin okunması.
127+
Serial.print("Nem: "); // Nem değerinin yazdırılması.
128+
Serial.print(hum); // Nem değeri.
129+
Serial.print(" %, Sıcaklık: "); // Sıcaklık değerinin yazdırılması.
130+
Serial.print(temp); // Sıcaklık değeri.
131+
Serial.print(" Celsius"); // Sıcaklık birimi.
132+
blue.print("RELAY 2 ON "); // Bluetooth adaptörüyle bağlanılan cihaza bilginin yazdırılması.
133+
blue.print("Nem: "); // Nem değerinin yazdırılması.
134+
blue.print(hum); // Nem değeri.
135+
blue.print(" %, Sıcaklık: "); // Sıcaklık değerinin yazdırılması.
136+
blue.print(temp); // Sıcaklık değeri.
137+
blue.println(" Celsius \n"); // Sıcaklık birimi.
138+
}
139+
140+
if (flag == "2 OFF") // 2 numaralı rölenin kapanma koşulu.
141+
{
142+
digitalWrite(relay2, LOW);
143+
Serial.println("\nRELAY 2 OFF");
144+
delay(2000);
145+
hum = dht.readHumidity(); // Nem değerinin okunması.
146+
temp = dht.readTemperature(); // Sıcaklık değerinin okunması.
147+
Serial.print("Nem: "); // Nem değerinin yazdırılması.
148+
Serial.print(hum); // Nem değeri.
149+
Serial.print(" %, Sıcaklık: "); // Sıcaklık değerinin yazdırılması.
150+
Serial.print(temp); // Sıcaklık değeri.
151+
Serial.print(" Celsius"); // Sıcaklık birimi.
152+
blue.print("RELAY 2 OFF "); // Bluetooth adaptörüyle bağlanılan cihaza bilginin yazdırılması.
153+
blue.print("Nem: "); // Nem değerinin yazdırılması.
154+
blue.print(hum); // Nem değeri.
155+
blue.print(" %, Sıcaklık: "); // Sıcaklık değerinin yazdırılması.
156+
blue.print(temp); // Sıcaklık değeri.
157+
blue.println(" Celsius \n"); // Sıcaklık birimi.
158+
}
159+
160+
if (flag == "3 ON") // 3 numaralı rölenin çalışma koşulu.
161+
{
162+
digitalWrite(relay3, HIGH);
163+
Serial.println("\nRELAY 3 ON");
164+
delay(2000);
165+
hum = dht.readHumidity(); // Nem değerinin okunması.
166+
temp = dht.readTemperature(); // Sıcaklık değerinin okunması.
167+
Serial.print("Nem: "); // Nem değerinin yazdırılması.
168+
Serial.print(hum); // Nem değeri.
169+
Serial.print(" %, Sıcaklık: "); // Sıcaklık değerinin yazdırılması.
170+
Serial.print(temp); // Sıcaklık değeri.
171+
Serial.print(" Celsius"); // Sıcaklık birimi.
172+
blue.print("RELAY 3 ON "); // Bluetooth adaptörüyle bağlanılan cihaza bilginin yazdırılması.
173+
blue.print("Nem: "); // Nem değerinin yazdırılması.
174+
blue.print(hum); // Nem değeri.
175+
blue.print(" %, Sıcaklık: "); // Sıcaklık değerinin yazdırılması.
176+
blue.print(temp); // Sıcaklık değeri.
177+
blue.println(" Celsius \n"); // Sıcaklık birimi.
178+
}
179+
180+
if (flag == "3 OFF") // 3 numaralı rölenin kapanma koşulu.
181+
{
182+
digitalWrite(relay3, LOW);
183+
Serial.println("\nRELAY 3 OFF");
184+
delay(2000);
185+
hum = dht.readHumidity(); // Nem değerinin okunması.
186+
temp = dht.readTemperature(); // Sıcaklık değerinin okunması.
187+
Serial.print("Nem: "); // Nem değerinin yazdırılması.
188+
Serial.print(hum); // Nem değeri.
189+
Serial.print(" %, Sıcaklık: "); // Sıcaklık değerinin yazdırılması.
190+
Serial.print(temp); // Sıcaklık değeri.
191+
Serial.print(" Celsius"); // Sıcaklık birimi.
192+
blue.print("RELAY 3 OFF "); // Bluetooth adaptörüyle bağlanılan cihaza bilginin yazdırılması.
193+
blue.print("Nem: "); // Nem değerinin yazdırılması.
194+
blue.print(hum); // Nem değeri.
195+
blue.print(" %, Sıcaklık: "); // Sıcaklık değerinin yazdırılması.
196+
blue.print(temp); // Sıcaklık değeri.
197+
blue.println(" Celsius \n"); // Sıcaklık birimi.
198+
}
199+
200+
flag = "";
201+
}

build.gradle

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
// Top-level build file where you can add configuration options common to all sub-projects/modules.
2+
3+
buildscript {
4+
5+
repositories {
6+
google()
7+
jcenter()
8+
9+
}
10+
dependencies {
11+
classpath 'com.android.tools.build:gradle:4.1.2'
12+
13+
14+
// NOTE: Do not place your application dependencies here; they belong
15+
// in the individual module build.gradle files
16+
}
17+
}
18+
19+
allprojects {
20+
repositories {
21+
google()
22+
jcenter()
23+
24+
}
25+
}
26+
27+
task clean(type: Delete) {
28+
delete rootProject.buildDir
29+
}

gradle.properties

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Project-wide Gradle settings.
2+
# IDE (e.g. Android Studio) users:
3+
# Gradle settings configured through the IDE *will override*
4+
# any settings specified in this file.
5+
# For more details on how to configure your build environment visit
6+
# http://www.gradle.org/docs/current/userguide/build_environment.html
7+
# Specifies the JVM arguments used for the daemon process.
8+
# The setting is particularly useful for tweaking memory settings.
9+
org.gradle.jvmargs=-Xmx1536m
10+
# When configured, Gradle will run in incubating parallel mode.
11+
# This option should only be used with decoupled projects. More details, visit
12+
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
13+
# org.gradle.parallel=true
14+
# AndroidX package structure to make it clearer which packages are bundled with the
15+
# Android operating system, and which are packaged with your app's APK
16+
# https://developer.android.com/topic/libraries/support-library/androidx-rn
17+
android.useAndroidX=true
18+
# Automatically convert third-party libraries to use AndroidX
19+
android.enableJetifier=true
20+

0 commit comments

Comments
 (0)