ARDUİNO İLE HAREKET SENSÖRÜ (PIR) - HIRSIZ ALARMI
PIR ismi Passive Infra-Red kelimesinin baş harflerinden gelir . bu da bu sensörün kızılötesi dalgalarla çalıştığını bize açıklar . Yapacağımız hareket sensörü ortamdaki sıcaklık ve kızılötesi dalga değişimlerini algılamaya yarayan sensörlerimizdir . Yapısında fresnel bir lens bulunmaktadır . Bu lens sayesinde ise ortamdaki nesnelerden gelene ışınları sensörümüzün odaklamasını sağlamaktadır . Bulunduğumuz ortamda bir dalga değişimi olduğunda sensörümüz algılama işleimini gerçekleştirmiş bulunmaktadır . Bu devrede sadece bir tane servo motor kullandık .
KODUMUZ :
#include
int pirPin = 8 ;
int servoPin = 9 ;
int hareket ;
Servo motor ;
void setup() {
motor.attach(servoPin) ;
pinMode(pirPin , INPUT) ;
}
void loop() {
hareket = digitalRead(pirPin) ;
if(hareket == HIGH) {
motor.write(150) ;
delay(250) ;
motor.write(30) ;
delay(250) ;
motor.write(150) ;
delay(250) ;
motor.write(30) ;
delay(250) ;
motor.write(150) ;
delay(250) ;
motor.write(30) ;
delay(250) ;
motor.write(90) ;
}
else {
motor.write(90) ;
}
}
ARDUİNO HAREKET SENSÖRÜNÜ KULLANARAK HIRSIZ ALARMI YAPMAK
Hareket sensörü , buzzer , LED kullanarak kolay bir hırsız alarmı uygulaması yapacağız . Kuracağımız devrede ise hareket sensörümüz herhangi bir hareketi algıladığında bu hareketteki bilgiyi Arduinomuza aktaracak ve Arduino'nun çıkış bölgesine bağlı olan Led ve buzzeri tetikleyecektir . Ayrıyetten hareketteki algılama işlemini seri port ekranından takip edebileceğiz .
GEREKLİ MALZEMELER :
- Arduino Uno
- Breadboard
- PIR Sensörü
- Buzzer
- 1 adet LED
- 1 adet 330Ω Direnç
- Jumber Kablo
int sensör = 2 ;
int led = 13 ;
int buzzer = 10 ;
int sensordurum = LOW ;
int deger = 0 ;
void setup () {
pinMode (sensor, INPUT) ;
pinMode (led, OUTPUT) ;
pinMode (buzzer, OUTPUT) ;
Serial.begin(9600) ;
}
void loop () {
deger = digitalRead(sensor) ;
if (deger == HIGH) {
digitalWrite(led , HIGH) ;
playTone(300 , 160) ;
delay(150) ;
if (sensordurum == LOW) {
Serial.println("hareket tespit edilmiştir") ;
sensordurum = HIGH ;
}
}
else {
digitalWrite (led,LOW) ;
playTone (0,0) ;
delay(300) ;
if (sensordurum == HIGH) {
Serial.println("hareket sonlanmıştır") ;
sensordurum= LOW ;
}
}
}
void playTone(long duration, int freq) {
duration *= 1000 ;
int period = (1.0/freq) * 1000000 ;
long elapsed_time < duration {
digitalWrite (buzzer, HIGH) ;
delayMicroseconds(period/2) ;
digitalWrite(buzzer, LOW) ;
delayMicroseconds(period/2) ;
elapsed_time += (period) ;
}
}
Hiç yorum yok:
Yorum Gönder