KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ



Benzer belgeler
Arduino nedir? Arduino donanım ve yazılımın kolayca kullanılmasına dayalı bir açık kaynak elektronik platformdur.

Arduino Uno ile Hc-Sr04 ve Lcd Ekran Kullanarak Mesafe Ölçmek

Melih Hilmi ULUDAĞ. Yazılım Mühendisi Mekatronik Mühendisi. a aittir.

KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

PROJE RAPORU. Proje adı: Pedalmatik 1 Giriş 2 Yöntem 3 Bulgular 6 Sonuç ve tartışma 7 Öneriler 7 Kaynakça 7

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

Erzurum Teknik Üniversitesi RobETÜ Kulübü Robot Eğitimleri. ARDUİNO EĞİTİMLERİ I Arş. Gör. Nurullah Gülmüş

Mikroişlemciler ve Programlama Dersi- ARDUINO. Sensörler ve Analog-Digital Çeviriciler İle Çalışma

BİLGİSAYAR BİLİMİ DERSİ (KUR-2)

ARDUINO NEXTION UYGULAMASI. Bu makale, Arduino UNO kartı ile Nextion HMI ekranlarının nasıl kontrol edildiğini anlatmaktadır.

LED YAKMAK. Circuit 2. Kablo LED. Direnç. Arduino LED. Direnç (330ohm)

KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

T.C. ERCİYES ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ BÖLÜMÜ ELEKTRONİK SİSTEMLER LABORATUVARI 1

Terminal Üzerinden Led Kontrol Uygulaması

Online Elektronik Devre Simülasyonu 123D Circuits

KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

UniGSM Arduino SHIELD (UniGSM-A) KURULUM ve KULLANIM KİTAPÇIĞI

KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ TASARIM PROJESİ

BQ Modbus Analog Giriş Kartı 6 Kanal 4 20mA. Kullanım Kılavuzu. Doküman Versiyon: BQTEK

Q-P 50 B KULLANIM KILAVUZU

void setup() fonksiyonu: Bu fonksiyon program ilk açıldığında bir kere çalışır ve gerekli kalibrasyon, setup komutlarını buraya yazarız.

EasyPic 6 Deney Seti Tanıtımı

Giyilebilir Teknolojiler ve Solar Enerjili Şapka Uygulaması

1- KULLANILACAK DEVRE ELEMANLARININ TANITILMASI

KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ

Arduino Temel Bilgiler

DENEY-2. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ

TEKNOLOJİ FAKÜLTESİ BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ MİKROBİLGİSAYAR TABANLI SİSTEM TASARIMI DERSİ

S50 Parmak izi Cihazı Kullanım Kılavuzu. S50 Genel Tanıtım

P-100 P-101. Bağlantı Şeması. İstanbul Yazılım ve Elektronik Teknolojileri

İ İŞİ BÖLÜM ROBOTİK KODLAMA ÖĞRENME ALANLARI BASİT ELEKTRONİK DEVRELERE GİRİŞ AKILLI CİHAZ TASARIMINA GİRİŞ ROBOTİĞE GİRİŞ

KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

VTIY DERS-4 YARDIMCI NOTLARI -2018

BESLEME KARTI RF ALICI KARTI

ALİ ÇETİNKAYA Tuğba SARAY DERS DANIŞMANI PROF. DR. MEHMET BAYRAK

T.C. SÜLEYMAN DEMİREL ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ ÖZEL ELEKTRİK MAKİNALARI DERSİ FİNAL RAPORU ANDROİD BLUETOOTH KONTROLLÜ PİC SULAMA SİSTEMİ

4-Deney seti modüler yapıya sahiptir ve kabin içerisine tek bir board halinde monte edilmiştir.

Paralel ve Seri İletişim. Asenkron/Senkron İletişim. Şekil 2: İletişim Modları

Giriş Nanobot düşük fiyatlı her yaş grubuna hitap eden bir robot ki dir. Kurulumu ve kullanımı çok basi r.

İÇİNDEKİLER VII İÇİNDEKİLER 1 ARDUINONUN TEMELLERİ 1

2. Malzemeler: Bu bölümde size verilecek malzemeler anlatılacaktır ve montaj yaparken dikkat etmeniz gereken hususlar belirtilecektir.

BETİ GSM/GPRS MODEM KULLANIM KILAVUZU

Q-scout ne işe yarar?

Strike 5.50 R Proximity Kart Okuyucu Kullanım Kılavuzu

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Code Composer Studio İndirilmesi ve Kurulması

BQ Modbus Analog Giriş Kartı 6 Kanal PT100 - PT1000. Kullanım Kılavuzu. Doküman Versiyon: BQTEK

. ROBOTİK VE KODLAMA EĞİTİMİ ÇERÇEVESİNDE ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ DERSİ ÜNİTELENDİRİLMİŞ YILLIK DERS PLANI

DY-45 OSĐLOSKOP KĐTĐ. Kullanma Kılavuzu


KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ TASARIM PROJESİ

İçİndekİler. 1. Bölüm - Mİkro Denetleyİcİ Nedİr? 2. Bölüm - MİkroDenetleyİcİlerİ Anlamak

KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ TASARIM PROJESİ

İÇİNDEKİLER 1. KLAVYE KLAVYE RB KLAVYE RBHIGH DİSPLAY... 31

Örnek. int analogpin = 3; int val = 0; void setup() { Serial.begin(9600); } void loop() { val = analogread(analogpin); Serial.

ARDUİNO PROGRAMLAMA 1.ARDUİNO YU TANIMAK

Bilgisayar ile Nasıl İletişim Kurulur?

Q-P 110A Kullanım Kılavuzu

FP52 PROXIMITY KART OKUYUCUSU KULLANIM KILAVUZU

IR Modülü. Kart Özellikleri Çalısma Frekansı: 38KHz Mesafe: 6 Metre Çalısma Voltajı: 3.3-5V Kart Boyutları: 20 mm x 20 mm

Elif İLİKSİZ. Keziban TURAN. Radio Frekanslarla Hareket Eden Araç

TEKNOLOJİ FAKÜLTESİ BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ MİKROBİLGİSAYAR TABANLI SİSTEM TASARIMI DERSİ

Modeller BLW-211PI, BLW-211MI, BLW-212PO, BLW-212MO

MW-350 Stand-Alone Şifre+Kart Okuyucu. Kullanım Kılavuzu. Kullanıma başlamadan önce mutlaka okuyunuz

BÖLÜM Mikrodenetleyicisine Giriş

web-sitesi : satış : teknik destek : tel : IM-SMO20 Ultrasonik Mesafe Sensörü Özellikler

FOUR FAİTH F2114 GPRS MODEM İLE ZR AUTOMATION KULLANIMI KILAVUZU

5-14 KURULUM AYARLARI CALIŞMA FONKSİYONLARI MEKANÝK KURULUM ARIZA DURUMLARI GÜVENLÝK UYARILARI TEKNÝK ÖZELLÝKLER

Windows Mobile İşletim Sistemleri İçin Veri Giriş Yazılımı

Üniversal Giriþli Proses indikatörü

V Daq Kurulum adımları

KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ TASARIM PROJESİ

SAKARYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ GÖMÜLÜ SİSTEMLER DENEY FÖYÜ

MISSION WI-FI KURULUM KILAVUZU

AKILLI KÜRSÜ KULLANIM KILAVUZU

Wolvox Kapı Ekranı. AKINSOFT Wolvox Kapı Ekranı Yardım Dosyası. Doküman Versiyon :

F3432 WCDMA ÇİFT SİM KARTLI WİFİ ÖZELLİKLİ 3G ROUTER

PLANIZ2009 PLANLA ALARM IZLEME PROGRAMI

Bütün ümidim gençliktedir.

Kapı Tipi Metal Arama Dedektörleri

Ledler turuncu yanıyorsa iki modem arasınta fiziksel bağlantı var demektir.

PM 2 KARTLI VE ġġfrelġ GEÇĠġ KONTROL TERMĠNALĠ KURULUM VE KULLANIM KILAVUZU

F3938 OTOBÜS MODEMİ KULLANIM KILAVUZU

Proje 1. Arayüz Tasarımı

BQ101 GSM Access Kontrol Ünitesi Windows Programı. Kullanım Kılavuzu. Doküman Versiyon: BQTEK

DERS BİLGİ FORMU Mobil Telefon Elektrik-Elektronik Teknolojisi Haberleşme Sistemleri

Alıcı Devresi; Sinyali şu şekilde modüle ediyoruz;

Haftalık Ders Saati Okul Eğitimi Süresi

DY-45 OSİLOSKOP V2.0 KİTİ

DOKUMANLAR

ATATÜRK ÜNİVERSİTESİ BİLGISAYAR MÜHENDİSLİĞİ BÖLÜMÜ BM 104- NESNEYE YÖNELİK PROGRAMLAMA DERSİ BAHAR DÖNEMİ ÖDEV-3

DELTA PLC EĞİTİM SETİ KİTAPÇIĞI

SPEEDSENSE KONFİGÜRASYON ARACI KULLANIM KILAVUZU

Dokunmatik Panel Ürün Ailesi. Eğitim Sunumu: Proje Uyarlama Kılavuzu

Grove Parmak İzi Okuyucu Sensör ile Arduino Uno

PERKON PDKS Kurulum ve hızlı başlangıç rehberi

idea rsbasic KOMUTLARI

KMK BLUETOOTH OPTİK PORT KABLOSUZ AKILLI OTOMATİK PROTOKOL TANIMLAYABİLEN PORT AKILLI BLUETOOTH OPTİK PORT OTOMATİK PROTOKOL TANIMLAMA

Transkript:

KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ AKILLI FAN KONTROLÜ TASARIM PROJESİ Eren GÜMÜŞ 2015-2016 GÜZ DÖNEMİ

KARADENİZ TEKNİK ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ AKILLI FAN KONTROLÜ TASARIM PROJESİ Eren GÜMÜŞ Bu projenin teslim edilmesi ve sunulması tarafımca uygundur. Danışman : Yrd. Doç. Dr. Bekir DİZDAROĞLU... 2015-2016 GÜZ DÖNEMİ

IEEE Etik Kuralları IEEE Code of Ethics Mesleğime karşı şahsi sorumluluğumu kabul ederek, hizmet ettiğim toplumlara ve üyelerine en yüksek etik ve mesleki davranışta bulunmaya söz verdiğimi ve aşağıdaki etik kurallarını kabul ettiğimi ifade ederim: 1. Kamu güvenliği, sağlığı ve refahı ile uyumlu kararlar vermenin sorumluluğunu kabul etmek ve kamu veya çevreyi tehdit edebilecek faktörleri derhal açıklamak; 2. Mümkün olabilecek çıkar çatışması, ister gerçekten var olması isterse sadece algı olması, durumlarından kaçınmak. Çıkar çatışması olması durumunda, etkilenen taraflara durumu bildirmek; 3. Mevcut verilere dayalı tahminlerde ve fikir beyan etmelerde gerçekçi ve dürüst olmak; 4. Her türlü rüşveti reddetmek; 5. Mütenasip uygulamalarını ve muhtemel sonuçlarını gözeterek teknoloji anlayışını geliştirmek; 6. Teknik yeterliliklerimizi sürdürmek ve geliştirmek, yeterli eğitim veya tecrübe olması veya işin zorluk sınırları ifade edilmesi durumunda ancak başkaları için teknolojik sorumlulukları üstlenmek; 7. Teknik bir çalışma hakkında yansız bir eleştiri için uğraşmak, eleştiriyi kabul etmek ve eleştiriyi yapmak; hatları kabul etmek ve düzeltmek; diğer katkı sunanların emeklerini ifade etmek; 8. Bütün kişilere adilane davranmak; ırk, din, cinsiyet, yaş, milliyet, cinsi tercih, cinsiyet kimliği, veya cinsiyet ifadesi üzerinden ayırımcılık yapma durumuna girişmemek; 9. Yanlış veya kötü amaçlı eylemler sonucu kimsenin yaralanması, mülklerinin zarar görmesi, itibarlarının veya istihdamlarının zedelenmesi durumlarının oluşmasından kaçınmak; 10. Meslektaşlara ve yardımcı personele mesleki gelişimlerinde yardımcı olmak ve onları desteklemek. IEEE Yönetim Kurulu tarafından Ağustos 1990 da onaylanmıştır. II

ÖNSÖZ Bu projede Karadeniz Teknik Üniversitesi, Bilgisayar Mühendisliği Bölümü Tasarım Projesi konularına uygun olarak tasarlanan Akıllı Fan Kontrolü yapılmıştır. Bir bilgisayar fanının sıcaklığa duyarlı olarak çalışması gerçeklenmiş ve android programı ile uzaktan kontrolü yapılmıştır. Birçok alanda benzer işler için kullanılabilecek olan bu projede bir takım sorunların çözümü ve insan hayatının kolaylaştırılması hedeflenmiştir. Yaşamım boyunca hep yanımda olan aileme, gerekli donanımlar için desteklerini esirgemeyen mühendis arkadaşlarıma ve proje boyunca danışmanlığımı yapan sayın hocam Yrd. Doç. Dr. Bekir DİZDAROĞLU na teşekkürlerimi sunarım. Eren GÜMÜŞ Trabzon 2015 III

İÇİNDEKİLER Sayfa No IEEE ETİK KURALLARI II ÖNSÖZ III İÇİNDEKİLER IV ÖZET V 1. GENEL BİLGİLER 1 1.1. Giriş 1 1.2. Projede Kullanılan Malzemeler 2 1.3. Proje Ön Hazırlıkları 4 2. YAPILAN ÇALIŞMALAR 5 2.1. Modül ve Sensör Bağlantıları 5 2.2. Devre Şemasının Hazırlanması 8 2.3. Android Arayüzünün Tasarımı 10 2.4. Android Arayüzünün Programlanması 13 2.5 Arduino Tarafında Programlama 15 3. SONUÇLAR 17 4. ÖNERİLER 18 5. KAYNAKLAR 19 6. EKLER 20 6.1 Ek-1 Proje Kodları 20 STANDARTLAR ve KISITLAR FORMU 24 IV

ÖZET Soğutma sistemleri elektronik sistemlerin verimli çalışması için son derece önemlidir. Bu projede bir bilgisayar sistemine ait fanın kullanıcı denetimli olarak çalışması sağlanmıştır. Kurmuş olduğum bu sistem ortamın ısısına göre fanın dönüş hızını ayarlamaktadır. Lcd panel sayesinde kullanıcı bilgilendirilmiştir. Sıcaklık belli bir eşik değerini aştığında led ve buzzer yardımıyla kullanıcı uyarılmakta ve aynı zamanda yine Lcd panel üzerinden bilgi verilmektedir. Arduino mikrodenetleyicisi sayesinde proje geliştirilmiştir. Arduino mikrodenetleyicisini programlamak için C dili yeterli olabilmektedir. Fanın istenen hızda çalışabilmesi için transistör, kondansatör, diyot ve direnç gibi elektronik elemanlar kullanılmıştır ve gerekli program kodları buna uygun hazırlanmıştır. Projede aynı zamanda arduino mikrodenetleyicisinin bluetooth modülü yardımıyla bir android cihaz ile haberleşmesi yapılarak sisteme uzaktan müdahale şansı tanınmıştır. Projenin android kısmı Google firmasına ait App Inventor aracı ile hazırlanmıştır. V

1 1. GENEL BİLGİLER 1.1. Giriş Günümüzde gelişen teknolojilerin artıları olduğu gibi eksi yönleri de var olmaktadır. Teknolojik cihazlar günden güne küçüldükçe soğutma sistemleri birer problem haline gelmektedir. Soğutma sistemleri ile ideal sıcaklığın sağlanması, bilgisayar sistemleri için son derece önemlidir. Birçok elektronik parçada istenen sıcaklığın sağlanması sistemin kararlılığını ilk etkileyen faktörlerden birisidir. Günümüz bilgisayar sistemlerinde gelişen elektronik parçaların bazıları örnek olarak ekran kartı gibi donanımlar yüksek performans gösterirken dezavantaj olarak yüksek ısı açığa çıkarmaktadır. Günümüz ekran kartları bir, iki ve hatta üç fanlı yapıda üretilebilmektedir. Üretici firmalar tarafından konulan fan kontrolcüleri sayesinde bu fanların her birine müdahale edilebilir ve hepsinin dönüş hızı istenen ayarda ayarlanabilir. Şekil 1.1.1 Modern fan kontrolcüsü Fan kontrolü soğutmaya ihtiyaç duyan sistemlerde büyük önem taşımaktadır. Bu projede arduino android haberleşmesi ile bir sistemin sıcaklığı izlenerek soğutmada maksimum performansın yakalanması hedeflenmiştir. Sistem arduino üzerindeki sıcaklık sensörü ile ortamın sıcaklık bilgisini almaktadır. Bu sıcaklık bilgisi lcd panel üzerinden kullanıcıya bildirilmektedir. Yine arduino üzerindeki bluetooth modülü yardımıyla kullanıcının mobil cihazı ile iletişime geçilir. Sıcaklık bilgisini alan kullanıcı mobil cihazından sistemin soğutma devresine müdahale edebilmektedir. Bu proje ile birçok benzer probleme çözümler getirilebilir. Örnek olarak oda sıcaklığına göre çalışan klima sistemleri, buzdolaplarının iç ısısının ayarlanması

2 1.2. Projede Kullanılan Malzemeler Proje için gerekli malzeme listesi ve yazılımlar şöyledir; Arduino Uno 2 x 16 Lcd Panel HC-06 Bluetooth Modül LM35 Sıcaklık Sensörü 5V DC Fan Android İşletim Sistemli Mobil Cihaz Uyarı için buzzer ve led BD139 Transistör Potansiyometre, direnç, diyot, kondansatör Arduino Uno Arduino bir G/Ç kartı ve Processing/Wiring dilinin bir uygulamasını içeren geliştirme ortamından oluşan bir fiziksel programlama platformudur[1]. Arduino Uno ATmega328 mikrodenetleyici içeren bir Arduino kartıdır. Arduino 'nun en yaygın kullanılan kartı olduğu söylenebilir. Arduino Uno 'nun ilk modelinden sonra Arduino Uno R2, Arduino Uno SMD ve son olarak Arduino Uno R3 çıkmıştır. Arduino Uno R3 ün kısımları [2] şu şekildedir; Şekil 1.2.1 Arduino Uno R3 ün bölümleri

1 : USB jakı 2 : Power jakı (7-12 V DC) 3 : Mikrodenetleyici ATmega328 4 : Haberleşme çipi 5 : 16 MHz kristal 6 : Reset butonu 7 : Power ledi 8 : TX / NX ledleri 9 : Led 10 : Power pinleri 11 : Analog girişler 12 : TX / RX pinleri 13 : Dijital giriş / çıkış pinleri 14 : Ground ve AREF pinleri 15 : ATmega328 için ICSP 16 : USB arayüzü için ICSP 3

4 1.3. Proje Ön Hazırlıkları Projeye başlamadan önce bazı yazılımları hazır hale getirmeli ve Arduino mikrodenetleyicimizi bilgisayara tanıtmalıyız. Arduino usb kablo ile bilgisayara bağlandıktan sonra gerekli ayarlar için bu arduino programını indirmemiz ve kurmamız gerekir [3]. Programı yükledikten sonra yazdığımız kodları arduino ya yükleyebilmek için cihazların aynı COM portu üzerinden haberleşmesi gerekir. Eğer aynı portta değilseler öncelikle aygıt yöneticisinden arduino nun hangi portu kullandığına bakılır, daha sonra programın ilgili kısmından gerekli seçimler yapılmalıdır. Şekil 1.3.1 Aygıt yöneticisinden COM portunu öğrenmek Şekil 1.3.2 Port Seçimi

5 2. YAPILAN ÇALIŞMALAR 2.1. Modül ve Sensör Bağlantıları Projenin sağlıklı çalışabilmesi için modül ve sensör bağlantılarının eksiksiz yapılması gerekmektedir. Projede kullanılan 2x16 Lcd panelin bacak bağlantıları şu şekilde olmalıdır. Şekil 2.1.1 Lcd Panel Şekil 2.1.2 Lcd panelin bacak bağlantıları

6 LM35 sensörü sıcaklık algılama görevini görmektedir ve sıcaklık bilgisi analog bir bilgi olup arduino üzerindeki analog girişlerinden birine bağlanmalıdır. Diğer bir bacağı +5V ile beslenirken son bacağına da toprak bağlanmalıdır. Şekil 2.1.3 LM35 Bacak bağlantıları Arduino ile mobil cihazı haberleştiren bluetooth modülü olarak HC-06 modülü kullanılmıştır. Bu modülde dikkat edilmesi gereken nokta, bu modülün 3.3V ile beslenmesi gerektiğidir. Aksi takdirde modülün yanabilme riski vardır. Modülün üzerindeki RX ve TX bacakları arduino üzerinde de var olup modül ile cihaz arasında veri iletişimi için kullanılır. Burada dikkat edilmesi gereken nokta ise bağlantının çapraz yapılmasıdır. Modül üzerindeki RX girişi arduino üzerinde TX girişine, modül üzerindeki TX girişi arduino üzerindeki RX girişine bağlanmalıdır. Aksi takdirde veri alışverişi yapılamaz. Şekil 2.1.4 Bluetooth modülü HC-06

7 Şekil 2.1.5 BD139 Transistörünün bacak bağlantıları

8 2.2. Devre Şemasının Oluşturulması Projenin kodlanması öncesinde elektronik tasarımının yapılıp breadboard üzerinde tüm elemanlarının bağlantılarının yapılması gerekmektedir. Devre şeması Fritzing isimli elektronik çizim programında hazırlanmıştır. Programı verilen bağlantıdan ücretsiz elde edebilirsiniz [4]. Şekil 2.2.1 Proje Devre Şeması Devre şeması şu işlemleri yapmak için tasarlanmıştır; LM35 sıcaklık sensörü ile ortamın ısısı sürekli kontrol edilmektedir. HC-06 bluetooth modülü takılarak android mobil cihaz ile iletişime geçilir. Kullanıcı fan sistemini çalıştıracağı modu seçer. Mobil cihazdan gelen bu bilgiyi alan arduino mikrodenetleyicisi hangi modu çalıştıracağını seçer. Lcd panel üzerinden kullanıcı bilgilendirilir. Otomatik modda sıcaklık belli bir eşik değerini geçtiğinde kırmızı led ve buzzer ile kullanıcı uyarılır.

9 Şekil 2.2.2 Devre şemasının gerçeklenmesi

10 2.3. Android Arayüzünün Tasarımı Android programı Google firmasına ait App Inventor aracı ile yazıldı. Bunun kullanılmasındaki en büyük etkenler kısa sürede sonuç alınmak istenmesi ve çok profesyonellik gerektirmeyen basit sade tasarım idi. App Inventor aracına buradan ulaşabilirsiniz [5]. Programa 3 buton, 1 label, 1 ListPicker ve uzaktan kontrolün sağlanması için BluetoothClient ekliyorum. İlk buton ağdaki bluetooth cihazlarını gösteriyor ve herhangi birine bağlanmamızı sağlıyor. Bağlantı sağlandığında labelin değeri değişiyor. Diğer butonlar ise kullanıcının fan modları arasındaki seçim yapmasını sağlıyor. Şekil 2.3.1 App Inventor ile arayüzün tasarlanması Kullanıcı bluetooth araçlarını listeleyip birini seçtikten sonra bağlantının sağlandığı label ile kullanıcıya bildiriliyor ve bağlantının sağlandığını belirtmek için buton true değerini alıyor.

11 Şekil 2.3.2 Android arayüzü Şekil 2.3.3 Bluetooth cihazı seçim ekranı

12 Şekil 2.3.4 Bluetooth erişimi sağlandıktan sonra

13 2.4. Android Arayüzünün Programlanması ListPicker ile bluetooth cihazları listelenir. BeforePicking metoduna yazdığımız kod ile çevredeki bluetooth modülleri isim ve adrese göre listelenir. Şekil 2.4.1 BeforePicking metodu AfterPicking metoduna yazdığımız kod ile listeden seçtiğimiz modül ile bağlantı kurulur, labelin değeri ve rengi güncellenir. Şekil 2.4.2 AfterPicking metodu Butonlarla ise kullanıcının fan modları arasında seçim yapabilmesi sağlandı. Hangi butona tıklandı ise o butonu belirtmek için arkaplan rengi yeşil olarak güncellendi. Kullanıcının seçtiği modu arduino tarafında algılayıp kullanabilmek için butonlar aracılığı ile arduino ya 0, 1 ve 2 değeri text olarak gönderildi. Şekil 2.4.3 Buton1

14 Şekil 2.4.4 Buton2 Şekil 2.4.5 Buton3

15 2.5. Arduino Tarafında Programlama Arduino Geliştirme Ortamı Arduino geliştirme ortamı, arduino mikrodenetleyicisine yazılımsal olarak müdahale edebilmemize yarayan bir arduino IDE si olarak düşünülebilir. Bu editör üzerinden arduino ayarlarını yapabiliriz, kodumuzu yazıp derleyebiliriz, kodumuzu arduino çipine yükleyebiliriz. İçinde barındırdığı hazır kütüphaneler ile projemize istenen özellikleri kazandırabiliriz. Arduino IDE java tabanlı yazılmıştır ve Processing dil ortamına dayanmaktadır. Kütüphaneler ise C/C++ dilinde yazılmıştır. Bu projede C dili kullanılmıştır. Arduino geliştirme ortamını biraz daha yakından tanıyalım; Şekil 2.5.1 Arduino geliştirme ortamı

16 1 numaralı kısımda kodumuzu derleme butonu,ve arduino mikrodenetleyicisine yükleme butonu bulunmaktadır. Diğer butonlardan ise yeni çalışma dosyası açma ve dosyayı kaydetme gibi işlemler yapılmaktadır. 2 numaralı kısım Setup kısmıdır. Burada genellikle ilk tanımlamalar yapılmaktadır. Arduino üzerinde kullandığımız giriş çıkışlar tanımlanmaktadır. 3 numaralı kısım Loop kısmıdır. Buraya projede yapmak istediğimiz işlerin kodu yazılmaktadır. Loop fonksiyonu koşulsuz bir döngü gibidir. İçine yazılan kodlar tekrar tekrar çalıştırılmaktadır. 4 numaralı alanda seri port ekranı bulunmaktadır. Arduino ile bilgisayar seri port üzerinden haberleşir ve veri alış verişi bu şekilde sağlanır. Seri port üzerinden arduino üzerindeki program çalıştırılabilmektedir. Yine bu ekran üzerinden alınan ve gönderilen veriler görüntülenebilmektedir. 5 numaralı kısım bilgi ekranıdır. Derlenen koddaki hata mesajlarını veya hata yok ise program ile ilgili bilgileri görüntülemektedir. Projeye ait kodlar ekler kısmında verilecektir.

17 3. SONUÇLAR Projede fan ile sistemin ısısının ortam sıcaklığına göre ayarlanması amaçlanmıştı. İstenen işlemler başarı ile sonuçlanmıştır. Ortamın ısısı sıcaklık sensörü ile algılanmış ve buna göre fan devresi istenen ayarda çalıştırılmıştır. Burada elektronik elemanların ısıya dönüşen bir kısım enerji sebebiyle ısındığı görülmüştür ve bu sebeple sıcaklık sensörünün ortam ısısından 1-2 derece yüksek gösterdiği gözlemlenmiştir. Projeye uzaktan müdahale seçeneği başarı ile eklenmiştir. Mobil cihaz ile sistem istenen modda çalıştırılmıştır. Led ve buzzer yardımıyla uyarı sistemi uygulanmıştır. Böylece kullanıcı bilgi sahibi olabilmektedir. Uyarı ledlerinin yarım saniye kadar alçak seviyede, yarım saniye kadar yüksek seviyede tutulması ile modlar arasında geçişin 1 saniye kadar aksadığı gözlemlenmiştir. Genel olarak projenin istenen hedeflere uygun olarak çalıştığı görülmüştür.

18 4. ÖNERİLER Öncelikle bu projede kısıtlı zaman ve pahalı ekipmanlar olmak üzere bir takım kısıtlamalara gidilmiştir. Projede uzaktan kontrol için bluetooth modülü kullanılmıştır. Bilindiği üzere bluetooth modülü 10 metre çapında gibi bir ortamda iletişimi sağlamaktadır. Proje ile ilgilenenlerin bunu göz önünde bulundurması gerekmektedir. Uyarı sistemi için led ve buzzer kullanılmıştır. Maddi imkanı el veren çalışmacılara GSM modülü ile sms uyarı sistemi uygulamasını önerebilirim. Kısıtlı zaman sebebiyle uzaktan kontrol için yazdığım mobil uygulama kısa sürede hızlı sonuç veren App Inventor aracı ile hazırlanmıştır. Zamanı olan çalışmacılara daha profesyonel imkanlar sunan Android Studio veya Eclipse araçlarını önerebilirim. Uygun imkan ve koşullar sağlandığında projenin daha iyi yerlere gelebileceği görülmektedir.

19 5. KAYNAKLAR 1. http://www.robotiksistem.com/arduino_nedir_arduino_ozellikleri.html Arduino nedir? 30 Kasım 2015. 2. http://arduinoturkiye.com/arduino-uno/ Arduino Uno bölümleri. 30 Kasım 2015. 3. https://www.arduino.cc/en/main/software Arduino prgramı. 3 Aralık 2015. 4. http://fritzing.org/download/ Fritzing çizim programı. 7 aralık 2015. 5. http://ai2.appinventor.mit.edu/ App Inventor 2. 10 Aralık 2015.

20 6. EKLER 6.1 Ek-1 Proje Kodları #include <LiquidCrystal.h> #include <SoftwareSerial.h> LiquidCrystal lcd(12, 11, 5, 4, 3, 2); SoftwareSerial MyBlue(0, 1); int temppin = A1; int fan = 10; int leds =9; int ledk = 8; int ledy =7; int buz=13; int temp; int tempmin = 30; int tempmax =65 ; int fanspeed; int fanlcd; int veri; void setup() { pinmode(fan, OUTPUT); pinmode(ledk, OUTPUT); pinmode(ledy, OUTPUT); pinmode(leds, OUTPUT); pinmode(temppin, INPUT); pinmode(buz, OUTPUT); lcd.begin(16,2); Serial.begin(9600); MyBlue.begin(9600); void loop() { { temp = readtemp(); while (true) { char veri = MyBlue.read(); if (veri == '0') { otomatik_mod(); if (veri == '1') { dusuk_mod(); if(veri == '2' ) { yuksek_mod(); //Otomatik Mod //Düşük Mod //Yüksek Mod

21 if (veri == '3' ) { kapat(); //Sistemi kapat int readtemp() { //Sıcaklık dönüşümü temp = analogread(temppin); return temp * 0.48828125; void otomatik_mod() { while ((veri!= '1') && (veri!= '2') && (veri!= '3')) { if(readtemp() < tempmin) { fanspeed = 0; digitalwrite(fan, LOW); if((readtemp() >= tempmin) && (readtemp() <= tempmax)) { fanspeed = map(readtemp(), tempmin, tempmax, 32, 255); fanlcd = map(readtemp(), tempmin, tempmax, 0, 100); analogwrite(fan, fanspeed); else { if(readtemp() > tempmax) { lcd.clear(); digitalwrite(ledk, HIGH); digitalwrite(ledy, LOW); lcd.print(" DIKKAT! "); lcd.setcursor(0,1); lcd.print("yuksek SICAKLIK "); delay(200); digitalwrite(buz, HIGH); lcd.clear(); digitalwrite(ledy, HIGH); digitalwrite(ledk, LOW); lcd.print("sicaklik: "); lcd.print(readtemp()); lcd.setcursor(0,1); lcd.print("fan HIZI: "); lcd.print(fanlcd); lcd.print("%");

22 delay(200); digitalwrite(buz, LOW); veri=myblue.read(); if ((veri == '1') (veri == '2') (veri == '3')) { digitalwrite(ledk, LOW); digitalwrite(ledy, LOW); digitalwrite(buz, LOW); void dusuk_mod() { fanspeed = 65; analogwrite(fan, fanspeed); while ((veri!= '0') && (veri!= '2') && (veri!= '3')) { lcd.clear(); lcd.print("dusuk MOD AKTIF"); lcd.setcursor(0,1); lcd.print("sicaklik: "); lcd.print(readtemp()); veri = MyBlue.read(); digitalwrite(leds, HIGH); delay(500); digitalwrite(leds, LOW); delay(500); void yuksek_mod() { fanspeed = 255; analogwrite(fan, fanspeed); while ((veri!= '0') && (veri!= '1') && (veri!= '3')) { lcd.clear(); lcd.print("yuksek MOD AKTIF"); lcd.setcursor(0,1); lcd.print("sicaklik: "); lcd.print(readtemp()); veri = MyBlue.read(); digitalwrite(ledk,high); delay(500); digitalwrite(ledk,low); delay(500); void kapat() { fanspeed = 0; analogwrite(fan, fanspeed); while ((veri!= '0') && (veri!= '1') && (veri!= '2')){ lcd.clear(); lcd.print(" SISTEM "); lcd.setcursor(0,1);

23 lcd.print(" KAPATILDI "); veri = MyBlue.read(); delay(500);

24 STANDARTLAR ve KISITLAR FORMU Projenin hazırlanmasında uyulan standart ve kısıtlarla ilgili olarak, aşağıdaki soruları cevaplayınız. 1. Projenizin tasarım boyutu nedir? (Yeni bir proje midir? Var olan bir projenin tekrarı mıdır? Bir projenin parçası mıdır? Sizin tasarımınız proje toplamının yüzde olarak ne kadarını oluşturmaktadır?) Proje var olan bir projenin geliştirilmiş halidir. Projeye etkin müdahale, uzaktan kontrol ve güvenlik için bir takım ekler geliştirilmiştir. 2. Projenizde bir mühendislik problemini kendiniz formüle edip, çözdünüz mü? Açıklayınız. Projede fanın istenen devirde dönmesi için elektrik formülleri yardımıyla bir takım hesaplamalar yapılarak buna uygun elektronik elemanlar kullanılmıştır. 3. Önceki derslerde edindiğiniz hangi bilgi ve becerileri kullandınız? Programlama becerisi, elektronik bilgisi, tasarım ve çizim, mobil cihaz programlama, algoritma geliştirme, bilgisayar ağları. 4. Kullandığınız veya dikkate aldığınız mühendislik standartları nelerdir? (Proje konunuzla ilgili olarak kullandığınız ve kullanılması gereken standartları burada kod ve isimleri ile sıralayınız). 5. Kullandığınız veya dikkate aldığınız gerçekçi kısıtlar nelerdir? Lütfen boşlukları uygun yanıtlarla doldurunuz. a) Ekonomi Projede maliyet azaltmak sebebiyle bazı düşünceler uygulanamamıştır. b) Çevre sorunları: Projenin çevreye herhangi bir zararı yoktur. Bu sebeple bir kısıtlama uygulanmamıştır.

25 c) Sürdürülebilirlik: Proje önü açık bir projedir. Böyle bir projeye hayatın her alanında hemen hemen ihtiyaç duyulmaktadır. d) Üretilebilirlik: Proje küçük eklemeler ile kolayca her sisteme çözüm olarak getirilebilir. Geliştirilmeye uygun olarak tasarlanmıştır. e) Etik: Proje geliştirilirken etik kurallarına uyulmaya çalışılmıştır. f) Sağlık: Projenin sağlığa herhangi bir zararı olmamakla birlikte aksine insan sağlına yardım amaçlı kullanılabilir. g) Güvenlik: Proje kapalı, modüler bir yapıda tasarlanmadığı için elektrik bakımından bir takım güvenlik açıkları içermektedir. Elektronik elemanlar ile temasta risk teşkil etmektedir. h) Sosyal ve politik sorunlar: Proje herhangi bir sosyal ve politik sorun yaratmadığından bu kısımda kısıtlama yoluna gidilmemiştir.