- Gerekli Malzeme
- Devre şeması
- PIC Mikrodenetleyici:
- Kod ve Açıklama
- PIR Sensörünün PIC Mikroişlemcisi ile Çalışması
PIR (Pasif Kızılötesi) veya Hareket Sensörü, hareket eden insan vücudunun veya nesnelerin hareketini algılamak için kullanılır. PIR sensörünün menziline birisi geldiğinde, çıkış pininde Yüksek verir. Daha önce PIR ile diğer Mikroişlemciler arasında arayüz oluşturmuştuk:
- PIR Sensörünü kullanan Arduino Hareket Dedektörü
- E-posta Uyarısı ile IOT tabanlı Raspberry Pi Ev Güvenlik Sistemi
- AVR Mikrodenetleyicili Otomatik Merdiven Işığı
Bugün , PIC Microcontroller PIC16F877A ile PIR arayüzünü basitçe kullanıyoruz. Bu devrede, PIR sensörünün menziline bazı hareketli nesneler gelirse, sesli uyarı biplemeye başlayacaktır.
Gerekli Malzeme
- PicKit 3
- PIR Sensörü.
- PIC16F877A IC
- 40 - Pin IC tutucu
- Perf kurulu
- 20 MHz Kristal OSC
- Dişi ve Erkek Bergstick pimleri
- 33pf Kapasitör - 2Nos, 100uf ve 10uf kapak.
- 680 ohm, 10K ve 560ohm Direnç
- Her renkte LED
- 1 Lehimleme kiti
- IC 7805
- 12V Adaptör
- Buzzer
- Bağlantı telleri
- Breadboard
PIR Sensörü:
PIR sensörü ucuz, düşük güçte ve kullanımı kolay Hareket Algılamaları Sesnor'dur. PIR sensörü yalnızca kızılötesi ışınları alır, yaymaz, bu yüzden pasif olarak adlandırılır. PIR, ısıdaki herhangi bir değişikliği algılar ve bir değişiklik varsa, ÇIKIŞ'ta YÜKSEK verir. PIR Sensörü ayrıca Pyroelektrik veya IR hareket sensörü olarak da adlandırılır.
İnsan vücudunun vücut ısısından dolayı IR yaymasına benzer şekilde, her nesne ısıtıldığında bir miktar kızılötesi yayar. Hava ve nesne arasındaki sürtünme nedeniyle her nesne tarafından oluşturulan kızılötesi. PIR sensörünün ana bileşeni Pyroelektrik sensördür. Bununla birlikte, BISS0001 ("Mikro Güç PIR Hareket Dedektörü IC"), bazı dirençler, kapasitörler ve PIR sensörü oluşturmak için kullanılan diğer bileşenler. BISS0001 IC, girişi sensörden alır ve buna göre çıkış pinini YÜKSEK veya DÜŞÜK yapmak için işlem yapar.
PIR sensörü hakkında buradan daha fazla bilgi edinin. Ayrıca, hareket algılandığında çıkış pininin yüksek olacağı mesafe duyarlılığını ve süreyi de ayarlayabilirsiniz. Bu iki parametreyi ayarlamak için iki potansiyometre düğmesi vardır.
Devre şeması
PIC Mikrodenetleyici:
Amacıyla PIR arabirim için PIC mikro programı, ihtiyacımız olacak IDE (Integrated Development Environment) programlama gerçekleşir. Programımızın HEX dosyaları adı verilen MCU tarafından okunabilir forma dönüştürüldüğü bir derleyici . Hex dosyamızı PIC MCU'larımıza dökmek için kullanılan bir IPE (Entegre Programlama Ortamı).
IDE: MPLABX v3.35
IPE: MPLAB IPE v3.35
Derleyici: XC8
Microchip tüm bu üç yazılımı ücretsiz olarak verdi. Doğrudan resmi sayfalarından indirilebilirler. Size kolaylık sağlamak için bağlantıyı da verdim. Bunları indirdikten sonra bilgisayarınıza kurun. Bunu yaparken herhangi bir sorun yaşarsanız, videonun sonunda verilen videoyu izleyebilirsiniz.
Kodumuzu PIC'e dökmek veya yüklemek için PICkit 3'e ihtiyacımız olacak. PICkit 3 programlayıcı / hata ayıklayıcı, MPLAB IDE (v8.20 veya üstü) yazılımını çalıştıran bir PC tarafından kontrol edilen basit, düşük maliyetli bir devre içi hata ayıklayıcıdır. bir Windows platformu. PICkit 3 programcı / ayıklayıcı geliştirme mühendisin aracı paketinin bir parçasıdır. Buna ek olarak, Perf board, Lehimleme istasyonu, PIC IC'ler, Kristal osilatörler, kapasitörler vb. Gibi diğer donanımlara da ihtiyacımız olacak. Ancak, eğitimlerimizde ilerledikçe bunları listemize ekleyeceğiz.
PIC16F877A'mızı, MCU'muzda bulunan ICSP seçeneğini kullanarak programlayacağız.
Kodu yazmak için aşağıdaki adımları izleyin:
- MPLAB IPE'yi başlatın.
- PicKit 3'ünüzün bir ucunu PC'nize ve diğer ucunu performans panosu üzerindeki ICSP pinlerinize bağlayın.
- Bağlan düğmesine tıklayarak PIC cihazınıza bağlanın.
- Blink HEX dosyasına göz atın ve Program'a tıklayın.
PIC Microcontroller'da yeniyseniz, PIC'i nasıl kullanacağınızı ve programlayacağınızı öğrenmek için önce aşağıdaki eğitimleri gözden geçirin:
- PIC Mikroişlemcisine Başlarken: PIC ve MPLABX'e Giriş
- PIC Mikrodenetleyici ile İlk Programınızı Yazmak ve Yapılandırma Bitlerini Ayarlamak
- PIC Mikrodenetleyici ile Yanıp Sönen LED
Kod ve Açıklama
İlk olarak, pic mikro denetleyicideki yapılandırma bitlerini ayarlamalı ve ardından void main işleviyle başlamalıyız.
Aşağıdaki kodda, 'XC.h' pinler ve çevre birimleri için tüm kolay isimleri içeren başlık dosyasıdır. Ayrıca aşağıdaki kodda kristal osilatör frekansı, PIR ve Buzzer pin bağlantılarını tanımladık.
#Dahil etmek
Void main () 'de,' TRISB = 0X00 ' , MCU'ya PORTB pinlerinin OUTPUT olarak kullanılması talimatını vermek için kullanılır, ' TRISC = 0Xff ' , MCU'ya PORTB pinlerinin INPUT olarak kullanılması talimatını vermek için kullanılır. Ve 'PORTB = 0X00' , MCU'ya RB3'ün tüm ÇIKIŞINI Düşük yapma talimatı vermek için kullanılır.
TRISB = 0X00; TRISC = 0Xff; PORTB = 0X00; // RB3'ün tüm çıktılarını DÜŞÜK yap
Aşağıdaki koda göre, PIR her YÜKSEK olduğunda, zil YÜKSEK olacak veya KAPALI kalacaktır.
while (1) // Infinie While döngüsüne gir {if (PIR == 1) {Buzzer = 1; __delay_ms (1000); // Bekle} yoksa {Buzzer = 0; }}}
Bu projenin sonunda Demo Videolu Tam Kod verilmiştir.
PIR Sensörünün PIC Mikroişlemcisi ile Çalışması
Bu proje karmaşık bir donanım kurulumuna sahip değildir, yine LED yanıp sönme Eğitiminde oluşturduğumuz aynı PIC Mikroişlemci kartını (aşağıda gösterildiği gibi) kullanıyoruz. Bağlantı şemasına göre PIR Sensör Modülünü PIC Mikrodenetleyici kartınıza bağlamanız yeterlidir. Bağlantıları bitirdikten sonra, önceki eğitimde açıklandığı gibi PicKit 3 programlayıcınızı kullanarak kodu boşaltın ve çıktınızın keyfini çıkarın.
Programı yükledikten sonra PIR sensörü OUTPUT vermeye hazırdır. Ne zaman, IR yayan bir insan veya nesne, PIR aralığına geldiğinde, ÇIKTI'ya YÜKSEK verir. Ve bu çıkışa bağlı olarak sesli uyarı çalışacaktır. PIR çıkışı yüksek ise zil girişi yüksek olur ve tersi olur.
PIR modülüne sabitlenmiş iki potansiyometre kullanarak algılama mesafesini ve gecikme süresini kontrol edebilirsiniz. PIR sensörü hakkında daha fazla bilgi edinmek için bağlantıyı takip edin.