Arduino UNO ve PIR Sensörü
PIR sensörü, kızılötesi ısı radyasyonlarını tespit etmek için kullanılır. Bu durum, kızılötesi ısı ışınımı yayan hareketli canlı nesnelerin algılanmasını içeren uygulamalarda kullanılmaya müsait kılar.
PIR sensörünün çıkışı (voltaj cinsinden) hareketi algıladığında yüksektir; hareket yokken (sabit nesne veya nesne yokken) düşüktür.
PIR sensörü ve nasıl kullanılacağı hakkında daha fazla bilgi için, sensörler ve modüller bölümündeki PIR Sensorü başlığına bakın.
Arayüz Şeması
Arduino UNO ile PIR Sensörü Arayüzü
Arduino ve PIR sensörü kullanarak canlı nesnelerin hareketini algılama.
Hareket algılandığında, Arduino'nun seri monitöründe "Nesne algılandı" yazdırılıyor. Hareket olmadığında, Arduino'nun seri monitöründe "Görülebilen nesne yok" yazdırılıyor.
Canlı Nesnenin Hareket Tespiti İçin Kodlar
const int PIR_SENSOR_OUTPUT_PIN = 4; /* PIR sensor O/P pin */
int warm_up;
void setup() {
pinMode(PIR_SENSOR_OUTPUT_PIN, INPUT);
Serial.begin(9600); /* Define baud rate for serial communication */
delay(20000); /* Power On Warm Up Delay */
}
void loop() {
int sensor_output;
sensor_output = digitalRead(PIR_SENSOR_OUTPUT_PIN);
if( sensor_output == LOW )
{
if( warm_up == 1 )
{
Serial.print("Warming Upnn");
warm_up = 0;
delay(2000);
}
Serial.print("No object in sightnn");
delay(1000);
}
else
{
Serial.print("Object detectednn");
warm_up = 1;
delay(1000);
}
}
Interrupt'ı kullanma
Arayüz Şeması
Sketch
const int PIR_SENSOR_OUTPUT_PIN = 2; /* PIR sensor O/P pin */
void setup() {
pinMode(PIR_SENSOR_OUTPUT_PIN, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(2), pir, FALLING); /* Interrupt on rising edge on pin 2 */
Serial.begin(9600); /* Define baud rate for serial communication */
delay(20000); /* Power On Warm Up Delay */
}
void loop() {
}
void pir(){
Serial.println("Object Detected");
}
Video
Dosya Desteği
Kaynak kodu
- PIR_Interfacing_With_Arduino_INO Download 232
- PIR_Interfacing_With_Arduino_Interrupt_INO Download 141
Kaynak
Yorumunuzu Ekleyin