Sistem Sensor Gerak Inframerah DIY untuk Raspberry Pi
Selama bulan Juli 2015, saya menyelesaikan magang sekolah menengah di Colorado State University, dan salah satu proyek yang saya kerjakan adalah sensor jarak inframerah untuk Raspberry Pi.
Sensor inframerah jarak pendek ini dapat dikaitkan dengan berbagai aplikasi, termasuk robot pengikut garis dan kamera yang diaktifkan gerakan.
Anda membutuhkan:
1. Raspberry Pi (1)
2. Papan tempat memotong roti (1)
3. Papan Sirkuit Cetak Prototipe Berlubang – Ukuran apa pun (1)
4. Kawat Berlapis (Sebaiknya Merah, Hitam, dan Kuning).
5. Pemancar LED Inframerah (1)
6. Detektor LED Inframerah (1)
7. Kabel Jumper Wanita – Wanita (3)
8. LED Biasa – warna apa saja (1)
9. Pita Listrik – OPSIONAL (1)
10. Pin Header – OPSIONAL (3)
11. Penguat Operasional LM358N9013 (1)
12. Potensiometer Pemangkas 1k (1)
13. Resistor 39 Ohm (1)
15. Resistor 1k Ohm (1)
16. Resistor 10k Ohm (1)
17. Resistor 6.8k Ohm (1)
18. Resistor 3,5k Ohm (1)
19. Obeng Kecil – Untuk digunakan dengan Potensiometer (1)
20. Pengupas Kawat (1)
21. Pemotong Kawat (1)
22. Solder dan Besi Solder (1)
Langkah 1:Pembuatan prototipe'
Sebelum Anda benar-benar dapat membuat perangkat Anda, pertama-tama luangkan waktu untuk membuat prototipe menggunakan papan tempat memotong roti dan mengikuti skema yang disediakan di atas. Daya harus berasal dari pin GPIO 5v Raspberry Pi dan didistribusikan ke pemancar inframerah, penerima, penguat operasional, dan potensiometer:masing-masing dengan resistornya masing-masing. Perhatikan bahwa penguat operasional terhubung ke dua resistor yang berbeda; ini disengaja, dan bertindak sebagai pembagi tegangan yang mengurangi tegangan output menjadi 3,3v (tegangan maksimum yang diizinkan ke pin input). Setelah selesai, pasang prototipe Anda ke pin GPIO 5v dan ground yang terletak di Raspberry Pi menggunakan kabel jumper female-female. Jika LED tidak menyala, putar kenop potensiometer ke kanan dengan hati-hati dan segera berhenti setelah lampu menyala. Melakukannya akan memaksimalkan jangkauan dan sensitivitas sensor. Jika lampu menyala saat memasok daya, putar kenop ke kiri hingga lampu mati lalu putar kenop perlahan ke kanan, kembali berhenti begitu lampu menyala.
Langkah 2:Membangun Perangkat Anda
Setelah prototipe kerja dibuat, pindahkan komponennya dengan hati-hati ke papan sirkuit berlubang. Tentukan sisi papan sirkuit untuk terminal positif dan negatif (mirip dengan soket ekstensi pada papan tempat memotong roti) dan pastikan bahwa setiap komponen diarahkan dengan benar. Solder setiap komponen pada tempatnya dan sambungkan menggunakan kabel jumper sesuai kebutuhan. Terakhir, pasang ground, output, dan power ke 3 pin header masing-masing. Gunakan pemotong kawat untuk melepaskan kabel yang menonjol dan gunakan kabel jumper wanita-wanita untuk menguji apakah perangkat Anda berfungsi dengan benar. Jika tidak, pertimbangkan untuk menggunakan multimeter untuk memverifikasi bahwa semua sambungan telah dibuat dengan benar.
Catatan:Jika Anda mau, tambahkan selotip listrik ke pemancar inframerah. Melakukannya akan meningkatkan jangkauan sensor Anda.
Langkah 3:Kode
Setelah perangkat yang berfungsi telah dibuat, kode harus ditulis untuk mengintegrasikan sensor dengan Kamera Raspberry Pi. Dua contoh telah diberikan di bawah ini:
1. Yang pertama, "picam", meminta pengguna untuk memberi nama dan mengatur jendela pratinjau sebelum mengambil gambar saat mendeteksi gerakan. Program kemudian mengeluarkan perintah yang diperlukan untuk melihat gambar.
//PiCam:Mengambil gambar saat gerakan terdeteksi. Akan meminta pengguna untuk memberikan nama gambar dan panjang pratinjau.
#include #include #include #include #define SEN 0 #define MAXSIZE 50 #define A “Y” #define B “O”
int sistem(const char *perintah);
int main() { wiringPiSetup(); pinMode(SEN, INPUT); char answer1[UKURAN MAKSIMUM]; char answer2[UKURAN MAKSIMUM]; nama karakter[MAXSIZE] =B; char firstprefix[MAXSIZE] =“raspistill -hf -hf -t “; char secondprefix[MAXSIZE] =“xdg-buka”; printf(“\nApakah Anda ingin menamai gambar Anda terlebih dahulu? (Masukkan Y/T dan tekan ENTER):“); scanf(“%s”, jawaban1); if(strcmp(answer1, A) ==0){ printf(“Apa nama video Anda?:“); scanf("%s", nama); strcat(nama, “.jpg”); } printf(“Berapa lama Anda ingin kamera menunggu sebelum mengambil gambar? (Masukkan waktu dalam milidetik dan tekan ENTER):“); scanf(“%s”,jawab2); strcat(awalan pertama, jawaban2); strcat(awalan pertama, ” -o “); if(digitalRead(SEN) ==LOW) printf(“\nKAMERA MATI\nKesalahan:Silakan periksa kabel ATAU menjauh dari sensor. \n”); else { printf(“\nKAMERA AKTIF\n1. Untuk mengambil gambar, berdiri di depan camcorder. \n2. Gambar Anda akan diambil setelah waktu yang ditentukan. \n3. Untuk melihat gambar, masukkan perintah yang tersedia.\n\ n"); for(;;){ if(digitalRead(SEN) ==RENDAH){ system(strcat(awalan pertama, nama)); merusak; } } } strcat(awalan kedua, nama); printf(“Ketik *%s* dan tekan ENTER untuk melihat gambar Anda!\n”, awalan kedua); kembali (0); }
Untuk detail lebih lanjut:Sistem Sensor Gerak Inframerah DIY untuk Raspberry Pi