Tutorial Sensor Motion PIR

Sensor InfraRed Pyroelektrik ("Pasif"):

'' 'Apakah sensor PIR?' ''

Sensor PIR membolehkan anda mengesan gerakan, hampir selalu digunakan untuk mengesan sama ada manusia telah berpindah masuk atau keluar dari pelbagai sensor. Mereka adalah kecil, murah, berkuasa tinggi, mudah digunakan dan tidak haus. Atas sebab itu, mereka biasanya dijumpai dalam peralatan dan alat yang digunakan di rumah atau perniagaan. Mereka sering dirujuk sebagai sensor PIR, "Pasif Inframerah", "Pyroelektrik", atau "Gerakan IR".

PIR pada asasnya diperbuat daripada sensor pyroelectric (yang boleh dilihat di atas sebagai logam bulat boleh dengan kristal segi empat tepat di tengah), yang dapat mengesan tahap radiasi inframerah. Segala-galanya memancarkan beberapa radiasi tahap rendah, dan sesuatu yang panas, semakin banyak radiasi yang dipancarkan. Sensor dalam pengesan gerakan sebenarnya terbelah dalam dua bahagian. Alasannya adalah bahawa kita sedang mencari untuk mengesan gerakan (perubahan) bukan tahap IR purata. Kedua-dua bahagian itu dipasang sehingga mereka membatalkan satu sama lain. Sekiranya separuh melihat radiasi IR lebih atau kurang daripada yang lain, output akan berayun tinggi atau rendah.

Bersama-sama dengan sensor pyroelectic adalah sekumpulan litar sokongan, perintang dan kapasitor. Nampaknya kebanyakan sensor hobbyist menggunakan BISS0001 ("Mikro Power PIR Motion Detector IC"), tidak mustahil cip yang sangat murah. Cip ini mengambil output sensor dan melakukan beberapa pemprosesan kecil di atasnya untuk memancarkan denyutan output digital dari sensor analog.

Untuk banyak projek asas atau produk yang perlu untuk mengesan apabila seseorang telah meninggalkan atau memasuki kawasan tersebut, atau telah mendekati, sensor PIR sangat bagus. Mereka adalah kuasa rendah dan kos rendah, cukup lasak, mempunyai pelbagai lensa yang luas, dan mudah disambungkan dengannya. Ambil perhatian bahawa PIRs tidak akan memberitahu anda berapa ramai orang di sekeliling atau sejauh mana mereka berada di sensor, lensa sering diperbaiki ke sapu dan jarak tertentu (walaupun ia boleh digodam di suatu tempat) dan mereka juga kadang-kadang dimatikan oleh rumah haiwan peliharaan. Eksperimen adalah kunci!

Beberapa statistik asas

Statistik ini adalah untuk sensor PIR di kedai Adafruit yang sangat mirip dengan Parallax. Hampir semua PIR akan mempunyai spesifikasi yang sedikit berbeza, walaupun mereka semua banyak bekerja sama. Sekiranya terdapat datasheet, anda perlu merujuknya

  • Saiz: Rectangular
  • Harga: $ 10.00 di kedai Adafruit
  • Output: Nadi digital tinggi (3V) apabila dicetuskan (gerak dikesan) rendah digital apabila terbiar (tiada gerakan dikesan). Panjang nadi ditentukan oleh resistor dan kapasitor pada PCB dan berbeza dari sensor ke sensor.
  • Kepelbagaian sensitiviti: sehingga 20 kaki (6 meter) 110 darjah x 70 darjah pelbagai pengesanan
  • Bekalan kuasa: 3.3V - 5V voltan input,
  • Datasheet BIS0001 (cip dekoder yang digunakan)
  • Datasheet RE200B (kemungkinan besar unsur penderiaan PIR digunakan)
  • Lembaran data NL11NH (kanta setara digunakan)
  • Parallax Datasheet pada versi sensor mereka
    • Halaman hebat pada sensor PIR dari GLOLAB
    • Laporan sensor NYU

    Langkah 1: Bagaimana Ia berfungsi?


    PIR sensor lebih rumit daripada banyak sensor lain yang dijelaskan dalam tutorial ini (seperti photocells, FSR dan suis kecondongan) kerana terdapat banyak pemboleh ubah yang mempengaruhi input dan output sensor. Untuk mula menerangkan bagaimana sensor asas berfungsi, kami akan menggunakan rajah yang agak bagus di bawah ini (jika ada yang tahu di mana ia berasal, beritahu saya).

    Sensor PIR itu sendiri mempunyai dua slot di dalamnya, setiap slot dibuat daripada bahan khas yang sensitif terhadap IR. Kanta yang digunakan di sini tidak banyak dilakukan dan oleh itu kita melihat bahawa kedua-dua slot boleh 'melihat' melewati beberapa jarak (pada dasarnya kepekaan sensor). Apabila sensor itu terbiar, kedua-dua slot mengesan jumlah IR yang sama, amaun ambien yang dipancarkan dari bilik atau dinding atau di luar. Apabila badan hangat seperti manusia atau haiwan melewati, ia pertama kali memintas satu setengah daripada sensor PIR, yang menyebabkan perubahan perbezaan positif antara kedua-dua bahagian. Apabila badan hangat meninggalkan kawasan penginderaan, sebaliknya berlaku, di mana sensor menghasilkan perubahan kebezaan negatif. Perubahan denyut ini adalah apa yang dikesan.

    Sensor PIR itu sendiri

    Sensor IR itu sendiri ditempatkan dalam logam boleh dimeteraikan dengan hermetically untuk meningkatkan ketahanan bunyi / suhu / kelembapan. Terdapat tingkap yang diperbuat daripada bahan IR-transmissive (biasanya bersalut silikon kerana itu sangat mudah diperolehi) yang melindungi unsur penderiaan. Di belakang tingkap adalah dua sensor seimbang.

    Lihat imej untuk maklumat lanjut:

    Langkah 2: Kanta

    Sensor PIR agak generik dan sebahagian besarnya berbeza-beza hanya dalam harga dan sensitiviti. Kebanyakan sihir sebenar berlaku dengan optik. Ini adalah idea yang bagus untuk pembuatan: sensor PIR dan litar tetap dan kos beberapa dolar. Kanta ini hanya bernilai beberapa sen dan boleh mengubah corak pengesan, jarak, dan penderiaan dengan mudah.

    Dalam rajah di atas, lensa hanya sekeping plastik, tetapi itu bermakna kawasan pengesanan hanyalah dua segi empat tepat. Biasanya kami ingin mempunyai kawasan pengesanan yang jauh lebih besar. Untuk melakukan itu, kami menggunakan lensa mudah seperti yang terdapat dalam kamera: mereka memampatkan kawasan yang besar (seperti lanskap) ke dalam satu kecil (pada filem atau sensor CCD). Atas sebab-sebab yang akan kelihatan tidak lama lagi, kami ingin menjadikan lensa PIR kecil dan nipis dan boleh dibentuk daripada plastik murah, walaupun ia mungkin menambah penyelewengan. Atas sebab ini, sensor adalah lensa Fresnel sebenarnya (lihat imej di bawah).

    OK, jadi sekarang kita mempunyai julat yang lebih besar. Walau bagaimanapun, ingat bahawa kita sebenarnya mempunyai dua sensor, dan yang lebih penting kita tidak mahu dua persegi panjang pengesan yang benar-benar besar, tetapi sebaliknya penyebaran beberapa kawasan kecil. Oleh itu, apa yang kita lakukan adalah memisahkan lensa ke dalam pelbagai bahagian, setiap bahagiannya adalah kanta fresnel.

    Pembezaan dan sub-lensa yang berbeza mencipta pelbagai kawasan pengesanan, antara satu sama lain. Itulah sebabnya pusat-pusat lensa di atas di atas adalah 'tidak konsisten' - setiap satu lagi menunjuk kepada separuh yang berbeza dari elemen penderiaan PIR

    Langkah 3: Menyambung ke PIR anda


    Kebanyakan modul PIR mempunyai sambungan 3-pin di sebelah atau bawah. Pinout mungkin berbeza-beza antara modul sehingga cek tiga pinout! Ia selalunya bersilang di sebelah kanan sambungan. Satu pin akan menjadi tanah, yang lain akan menjadi isyarat dan yang terakhir akan menjadi kuasa. Kuasa biasanya mempunyai input 3-5VDC tetapi boleh setinggi 12V. Kadang-kadang modul yang lebih besar tidak mempunyai output langsung dan sebaliknya hanya beroperasi relay di mana terdapat tanah, kuasa dan dua sambungan suis.

    Output sesetengah geganti mungkin 'pemungut terbuka' - ini bermakna ia memerlukan penghalang pullup. Sekiranya anda tidak mendapat output ubah pastikan anda cuba melampirkan pullup 10K antara isyarat dan pin kuasa.

    Satu cara mudah untuk prototaip dengan sensor PIR adalah untuk menyambungkannya ke papan roti kerana port sambungan adalah 0.1 "jarak. Sesetengah PIR datang dengan pengepala pada mereka sudah, yang dari Adafruit tidak seperti biasanya header tidak berguna untuk memasangkan papan roti.

    Dengan penyolder dalam 0.1 "tajuk sudut kanan, PIR mudah dipasang ke dalam papan roti!

    Langkah 4: Menguji PIR anda


    Sebaik sahaja anda mempunyai PIR anda berwayar idea yang baik untuk melakukan ujian mudah untuk mengesahkan bahawa ia berfungsi seperti yang anda harapkan. Ujian ini juga baik untuk ujian pelbagai. Sambungkan bateri 3-4 alkali (pastikan anda mempunyai lebih daripada 3.5VDC tetapi kurang dari 6V dengan memeriksa dengan multimeter anda!) Dan sambungkan tanah ke - pin pada PIR anda. Kuasa pergi ke + pin. Kemudian sambungkan LED merah asas (LED merah mempunyai voltan ke hadapan lebih rendah daripada hijau atau biru supaya mereka berfungsi lebih baik dengan hanya output 3.3v) dan perintang 220 ohm (sebarang nilai dari 100 ohm hingga 1.0K ohm akan dilakukan dengan baik) ke luar pin seperti yang ditunjukkan. Sudah tentu, LED dan perintang boleh menukar lokasi selagi LED berorientasikan sambungan dan menghubungkan antara keluar dan tanah

    Sekarang apabila PIR mengesan gerakan, pin output akan "tinggi" ke 3.3V dan menyala LED!

    Setelah anda memasangkan papan roti, masukkan bateri dan tunggu 30-60 saat untuk PIR untuk 'menstabilkan'. Sepanjang masa itu LED mungkin berkedip sedikit. Tunggu sehingga LED dimatikan dan kemudian bergerak ke depan di depannya, melambai tangan, dan lain-lain, untuk melihat cahaya LED!

    Langkah 5: Menekan semula

    Sebaik sahaja anda mempunyai LED berkedip, lihat di belakang sensor PIR dan pastikan jumper ditempatkan di kedudukan L seperti ditunjukkan di bawah.

    Sekarang, buat papan pengujian sekali lagi. Anda mungkin menyedari bahawa apabila menyambung sensor PIR seperti di atas, LED tidak kekal apabila bergerak di hadapannya tetapi sebenarnya mematikan dan mematikan setiap saat atau lebih. Itu dipanggil "non-retrigger".

    Sekarang ubah jumper supaya kedudukannya berada dalam kedudukan H. Jika anda menetapkan ujian, anda akan melihat bahawa sekarang LED tidak akan kekal sepanjang masa sesuatu sedang bergerak. Itu dipanggil "retrigger"

    Bagi kebanyakan aplikasi, mod "retrigger" (pelompat dalam kedudukan H) adalah sedikit lebih baik. Sekiranya anda perlu menyambungkan sensor ke sesuatu yang dicetuskan oleh kelebihan, anda perlu menetapkannya untuk "non-retriggering" (jumper dalam kedudukan L).

    Langkah 6: Mengubah Masa Pulse dan Panjang Masa

    Terdapat dua 'masa' yang berkaitan dengan sensor PIR. Satu adalah tx "Tx" : berapa lama LED menyala selepas ia mengesan pergerakan. Yang kedua adalah tamat "Ti" yang berapa lama LED dijanjikan tidak akan berlaku apabila tiada pergerakan. Ini tidak mudah berubah, tetapi jika anda berguna dengan pematerian iton itu ada alasan.

    Mula-mula, sila lihat lagi datasheet BISS (lihat imej di bawah)

    Menentukan R10 dan R9 tidak terlalu sukar. Sayangnya, sensor PIR di bawah ini tidak dapat dilabel (nampaknya mereka menukar R9 R17). Anda boleh mengesan pin dengan melihat lembaran data BISS001 dan memikirkan apa pin mereka - R10 menghubungkan ke pin 3 dan R9 menghubungkan ke pin 7. kapasitor sedikit lebih sukar untuk ditentukan, tetapi anda boleh 'membalikkan jurutera' mereka dari masa sensor dan penyelesaian!

    Untuk sensor di kedai Adafruit:

    Tx ialah = 24576 * R10 * C6 = ~ 1.2 saat
    R10 = 4.7K dan C6 = 10nF

    Begitu juga,

    Ti = 24 * R9 * C7 = ~ 1.2 saat
    R9 = 470K dan C7 = 0.1uF

    Anda boleh mengubah masa dengan menukar perintang atau kapasitor yang berlainan. Untuk tutorial bagus mengenai perkara ini, lihat halaman penggodaman PIR Keith

    Langkah 7: Contoh Projek


    Menyanyi USB dan berkedip Mario cemara (ada video di laman web ini!)


    Payung Hujan


    Menguji sensor PIR untuk interfacing kepada Max / MSP untuk taman interaktif


    Sistem keselamatan buatan menggunakan sensor PIR (yang dibina dalam panel Trek Mula!)


    PIR sensor + Arduino + Servo = pintu kucing automatik!

    Pencetus kamera jauh berasaskan PIR (juga oleh Lucky Larry!)

    Langkah 8: Membaca Sensor PIR

    Menyambung sensor PIR ke mikropengawal adalah sangat mudah. PIR bertindak sebagai output digital supaya semua yang anda perlu lakukan adalah mendengar pin untuk flip tinggi (dikesan) atau rendah (tidak dikesan).

    Kemungkinan yang anda akan mahu bergerak, jadi pastikan anda meletakkan jumper dalam kedudukan H !

    Kuasa PIR dengan 5V dan sambungkan tanah ke tanah. Kemudian hubungkan output ke pin digital. Dalam contoh ini kita akan menggunakan pin 2.

    Kod ini sangat mudah, dan pada asasnya hanya menjejaki sama ada input ke pin 2 adalah tinggi atau rendah. Ia juga menjejaki keadaan pin, supaya ia mencetak mesej apabila gerakan telah bermula dan dihentikan:

    / * PIR sensor tester * /

    int ledPin = 13; // pilih pin untuk LED
    int inputPin = 2; // pilih pin input (untuk sensor PIR)
    int pirState = LOW; // kita mulakan, dengan menganggap tiada gerakan yang dikesan
    int val = 0; // pembolehubah untuk membaca status pin

    void setup () {
    pinMode (ledPin, OUTPUT); / / mengisytiharkan LED sebagai keluaran
    pinMode (inputPin, INPUT); // mengisytiharkan sensor sebagai input

    Serial.begin (9600);
    }

    kekosongan gelung () {
    val = digitalRead (inputPin); / baca nilai input
    jika (val == HIGH) {// semak jika input TINGGI
    digitalWrite (ledPin, TINGGI); / // berpaling LED ON
    jika (pirState == LOW) {
    // kami baru sahaja menghidupkan
    Serial.println ("Pergerakan dikesan!");
    // Kami hanya mahu mencetak pada perubahan output, tidak menyatakan
    pirState = HIGH;
    }
    } else {
    digitalWrite (ledPin, LOW); / // berpaling LED OFF
    jika (pirState == HIGH) {
    // kami baru saja bertukar
    Serial.println ("Gerakan berakhir!");
    // Kami hanya mahu mencetak pada perubahan output, tidak menyatakan
    pirState = LOW;
    }
    }
    }

    Jangan lupa bahawa terdapat beberapa kali apabila anda tidak memerlukan mikropengawal. Sensor PIR boleh disambungkan ke penyampai (mungkin dengan penyangga transistor) tanpa mikro!

Artikel Berkaitan