• Sonuç bulunamadı

KARADENİZ TEKNİK ÜNİVERSİTESİ YAZILIM MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLER DERSİ. Arduino Giriş. Giriş

N/A
N/A
Protected

Academic year: 2022

Share "KARADENİZ TEKNİK ÜNİVERSİTESİ YAZILIM MÜHENDİSLİĞİ BÖLÜMÜ MİKROİŞLEMCİLER DERSİ. Arduino Giriş. Giriş"

Copied!
6
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

KARADENİZ TEKNİK ÜNİVERSİTESİ YAZILIM MÜHENDİSLİĞİ BÖLÜMÜ

MİKROİŞLEMCİLER DERSİ Arduino Giriş

Giriş

Bu çalışmada Arduino ile ilgili temel bilgiler verilecektir. Çalışma içinde Arduino tanıtımı, Arduino Studio kullanımı, Arduino kod yapısı, kullanılacak belli başlı sensörler ve ekipmanlar tanıtılacak. Bu çalışma sonunda Arduino ile park sensör uygulaması yapılacak.

Arduino Nedir?

Arduino, kolay ve basit entegre, kodlama dili ile ilkokul seviyesinden mühendislik seviyesine kadar birçok insana hitap eden geliştirme kart çeşididir.

Arduino Nasıl Çalışır?

Tek başına çalışan hareketli nesneler geliştirmek için kullanılabileceği gibi bilgisayar üzerinde çalışan yazılımlara da bağlanabilir. Hazır üretilmiş kartlar satın alınabilir veya kendileri üretmek isteyenler için donanım tasarımı ile ilgili bilgiler bulabilirsiniz. Arduino geliştirme kartı üzerindeki mikroişlemci Arduino programlama dili ile

programlanır ve bu program Processing tabanlı Arduino Yazılım Geliştirme Ortamı yardımı ile karta yüklenir.

Arduino Ne İşe Yarar?

Arduino kolay bir şekilde çevresiyle etkileşime girebilen sistemler tasarlanabilir açık kaynaklı bir geliştirme platformudur. Bu yüzden kullanıcı istediği şekilde düzenlemeler yapabilir.

• Arduino kütüphaneleri sayesinde kolaylıkla programlanabilir.

• Analog ve dijital girişleri sayesinde analog ve dijital veriler işlenebilir.

• Sensörlerle çalışabilir olduğundan sensörlerden gelen veriler kullanılabilir.

• Dış dünyaya çıktılar (ses, ışık, hareket, yazı, resim vs.) üretilebilir.

• Kart ile robotik ve elektronik uygulamaları kolayca gerçekleştirilebilir.

• Arduino’da kullanılan programlama dili basit olduğundan, çok sayıda kaynak bulmak mümkündür.

• Yazılımları ücretsiz olarak indirilebilir ve Mac OS X, Windows ve Linux desteği bulunmasından dolayı işletim sistemi uyum problemi yaşanmadan uygulama geliştirilebilir.

Resim 1: Arduino Yapısı

(2)

Deney

Deneyin Konusu: Arduino ile park sensörü yapımı

Özellikle araçlarda park sırasında mesafeye göre bir uyarı vermesi için kullanılan sistemin küçük bir versiyonunu bu deneyde uygulayacağız.

Malzemeler: Tasarım içerisinde kullanılacak olan ekipmanlar;

1. Arduino(UNO), 2. Breadboard, 3. USB Kablo,

4. HC-SR04 Ultrasonic Mesafe Sensörü, 5. Jumper Kablo,

6. Direnç, 7. Led

8. Kullanılacak yazılımsal bileşenler ise, mesafeyi ölçen ve mesafeye göre ledi yakan kod, kodları çalıştırmak için Arduino Studio; simülasyon için Proteus yazılımı.

Breadboard: Üzerinde devrelerimizi test ettiğimiz araçtır. Kurduğumuz devreleri birbirlerine lehimlemeden kolaylıkla test etmemizi sağlar. Tasarladığımız devreleri baskı devre veya delikli plaketler üzerine aktarmadan önce denememize olanak sağlar. Bu sayede devre bağlantılarını kontrol ederek bir hata olup olmadığını gözlemlemiş oluruz. Devreleri tak-çıkar şeklinde kurabildiğimiz için kullandığımız elektronik bileşenleri başka projelerde tekrar kullanma imkânı verir.

Direnç : Devreden geçen akımı belli bir seviyeye ayarlar sınırlar ve sabit tutar. Besleme gerilimi küçültüp ayırarak diğer devre elemanlarını da beslemeyi kolaylaştırır. Hassas devre elemanlarını düzenli çalışmasını sağlar. Yük görevi yapar. Isı enerjisi üretimi içinde kullanılabilir.

Jumper Kablo : Bu tarz bağlantı kabloları, devre tahtası ve Arduino gibi geliştirme kartlarının bir arada kullanıldığı devreler için oldukça uygundur. Uçlarında dişi ve erkek girişlerin olduğu üç çeşidi bulunmaktadır.

Erkek-erkek Erkek-dişi ve Dişi-dişi Projelerinizin boyutuna bağlı olarak birbirlerine bağlayıp bağlantı kablonuzun boyunu uzatabilirsiniz.

Ultrasonic Mesafe Sensörü HC-SR04 : Hc-sr04 ultrasonic sensör sonar (Sound Navigation and Ranging ) kullanarak karşısındaki nesneye olan mesafesini hesaplayan bir giriş kaynağıdır. Sonar dediğimiz sistem ses dalgalarını kullanarak cismin uzaklığını boyutunu elde etmemizi sağlar. Bu tür sensörlerin esin kaynağı yunuslar ve yarasalardır. Onlar da sonar ile iletişim kurar ve hareket eder. 2cm - 400cm arası mesafe en sağlıklı okuma yaptığı aralıktır. Üzerinde bir alıcı ve bir verici modül bulunur.

Deneye Hazırlık

1. Deneye gelmeden önce Proteus ve Arduino.cc programları indirilerek devrelerin simülasyon testinin gerçekleştirilebilmesi için programların ön incelemesi yapılmalıdır. Simülasyon için gerekli

kütüphaneler eklenmelidir.

2. Kullanılan ekipmanların ne işe yaradıkları araştırılmalıdır.

(3)

Örnek.1:

Arduino ile 8 nolu pin üzerinden 1 sn aralıklarla kırmızı ledin yanması sağlanır.

int pin_led_red = 8;

void setup(){

pinMode(8, OUTPUT);

}

void loop(){

digitalWrite(8,HIGH);

delay(1000);

digitalWrite(8,LOW);

delay(1000);

}

Resim 2: Led için devre şeması

Örnek.2:

Arduino ile mesafe sensörü ile mesafe ölçme.

#define trigPin 4

#define echoPin 2 long sure, mesafe void setup () {

Serial.begin(9600);

pinMode(trigPin, OUTPUT);

pinMode(, INPUT);

Serial.println("Arduino İle Mesafe Sensörü Uygulaması Başlatılıyor...");

delay(3000);

}

void loop () {

digitalWrite(trigPin, LOW);

delayMicroseconds(3);

digitalWrite(trigPin, HIGH);

delayMicroseconds(10);

digitalWrite(trigPin, LOW);

sure = pulseIn(echoPin, HIGH);

mesafe = (sure/2) * 0.343;

Serial.print(mesafe);

Serial.println(" cm uzaklıkta");

delay(500);

}

Resim 3: Mesafe Sensörü için devre şeması

(4)

Uygulama :

Resim 4 : Park sensörü uygulaması için devre şeması

Arduino üzerinden mesafe sensöründen alınan mesafe değerinin kontrolü ile belli mesafe aralıklarında LED yakıp söndürmek.

const int trigger_pin = 13; //12. pini trigger pin olarak tanımlandı.

const int echo_pin = 12; //13. pini echo pin olarak tanımlandı.

int uyariLed = 2; //2. pini uyariLed olarak tanımlandı.

int sure ; //sure adlı bir değişken tanımlandı.

int mesafe ; //mesafe adlı bir değişken tanımlandı.

void setup() {

Serial.begin(9600);

pinMode(uyariLed , OUTPUT); //aled'i çıkış olarak tanımladık.

pinMode(trigger_pin , OUTPUT); //trigger pin'i çıkış olarak tanımladık.

pinMode(echo_pin , INPUT); //echo pin'i giriş olarak tanımladık.

}

void loop()

(5)

{

digitalWrite(trigger_pin , HIGH);

delayMicroseconds(1000);

digitalWrite(trigger_pin , LOW);

sure = pulseIn(echo_pin , HIGH); //echo_pin verisi sure değişkenine atandı.

mesafe = (sure / 2) / 29.1; //cm cinsine çevrildi.

if (mesafe <= 10) //mesafe 10 cm den kısaysa aşağdaki işlemler gerçekleşir.

{

digitalWrite(uyariLed , HIGH);

Serial.println(mesafe);

}

else if(mesafe>10 && mesafe<=20) //Mesafe 10 cm den uzun 20cm de eşit veya kısaysa aşağdaki işlemler gerçekleşir.

{

digitalWrite(uyariLed , HIGH);

delay(150); // ledin yanık kalma süresi 150ms ye ayarlandı.

digitalWrite(uyariLed , LOW);

delay(250);

Serial.println(mesafe);

}

else if(mesafe>20 && mesafe<=30) //Mesafe 20 cm den uzun 30cm de eşit veya kısaysa aşağdaki işlemler gerçekleşir.

{

digitalWrite(uyariLed , HIGH);

delay(150);

digitalWrite(uyariLed , LOW);

delay(450);

Serial.println(mesafe);

}

else if(mesafe>30 && mesafe<=40) //Mesafe 30 cm den uzun 40cm de eşit veya kısaysa aşağdaki işlemler gerçekleşir.

{

digitalWrite(uyariLed , HIGH);

delay(150);

digitalWrite(uyariLed , LOW);

delay(650);

Serial.println(mesafe);

}

else if(mesafe>40 && mesafe<=50) //Mesafe 40 cm den uzun 50cm de eşit veya kısaysa aşağdaki işlemler gerçekleşir.

{

digitalWrite(uyariLed , HIGH);

delay(150);

digitalWrite(uyariLed , LOW);

delay(850);

Serial.println(mesafe);

(6)

} else{

digitalWrite(uyariLed , LOW);

delay(850);

Serial.println(mesafe);

} }

KAYNAK:

1. https://www.robocombo.com/blog/icerik/arduino-nedir-arduino-ile-neler-yapilir 2. https://maker.robotistan.com/breadboard/

3. https://maker.robotistan.com/arduino-ders-1-led-yakip-sondurme-blink/

4. https://www.ahmetkemalyildiz.com.tr/9-arduino-ile-mesafe-sensoru-kullanimi/

5. https://www.robotus.net/arduino-ile-park-sensoru-yapimi

Referanslar

Benzer Belgeler

HC-SR04 ultrasonik sensör ile mesafe ölçümü ve ekranda gösterilmesi devresinde kullanılan malzemeler. Ad

Blink programını Arduino’ya atmak için aşağıdaki fotoğrafta kırmızı daire içerisine aldığımız, üzerinde sağa doğru ok olan butona tıklıyoruz.. Böylece, konsolun

Kodla(Ma)nisa Arduino Eğitim sunumu

Kızılötesi ışınım yapacak olan ledler TS EN 120002 ‘ İnfrared ışık yayan diyotlar, infrared ışık yayan diyot dizileri’, alıcı devre olarak fototransistörler

Dijital bir pin çıkış olarak ayarlandığında, ayarlanan pine LOW veya HIGH yazmak için kullanılır.. LOW değeri pini 0V (GND) seviyesine çeker, HIGH değeri ise arduino

Arduino DUE kartı diğer kartlardan çok daha farklı olup 32 Bit işlemciye sahip ilk Arduino modelidir.. Üzerinde ARM mimarisine sahip 32 Bitlik işlemci

■ 21-Arduino Delay, DelayMicroseconds, Milis ve Micros Komutlarının Kullanımı. ■

ARDUİNO UYGULAMALARI 2. Mustafa