Arduino Türkiye ProtoShield ile Lazerli Alarm Sistemi

Paylaş
Arduino Türkiye ProtoShield ile Lazerli Alarm Sistemi

Elektroniğe yeni başlayanlar genellikle led yakıp söndürerek bu hobiye başlarlar. İlk başta bir led yanıp söner ama yetmez, bir adım ileri gidip iki led yanıp söner, o da yetmeyince bir kaç led daha eklenip karaşimşek devresi yapılır. Herkes bu şekilde başlamasa da genellikle bu şekilde başlar ve hep daha ilginç birşeyler yapma hevesiyle devam eder.

Bu yazıda anlatacağım proje de ledlerle birşeyler yapıp daha ilginç bir projeye adım atmak isteyenlerin dikkatini çekecektir diye düşünüyorum. Üstelik Arduino sayesinde bu projeyi yapmak o ilk günkü led yakıp söndürmek kadar kolay. Bu kadar laf yeter. Şimdi işimize dönelim.

 

Bu videoda projemizin çalışan halini görebilirsiniz

 

Projemizi özetlersek;

Filmlerde gördüğünüz lazerli alarm sistemlerinin en basit mantıkla yapılmış hali diyebiliriz. Yani bir kapıya yerleştirilmiş olan lazer ışını kesildiği an(önünden biri geçtiği zaman veya bir engelle karşılaştığı an) led, buzzer veya farklı şekillerde alarm veren bir devre.

Projemiz için gerekli malzemeler;

1 x Arduino Uno (ben Uno kullandım fakat diğer Arduino çeşitleri de neredeyse hiçbir değişiklik yapmadan kullanılabilir)

1 x Arduino Türkiye ProtoShield (veya herhangi bir breadboard)

1 x Karakter LCD

1 x Potansiyometre (ayarlı direnç)

1 x LDR (ışığa duyarlı direnç)

1 x 10K Direnç

1 x Mantar Led

1 x Buzzer

1 x Lazer Pointer (oyuncakçılarda satılan bildiğimiz lazer)

 

Projenin gerçekleştirilmesi için öncelikle breadboarda devrenin kurulması gerekmektedir. Bunun için Fritzing ile oluşturduğum görsel yardımcı olabilir.

lazerli alarm

Görselde de görüldüğü üzere devremizde buzzer yok. Bir engelle karşılaştığı zaman led yakarak haber veriyor. İstendiği takdirde led yerine buzzer veya başka bir dijital pine de buzzer bağlanabilir. Bunun için yazılımımızda led için yaptıklarımızın aynısını buzzer için de yapmanız gerekmektedir.

LCD kullanımına şu adreste Kaan Ceyhan arkadaşımız anlattığı için değinmeyeceğim.

 

Devremizi kurduktan sonra sıra geldi programımızı(sketch) yazmaya.

 

#include <LiquidCrystal.h> // LCD kütüphane kodu ekleniyor
#define LED     13  // Uyarı ledinin bağlı olduğu dijital pin
#define BUZZER  2  // Uyarı buzzerının bağlı olduğu dijital pin
LiquidCrystal lcd(7, 8, 9, 10, 11, 12); // LCD bağlantılarının Arduinomuzda bağlı olduğu pinler
const int analogInPin = A5;  // LDR'nin bağlı olduğu analog pin

int sensorValue = 0; // LDR'den aldığımız değeri tutacak olan değişkenimizin değerini sıfırlıyoruz

void setup() {

  lcd.begin(16, 2); // LCD'nin satır ve sütun sayısı
  pinMode(13, OUTPUT); //LED'in pinini çıkış olarak ayarlıyoruz
  pinMode(8,OUTPUT); //Buzzer'ın pinini çıkış olarak ayarlıyoruz

}

void loop() {

  lcd.clear(); //LCD'deki karakterleri temizliyoruz
  sensorValue = analogRead(analogInPin);  // Analog pinimizden gelen LDR değerini okuyup değişkenimizi atıyoruz

  lcd.setCursor(0,0);
  lcd.print("Sensor:");
  lcd.setCursor(8, 0);
  lcd.print(sensorValue);
  lcd.setCursor(0,1);
  lcd.print("LED & BUZZER:");
  if (sensorValue <= 840){
    digitalWrite(LED,LOW);
    digitalWrite(BUZZER,LOW);
    lcd.setCursor(13,1);
    lcd.print("OFF");
  }
  else{
    digitalWrite(LED,HIGH);
    digitalWrite(BUZZER,HIGH);
    lcd.setCursor(13,1);
    lcd.print("ON");
  }
  delay(100);
}

 

Sketchimizin yaptığı iş kısaca şu;

LDR ışığa duyarlı bir direnç olduğundan ışık şiddetiyle ters orantılı olarak bize bir direnç gösterir. Yani ışık şiddeti arttıkça direnç azalır, ışık şiddeti azaldıkça direnç artar.

if (sensorValue <= 840){ ” satırında gördüğünüz 840 değeri benim devreyi test ettiğim ortamdaki ışık şiddetine göre optimize edilmiş bir değerdir. Normalde LDR’ye lazer tutulduğunda sensör değerimiz 900 civarında görünmektedir, minimum okuduğum değer 840 olduğundan ben bu değerin altına düştüğünde sistemin alarm vermesini istediğimden bu değeri seçtim. Siz ortama göre bu değeri kalibre edebilirsiniz.

Sistemin kurulabilmesi için lazeri harici bir pil veya Arduinonun besleme pinlerinden besleyebilirsiniz.

 

Hepinize kolay gelsin !!!

 

 

 

 

 

Devamını oku

Project Aslan, Arduino DUE Kullanan Bir Robot İşaret Dili Çevirmeni

Project Aslan, Arduino DUE Kullanan Bir Robot İşaret Dili Çevirmeni

Genellikle robotikleri endüstriyel veya araştırma alanlarına uygulandığı zaman görüyoruz, ancak günlük yaşamda da yardımcı olabilecekleri çok yol var: Örneğin, görme engelli insanlar için kişisel rehber görevi gören mutfak botu, engellilerin yemek yapmasına yardımcı olabilir. Veya – ve bu gerçek – işaret dili çevirmeni işlevi gören robot kolu. Sınıflarda, mahkemelerde ve evde, bu

Arduino Turkiye tarafından
Arduino DUE ile Yaşayabileceğiniz Sorunların Çözümleri

Arduino DUE ile Yaşayabileceğiniz Sorunların Çözümleri

Elinizden hatırı sayılır miktarda Arduino DUE geçtiyse (veya sadece şanssız gününüzdeyseniz), düzgün çalışmayan en az bir tane cihazla karşılaşma olasılığınız yüksek. Bunun için her zaman cihazı çöpe atmanız gerekmeyebilir. Birçok Arduino DUE sorununu çözmek için çeşitli yöntemler var. Diyelim ki Arduino DUE ile çalışmaya başlayacaksınız. Bunun için Arduino’yu açtınız

Arduino Turkiye tarafından
STM32 Mikro Denetleyiciler Arduino

STM32 Mikro Denetleyiciler Arduino Dünyasında Ne Anlama Geliyor?

Arduino ile tanışanlar genellikle uzun bir yolun başlangıcında oluyor. Çünkü Arduino dünyası vazgeçmesi zor maceralarla dolu. Arduino’yu tanıdıkça bu heyecanınız da artacak. Bu nedenle Arduino dünyasıyla sizi buluşturmak için biz de heyecan duyuyoruz. Çok ucuza elde edebileceğiniz Arduino kiti ve ihtiyaç duyacağınız diğer malzemeler uzun soluklu projeler için yeterli

Arduino Turkiye tarafından