Download as pdf or txt
Download as pdf or txt
You are on page 1of 19

T.C.

GAZİANTEP ÜNİVERSİTESİ
TEKNİK BİLİMLER MESLEK YÜKSEK OKULU
Bilgisayar Teknolojileri Bölümü

Bilgisayar programcılığı programı

MESLEKİ UYGULAMA PROJESİ

183006011001 Ferhat GEÇER


183006011092 Emre TEKİNER

Danışman
Öğr. Gör. Dilek GÖKÇEK

MAYIS 2021
GAZİANTEP
MESLEKİ UYGULAMA PROJESİ ONAY FORMU

Ferhat GEÇER ve Emre TEKİNER tarafından hazırlanan “Arduino ile otopark bariyeri.”
başlıklı mesleki uygulama projesi tarafımızdan incelenmiş, kapsamı ve niteliği açısından
bir Mesleki uygulama Projesi olarak kabul edilmiştir.

Danışman : Unvanı Adı ve SOYADI ………………………………

Bölüm Başkanı : Unvanı Adı ve SOYADI ………………………………


ÖNSÖZ

Üniversite öğrenimim boyunca derslerde her zaman bilgime bilgi katan ve proje seçme
konusunda bana yol gösterip desteklerini esirgemeyen değerli hocam ve danışmanım Öğr.
Grv. Dilek GÖKÇEK’e, teşekkürlerimi sunarım. Projemin hazırlanmasında, eğitim aldığım
ve kitaplarından yararlandığım Sayın Yonca ÖZGÜN’e, eğitim ve öğrenim hayatımda en
büyük destekçilerimden olan Mehmet Hurşit VATAN’a, proje konusunda sık sık fikir
aldığım GAP Bölge Kalkınma İdaresi Başkanlığı bünyesinde çalışan Robotik Kodlama
Eğitmenleri olan mesai arkadaşlarım, Hüseyin FINDIKÇI, Sidar YAVUZ, Mesut
KURTOĞLU, Muhterem GÖNCİ ve Mehmet ŞEYHANLI’ya bilgi ve desteklerini benden
esirgemeyerek projeme, algoritmik düşünmeme ve yazılım bilgime kattıkları değerlerden
dolayı minnetlerimi sunarım. Pandemi dönemindeki eğitim ve proje sürecimde ilgi ve
sabırlarından dolayı aileme ve müstakbel eşim Esra BEYAZOĞLU’na teşekkür ederim.
Ayrıca proje çalışmalarında bizlere temel zemini oluşturan Gaziantep Üniversitesi Teknik
Bilimler Meslek Yüksek Okulu Bilgisayar Teknolojileri Bölüm Başkanlığına ve Gaziantep
Üniversitesi Rektörlüğüne Teşekkür Ederim.

Ferhat GEÇER
Mayıs 2021
Gaziantep

ÖNSÖZ

Üniversite öğrenimim boyunca derslerde her zaman bilgime bilgi katan ve proje seçme
konusunda bana yol gösterip desteklerini esirgemeyen değerli hocam ve danışmanım Öğr.
Grv. Dilek GÖKÇEK’e, teşekkürlerimi sunarım. Ayrıca proje çalışmalarında bizlere temel
zemini oluşturan Gaziantep Üniversitesi Teknik Bilimler Meslek Yüksek Okulu Bilgisayar
Teknolojileri Bölüm Başkanlığına ve Gaziantep Üniversitesi Rektörlüğüne Teşekkür
Ederim.

Emre TEKİNER
Mayıs 2021
Gaziantep

ii
İÇİNDEKİLER

Mesleki uygulama Projesi Onay Formu ……………………… i


Önsöz ……………………… ii
İçindekiler ……………………… iii
Resimler ……………………… iv
Özet ……………………… v

1. Giriş 1
2. Teorik Altyapı ……………………… 1
3. Tasarının Kodlanması ……………………… 2
3.1. Kod Bloğuna Kütüphane Tanımlanması ……………………… 2
3.2. Pinlerin Tanımlanması ……………………… 2
3.3. RFID Kart Tanımlanması ……………………… 3
Hareketli Mekanizma Belirlenmesi Ve
3.4. ……………………… 3
Kodlanması
3.5. LCD Panel Tanımlanması ……………………… 3
3.6. Sisteme RFID Kart Tanımlanması ……………………… 4
3.7. Yetkisiz Giriş Engellenmesi ……………………… 6
4. Sonuçlar ……………………… 7
5. Tasarım - Montaj ……………………… 8
6. Yorumlar Ve Değerlendirmeler ……………………… 11
Kaynakça ……………………… 12
Özgeçmiş ……………………… 13

iii
RESIMLER

Resim 1 – Proje Şeması Tasarım Aşaması

Resim 2 – Proje Devre Elemanlarının Platforma Montajı

Resim 3 – Proje Prototipi Bitmiş Hali

iv
ÖZET
Projemiz apartmanların, sitelerin, özel otoparkların vb. araç girişlerindeki bariyer
sisteminin prototipini hazırlamak için yapılmıştır. Projede kullanılan ana malzemeler,
Arduino uno kart, NFC kart okuyucu, NFC kart, Step motor ve sürücü kartı, LCD1602
ekran, buzzer, Karton, Powerbank, Tükenmez Kalem, led ve dirençler.

Bu malzemeleri kullanarak oluşturduğumuz sistemde, kodladığımız yazılım yardımı ile,


okutulan yetkili NFC kart ile Step motora tükenmez kalem parçalarından monte ettiğimiz
bariyer şeklindeki sistemin 90 derece açı ile açılıp 10 saniye içinde araç geçişine izin
verdikten sonra tekrar kapanarak eski haline dönmesi amaçlanmıştır.

Proje esnasında uygulamaya koyarken kullanım kolaylığı sağlanması açısından hemen


hemen her bireyin sahip olduğu NFC özellikli yeni tip T.C. kim kartı kullanılmak istenmiş,
ancak yeni tip T.C. kimlik kartının güvenlik açısından seri portta her seferinde farklı bir ID
kart numarası atadığı görülmüştür. Kısa zamanda bu sorunu aşamayacağımız ön görüldüğü
için seri porta sabit ID numaraları yazdıran NFC kartlar ile projeye devam edilmiştir.

v
1. GİRİŞ
Teknolojinin hızla ilerlemesi ve her sektörde varlığını daha da hissettirmesi günümüzde
kaçınılmaz oldu. Öyle ki artık insanların yerini makineler, yazılımlar almaya başladı.
Hal böyle olurken insan istihdamının azaldığı noktalarda yazılım- kodlamaya olan
istihdamda artış oldu. Bu nedenle seçmiş olduğumuz bölümümüzde, bitirme projesi
olarak sektöre hızlı atılacağımız alanların araştırmasını yaparak, otomatik kapı
sistemleri, bariyer sistemleri gibi konularda kendimiz geliştirmek ve o sistemlerin
çalışma mantığını daha iyi kavramak adına bitirme projemizde ardunio ile otopark
bariyeri projesini seçtik.

Otopark bariyer sistemleri, otoparklarda güvenliği ve kontrolü sağlamak amacıyla


kullanılan sistemlerdir. Günümüzde hemen hemen her otoparkta bariyer sistemlerine
rastlamaktayız. Otopark bariyerleri ile sitelerde, havaalanlarında, holdinglerde, iş
merkezlerinde, plazalarda ve buna benzer her alanda yer alan otoparklarınızı güvenle
koruyabilirsiniz. Güvenliğin yanı sıra araçların geçiş kontrolünü de sağlayabilirsiniz.

2. TEORİK ALTYAPI
Otopark bariyerleri, plaka tanıma, hızlı geçiş (RFID), kartlı geçiş, uzaktan kumanda ve
manuel buton ile çalışabilecek şekilde üretilmektedir. Ayrıca görsel uyarı olarak trafik
lambası ya da flaşör entegre edilebilmektedir. Biz projemizde RFID kartlı sistemi
kullandık, ayrıca led ve LCD ekran ile görsel uyarı, buzzer ile sesli uyarı ekledik.
3. TASARININ KODLANMASI

3.1. Kod Bloğuna Kütüphane Tanımlanması

Programımızın sorunsuz çalışması için kullandığımız bileşenlerin kütüphanelerini


programa tanımladık.
#include <Stepper.h>
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
#include <SPI.h>
#include <RFID.h>
#include "pitches.h"

3.2. Pinlerin Tanımlanması

Kütüphanelerin ardından bileşenlerimizin arduino uno da kullanılacak pinlerin


tanımlamalarını yaptık ;
#define motorPin1 4
#define motorPin2 2
#define motorPin3 3
#define motorPin4 9
#define ledPin1 6
#define ledPin2 7
#define SS_PIN 10
#define RST_PIN 5

2
3.3. Rfıd Kart Tanımlanması

RFID kartlar için dizi oluşturduk ve yetki vermek istediğimiz RFID kart numaralarını
sisteme tanımladık;

int serNum[5];
int cards[][5] = {
{185, 168, 123, 153, 243}, //Birinci kart
{165, 158, 423, 113, 345}, //İkinci kart
};

3.4. Hareketli Mekanizma Belirlenmesi Ve Kodlanması

Void setup kısmında step motorumuzun hızını belirledik ;


myStepper.setSpeed(80);
Seri port ile haberleşmesi için seri portu tanımladık;
Serial.begin(9600);

3.5. LCD Panel Tanımlanması

Kullandığımız LCD ekranın 16 sütun, 2 satırdan oluştuğu programa tanımlamak için


“void setup” kısmında lcd.begin (16, 2); komutunu kullandık. LCD ekranların satır ve
sütun sıraları kodlanırken her zaman sıfırdan başlanır, yani 16 sütunlu bir tasarımı
kodlarken sütun sayıları sıfırdan başlanarak 15’e kadar gider. Biz LCD ekranda
yazımızın 3. Satır ve 1. Sütundan başlamasını istediğimiz için

lcd.setCursor(2, 0);

komutunu kullandık.

3
3.6. SİSTEME RFID KART TANIMLANMASI

Aşağıdaki kodlarımızda, tanımlı RFID kart okutulduğunda LCD ekrana ve seri porta
“ENGEL AÇILIYOR” yazdırarak, yeşil ledimizi yakıyoruz. Engelimiz 90 derecelik
kalkışını tamamladığında yine LCD ekrana ve seri porta “GEÇİŞ SERBEST”
yazdırıyoruz. Engelimiz araç geçişine10 saniye izin verdikten sonra LCD ekrana ve seri
porta “ENGEL KAPANIYOR” yazdırıyoruz.

if (access) {
// Opening the door:
cardRead = 1;
playTune(cardRead);
lcd.clear();
lcd.setBacklight(HIGH);
lcd.setCursor(2, 0);
lcd.print("ENGEL ACILIYOR");
lcd.setCursor(2, 1);
lcd.print("FERHAT OTOPARK");
Serial.println("ENGEL ACILIYOR")
digitalWrite(ledPin1, HIGH);
myStepper.step(500);
lcd.clear();
lcd.setBacklight(HIGH);
lcd.setCursor(2, 0);
lcd.print("GECIS SERBEST");
lcd.setCursor(2, 1);
lcd.print("FERHAT OTOPARK");
Serial.println("GECIS SERBEST");
delay(10000);
// Closing the door:
lcd.clear();
lcd.setBacklight(HIGH);

4
lcd.setCursor(1, 0);
lcd.print("ENGEL KAPANIYOR");
lcd.setCursor(2, 1);
lcd.print("FERHAT OTOPARK");
Serial.println("ENGEL KAPANIYOR");
myStepper.step(-500);
// Access LED - green - off:
digitalWrite(ledPin1, LOW);
delay(250);
digitalWrite(power, LOW);
delay(250);
lcd.clear();

5
3.7. Yetkisiz Giriş Engellenmesi

Eğer yetkisiz kart okutulursa LCD ekrana ve seri porta “YETKİSİZ PLAKA”
yazdırarak, kırmızı ledimizin yanmasını sağlıyoruz ve engelimiz açılmıyor. Bu işlemin
kodlarına kısaca göz atacak olursak şu şekildedir;

else {
// No access - wrong card:
cardRead = 0;
playTune(cardRead);
Serial.println("YETKISIZ PLAKA");
lcd.clear();
lcd.setBacklight(HIGH);
lcd.setCursor(1, 0);
lcd.print("YETKISIZ PLAKA");
lcd.setCursor(2, 1);
lcd.print("FERHAT OTOPARK");
delay(500);
// No access LED - red - on:
digitalWrite(ledPin2, HIGH);
delay(800);
// No access LED - red - off:
digitalWrite(ledPin2, LOW);
delay(250);
digitalWrite(power, LOW);
delay(250);
lcd.clear();
}

6
4. SONUÇLAR

Bu projeyi seçme amacımız, yazılım sektörüne hızlı atılacağımız alanların araştırmasını


yaparak, otomatik kapı sistemleri, bariyer sistemleri gibi konularda kendimiz
geliştirmek ve o sistemlerin çalışma mantığını daha iyi kavramaktı. Bu nedenle
apartmanların, sitelerin, özel otoparkların vb. araç girişlerindeki bariyer sisteminin
prototipini hazırladık ve bir bariyer sistemindeki en temel elektronik malzemeler ile en
temel yazılımı kullanarak projemizin prototipini başarı ile tamamlayarak amacımıza
ulaştık. Artık bu sistemlerdeki kullanılan malzemeleri, sistem sorun verdiğinde hangi
malzemenin arıza verdiği ya da vereceğini, yazılımda hangi kodları değiştirdiğimizde
sistemde ne gibi değişiklikler olacağını gözlemledik.

7
5. TASARIMIN – MONTAJ

Resim 1 – Proje şeması tasarım aşaması

8
Resim 2 – Proje devre elemanlarının platforma montajı

9
Resim 3 – Proje prototipi bitmiş hali

10
6. YORUMLAR VE DEĞERLENDİRMELER

Projeyi yaparken sürekli bir sonraki versiyonunda geliştirebileceğimiz yenilikler


üzerinde tartıştık. Örneğin yeni versiyonunda NFC özellikli T.C kimlik kartı ile geçiş
yapabilmek için çalışmalar yapacağız. Bariyerin herhangi bir güç kesintisinde devreye
girecek ikinci bir güç kaynağı sistemi monte edeceğiz. Bariyere sensör entegre ederek,
programda belirtiğimiz 10 saniyelik süre içerisinde araç geçememiş olsa dahi tam
kapanırken altında bir araç olup olmadığını algılayarak daha güvenli hale getireceğiz.

11
KAYNAKLAR

[1]. Y. Özgün, Eğitmenler için Arduino 2020

12
ÖZGEÇMİŞ

Ferhat GEÇER

1985 Yılında Gaziantep’te doğdum, Lise öğrenimimi sınavla kazanmış olduğum


Mehmet Akif Ersoy Anadolu Teknik Lisesi Bilgisayar Donanım bölümünde 5 yıl
okuyarak tamamladım (1 yıl hazırlık + 1 yıl teknik lise + 3 yıl normal öğrenim) lise
öğreniminin ardından 2004 Yılında Gaziantep Üniversitesi Bilgisayar Programcılığı
bölümüne başladım, ancak 2006 yılında sınavla girmeye hak kazandığım Dr. Ersin
Arslan Devlet Hastanesi Bilişim Teknik Personeli görevine sözleşmeli olarak
başladım ve Gaziantep Üniversitesindeki Eğitimimi yarıda bırakmak zorunda kaldım.
8 Yılı aşkın bir süre Dr Ersin Arslan Devlet Hastanesinde çalıştıktan sonra Erzurum
Atatürk Üniversitesi Bilgi Yönetimi ve aynı üniversitenin Çocuk Gelişimi Ön lisans
bölümlerinden mezun oldum. Ardından GAP Bölge Kalkınma İdaresi Başkanlığı
bünyesindeki Robotik Kodlama ve Girişimcilik Eğitmenliğine başvurarak çalışmaya
başladım, burada çalışırken eş zamanlı olarak Öğrenimimi yarıda bırakmak zorunda
kaldığım Gaziantep Üniversitesi Bilgisayar Programcılığı bölümüne Af ile başvurdum
ve yarım kalan bölümümü tamamlama kararı aldım. Yine eş zamanlı olarak girdiğim
Dikey Geçiş Sınavını kazanarak Anadolu Üniversitesi Yönetim Bilişim Sistemleri 3.
Sınıftan öğrenim hayatıma devam etme kararı aldım.

ÖZGEÇMİŞ

Emre TEKİNER

1999 yılında Adana’da doğdum. Lise öğrenimimi sınavla kazanmış olduğum Nurten
Yetimoğlu Mesleki ve Teknik Anadolu Lisesi’nde 4 yıl olarak tamamladım. Lise
öğrenimimin ardından 2018 yılında Gaziantep Üniversitesi Bilgisayar Programcılığı
bölümüne başladım. Aynı zamanda kendimi otomotiv sektöründe geliştirerek PSA
grubu araçlara servis hizmeti vermeye başladım. Mezuniyetim sonrası özel bir serviste
iş hayatımı sürdürme kararı aldım.

13

You might also like