Tutorial Sensor Gerak PIR

Sensor InfraRed Piroelektrik (Pasif):

'' 'Apa itu sensor PIR?' ''

Sensor PIR memungkinkan Anda merasakan gerakan, hampir selalu digunakan untuk mendeteksi apakah manusia telah bergerak masuk atau keluar dari rentang sensor. Mereka kecil, murah, berdaya rendah, mudah digunakan dan tidak aus. Karena alasan itu mereka biasanya ditemukan di peralatan dan gadget yang digunakan di rumah atau bisnis. Mereka sering disebut sebagai PIR, "Passive Infrared", "Pyroelectric", atau "IR motion" sensor.

PIR pada dasarnya terbuat dari sensor piroelektrik (yang dapat Anda lihat di atas sebagai kaleng logam bundar dengan kristal persegi panjang di tengah), yang dapat mendeteksi tingkat radiasi inframerah. Semuanya memancarkan radiasi tingkat rendah, dan semakin panas sesuatu, semakin banyak radiasi yang dipancarkan. Sensor dalam detektor gerakan sebenarnya terbagi dua. Alasan untuk itu adalah bahwa kami mencari untuk mendeteksi gerakan (perubahan) bukan tingkat IR rata-rata. Kedua bagian kabel sehingga mereka membatalkan satu sama lain. Jika satu setengah melihat lebih banyak atau lebih sedikit radiasi IR daripada yang lain, output akan berayun tinggi atau rendah.

Seiring dengan sensor piroelektrik adalah sekelompok sirkuit pendukung, resistor dan kapasitor. Tampaknya sebagian besar sensor penghobi kecil menggunakan BISS0001 ("Micro Power PIR Motion Detector IC"), tidak diragukan lagi chip yang sangat murah. Chip ini mengambil output dari sensor dan melakukan beberapa proses kecil di atasnya untuk memancarkan pulsa output digital dari sensor analog.

Untuk banyak proyek atau produk dasar yang perlu dideteksi ketika seseorang telah meninggalkan atau memasuki area tersebut, atau telah mendekat, sensor PIR sangat bagus. Mereka adalah daya rendah dan biaya rendah, cukup kasar, memiliki jangkauan lensa lebar, dan mudah digunakan. Perhatikan bahwa PIR tidak akan memberi tahu Anda berapa banyak orang di sekitar atau seberapa dekat mereka dengan sensor, lensa sering dipasang pada jarak dan sapuan tertentu (meskipun dapat diretas di suatu tempat) dan mereka juga kadang-kadang berangkat ke rumah. hewan peliharaan. Eksperimen adalah kuncinya!

Beberapa statistik dasar

Statistik ini adalah untuk sensor PIR di toko Adafruit yang sangat mirip dengan Parallax. Hampir semua PIR akan memiliki spesifikasi yang sedikit berbeda, walaupun mereka semua bekerja hampir sama. Jika ada datasheet, Anda ingin merujuknya

  • Ukuran: Persegi Panjang
  • Harga: $ 10, 00 di toko Adafruit
  • Output: Pulsa digital tinggi (3V) saat dipicu (terdeteksi gerak) digital rendah saat idle (tidak ada gerakan yang terdeteksi). Panjang pulsa ditentukan oleh resistor dan kapasitor pada PCB dan berbeda dari sensor ke sensor.
  • Kisaran sensitivitas: hingga 20 kaki (6 meter) 110 derajat x 70 derajat rentang deteksi
  • Catu daya: tegangan input 3.3V - 5V,
  • BIS0001 Datasheet (chip decoder digunakan)
  • Lembar data RE200B (kemungkinan besar elemen penginderaan PIR digunakan)
  • Lembar data NL11NH (lensa setara digunakan)
  • Lembar Data Parallax pada sensor versi mereka
    • Halaman hebat tentang sensor PIR dari GLOLAB
    • Laporan sensor NYU

    Langkah 1: Bagaimana Cara Kerjanya?


    Sensor PIR lebih rumit daripada banyak sensor lain yang dijelaskan dalam tutorial ini (seperti fotosel, FSR, dan sakelar kemiringan) karena ada beberapa variabel yang memengaruhi input dan output sensor. Untuk mulai menjelaskan cara kerja sensor dasar, kami akan menggunakan diagram yang agak bagus di bawah ini (jika ada yang tahu dari mana asalnya, tolong beri tahu saya).

    Sensor PIR itu sendiri memiliki dua slot di dalamnya, masing-masing slot terbuat dari bahan khusus yang sensitif terhadap IR. Lensa yang digunakan di sini tidak benar-benar melakukan banyak hal dan kami melihat bahwa kedua slot dapat 'melihat' melewati jarak tertentu (pada dasarnya sensitivitas sensor). Ketika sensor dalam keadaan idle, kedua slot mendeteksi jumlah IR yang sama, jumlah sekitar terpancar dari ruangan atau dinding atau di luar ruangan. Ketika tubuh hangat seperti manusia atau hewan lewat, ia pertama-tama memotong setengah dari sensor PIR, yang menyebabkan perubahan diferensial positif antara kedua bagian. Ketika tubuh hangat meninggalkan daerah penginderaan, kebalikannya terjadi, di mana sensor menghasilkan perubahan diferensial negatif. Pulsa perubahan inilah yang terdeteksi.

    Sensor PIR itu sendiri

    Sensor IR itu sendiri ditempatkan dalam kaleng logam tertutup rapat untuk meningkatkan imunitas kebisingan / suhu / kelembaban. Ada jendela yang terbuat dari bahan transmisif-IR (biasanya dilapisi silikon karena sangat mudah didapat) yang melindungi elemen penginderaan. Di belakang jendela ada dua sensor seimbang.

    Lihat gambar untuk detail lebih lanjut:

    Langkah 2: Lensa

    Sensor PIR agak generik dan sebagian besar hanya bervariasi dalam harga dan sensitivitas. Sebagian besar keajaiban nyata terjadi pada optik. Ini adalah ide yang cukup bagus untuk pembuatan: sensor dan sirkuit PIR sudah diperbaiki dengan biaya beberapa dolar. Lensa hanya berharga beberapa sen dan dapat mengubah lebar, jangkauan, pola penginderaan, dengan sangat mudah.

    Dalam diagram di atas, lensa hanyalah selembar plastik, tetapi itu berarti bahwa area deteksi hanya dua persegi panjang. Biasanya kami ingin memiliki area deteksi yang jauh lebih besar. Untuk melakukan itu, kami menggunakan lensa sederhana seperti yang ditemukan di kamera: mereka memadatkan area yang luas (seperti lansekap) menjadi yang kecil (pada film atau sensor CCD). Untuk alasan yang akan segera terlihat, kami ingin membuat lensa PIR kecil dan tipis dan dapat dicetak dari plastik murah, meskipun itu dapat menambah distorsi. Untuk alasan ini sensor sebenarnya adalah lensa Fresnel (lihat gambar di bawah).

    OK, jadi sekarang kami memiliki jangkauan yang jauh lebih besar. Namun, ingatlah bahwa kita sebenarnya memiliki dua sensor, dan yang lebih penting kita tidak ingin dua persegi panjang area penginderaan yang sangat besar, melainkan sebaran beberapa area kecil. Jadi yang kami lakukan adalah membagi lensa menjadi beberapa bagian, yang setiap bagiannya adalah lensa fresnel.

    Berbagai faceting dan sub-lensa menciptakan berbagai area deteksi, saling berhubungan satu sama lain. Itulah sebabnya pusat lensa pada bagian di atas 'tidak konsisten' - setiap titik lainnya mengarah ke separuh elemen penginderaan PIR yang berbeda.

    Langkah 3: Menghubungkan ke PIR Anda


    Sebagian besar modul PIR memiliki koneksi 3-pin di samping atau bawah. Pinout dapat bervariasi antar modul, jadi periksa kembali pinout! Ini sering di-silkscreened tepat di sebelah koneksi. Satu pin akan di-ground, yang lain akan menjadi sinyal dan yang terakhir akan menjadi kekuatan. Daya input biasanya 3-5VDC tetapi mungkin setinggi 12V. Kadang-kadang modul yang lebih besar tidak memiliki output langsung dan hanya mengoperasikan relay dalam hal ini ada ground, power dan dua koneksi sakelar.

    Output dari beberapa relay mungkin 'kolektor terbuka' - itu artinya membutuhkan resistor pullup. Jika Anda tidak mendapatkan output variabel, pastikan untuk mencoba memasang pullup 10K antara sinyal dan pin daya.

    Cara mudah membuat prototipe dengan sensor PIR adalah dengan menghubungkannya ke papan tempat memotong roti karena port koneksi berjarak 0, 1 ". Beberapa PIR sudah dilengkapi header, yang dari Adafruit tidak seperti biasanya header tidak berguna untuk dihubungkan ke papan tempat memotong roti.

    Dengan menyolder dalam header sudut kanan 0, 1 ", PIR mudah dipasang ke papan tempat memotong roti!

    Langkah 4: Menguji PIR Anda


    Setelah Anda memasang PIR, ada baiknya Anda melakukan tes sederhana untuk memastikannya sesuai dengan yang Anda harapkan. Tes ini juga baik untuk pengujian jangkauan. Cukup sambungkan 3-4 baterai alkaline (pastikan Anda memiliki lebih dari 3.5VDC tetapi kurang dari 6V dengan memeriksa multimeter Anda!) Dan hubungkan ground ke pin pada PIR Anda. Daya mengalir ke + pin. Kemudian hubungkan LED merah dasar (LED merah memiliki tegangan maju lebih rendah dari hijau atau biru sehingga mereka bekerja lebih baik hanya dengan output 3.3V) dan resistor 220 ohm (nilai dari 100 ohm ke 1.0K ohm akan baik-baik saja) ke luar pin seperti yang ditunjukkan. Tentu saja, LED dan resistor dapat bertukar lokasi selama LED berorientasi koneksi dan menghubungkan antara keluar dan tanah

    Sekarang ketika PIR mendeteksi gerakan, pin output akan "tinggi" ke 3.3V dan menyalakan LED!

    Setelah papan tempat memotong roti tersambung, masukkan baterai dan tunggu 30-60 detik agar PIR 'stabil'. Selama waktu itu LED mungkin sedikit berkedip. Tunggu sampai LED mati dan kemudian bergerak di depannya, melambaikan tangan, dll, untuk melihat LED menyala!

    Langkah 5: Retriggering

    Setelah LED berkedip, lihat bagian belakang sensor PIR dan pastikan jumper ditempatkan pada posisi L seperti yang ditunjukkan di bawah ini.

    Sekarang pasang kembali papan pengujian. Anda mungkin memperhatikan bahwa ketika menghubungkan sensor PIR seperti di atas, LED tidak tetap menyala ketika bergerak di depannya tetapi sebenarnya hidup dan mati setiap detik atau lebih. Itu disebut "non-retriggering".

    Sekarang ubah jumper sehingga berada di posisi H. Jika Anda mengatur tes, Anda akan melihat bahwa sekarang LED tetap berada di sepanjang waktu bahwa ada sesuatu yang bergerak. Itu disebut "retriggering"

    Untuk sebagian besar aplikasi, mode "retriggering" (jumper pada posisi H) sedikit lebih baik. Jika Anda perlu menghubungkan sensor ke sesuatu yang dipicu oleh tepi, Anda ingin mengaturnya menjadi "non-retriggering" (jumper di posisi L).

    Langkah 6: Mengubah Waktu Denyut dan Durasi Denyut

    Ada dua 'batas waktu' yang terkait dengan sensor PIR. Salah satunya adalah batas waktu "Tx" : berapa lama LED menyala setelah mendeteksi gerakan. Yang kedua adalah batas waktu "Ti" yang merupakan berapa lama LED dijamin mati ketika tidak ada gerakan. Ini tidak mudah diubah tetapi jika Anda berguna dengan penyolderan itu masuk akal.

    Pertama, mari kita lihat lembar data BISS lagi (lihat gambar di bawah)

    Menentukan R10 dan R9 tidak terlalu sulit. Sayangnya sensor PIR di bawah ini salah label (sepertinya mereka bertukar R9 R17). Anda dapat melacak pin dengan melihat lembar data BISS001 dan mencari tahu apa pin mereka - R10 terhubung ke pin 3 dan R9 terhubung ke pin 7. kapasitor sedikit lebih sulit untuk ditentukan, tetapi Anda dapat 'merekayasa balik' mereka dari waktu sensor dan pemecahannya!

    Untuk sensor di toko Adafruit:

    Tx adalah = 24576 * R10 * C6 = ~ 1, 2 detik
    R10 = 4.7K dan C6 = 10nF

    Juga,

    Ti = 24 * R9 * C7 = ~ 1, 2 detik
    R9 = 470K dan C7 = 0.1uF

    Anda dapat mengubah waktunya dengan menukar resistor atau kapasitor yang berbeda. Untuk tutorial yang bagus tentang ini, lihat halaman peretasan PIR Keith

    Langkah 7: Contoh Proyek


    Nyanyian bertenaga USB dan jamur Mario yang berkedip (ada video di situs!)


    Payung Hujan


    Menguji sensor PIR untuk berinteraksi dengan Max / MSP untuk taman interaktif


    Sistem keamanan buatan sendiri menggunakan sensor PIR (yang dibangun di panel Start Trek!)


    Sensor PIR + Arduino + Servo = pintu kucing otomatis!

    Pemicu kamera jarak jauh berbasis PIR (juga oleh Lucky Larry!)

    Langkah 8: Membaca Sensor PIR

    Menghubungkan sensor PIR ke mikrokontroler sangat sederhana. PIR bertindak sebagai output digital sehingga yang perlu Anda lakukan hanyalah mendengarkan pinnya terbalik (terdeteksi) atau rendah (tidak terdeteksi).

    Kemungkinan Anda ingin melakukan reriggering, jadi pastikan untuk meletakkan jumper di posisi H !

    Nyalakan PIR dengan 5V dan hubungkan ground ke ground. Kemudian hubungkan output ke pin digital. Dalam contoh ini kita akan menggunakan pin 2.

    Kode ini sangat sederhana, dan pada dasarnya hanya melacak apakah input ke pin 2 tinggi atau rendah. Itu juga melacak keadaan pin, sehingga mencetak pesan ketika gerakan telah dimulai dan berhenti:

    / * PIR sensor tester * /

    int ledPin = 13; // pilih pin untuk LED
    int inputPin = 2; // pilih pin input (untuk sensor PIR)
    int pirState = RENDAH; // kita mulai, dengan asumsi tidak ada gerakan yang terdeteksi
    int val = 0; // variabel untuk membaca status pin

    pengaturan batal () {
    pinMode (ledPin, OUTPUT); // nyatakan LED sebagai output
    pinMode (inputPin, INPUT); // nyatakan sensor sebagai input

    Serial.begin (9600);
    }

    void loop () {
    val = digitalRead (inputPin); // baca nilai input
    if (val == HIGH) {// periksa apakah inputnya HIGH
    digitalWrite (ledPin, HIGH); // nyalakan LED
    if (pirState == LOW) {
    // kita baru saja dihidupkan
    Serial.println ("Motion terdeteksi!");
    // Kami hanya ingin mencetak pada perubahan output, bukan menyatakan
    pirState = TINGGI;
    }
    } lain {
    digitalWrite (ledPin, LOW); // matikan LED
    if (pirState == HIGH) {
    // kita baru saja berbalik
    Serial.println ("Gerakan berakhir!");
    // Kami hanya ingin mencetak pada perubahan output, bukan menyatakan
    pirState = RENDAH;
    }
    }
    }

    Jangan lupa bahwa ada saat-saat ketika Anda tidak membutuhkan mikrokontroler. Sensor PIR dapat dihubungkan ke relai (mungkin dengan penyangga transistor) tanpa mikro!

Artikel Terkait