Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Buat Penghitung Orang yang Dikendalikan oleh Aplikasi Android

Komponen dan persediaan

Arduino UNO
× 1
Breadboard (generik)
× 2
Resistor foto
× 3
Modul Laser
× 3
Buzzer
× 1
Modul LED RGB
× 1
LED (generik)
× 3
Resistor 1k ohm
× 3
Resistor 221 ohm
× 3
Baterai
× 1
Kabel jumper (generik)
× 1

Aplikasi dan layanan online

Arduino IDE
Penemu Aplikasi MIT

Tentang proyek ini

Deskripsi

Pertama-tama, penghitung orang adalah perangkat yang mendeteksi jumlah orang yang melintasi pintu masuk. Saya berpikir bahwa membuat konter orang untuk mengamankan kamar saya ketika saya harus pergi berlibur selama dua minggu. Juga, saya ingin menggunakan penghitung orang sebagai alarm yang memperingatkan orang-orang yang tidak memiliki izin untuk memasuki ruangan. Laser adalah pilihan terbaik untuk menghitung sesuatu secara akurat dengan LDR karena sifat kecepatannya, jadi saya memutuskan untuk menggunakan laser dengan LDR untuk pekerjaan penghitungan. Ada tiga kemungkinan pintu masuk di kamar saya (dua pintu dan satu jendela) jadi saya menggunakan tiga laser dan tiga LDR. Namun, saya menyadari bahwa saya perlu mengontrol perangkat dari jarak jauh jika saya ingin memilih antara laser pintu masuk mana yang terbuka atau apakah alarm menyala atau tidak. Sehingga saya menambahkan modul Bluetooth HC-06 untuk berkomunikasi ke perangkat dengan aplikasi Android yang saya buat. Selain itu, aplikasi Android menampilkan jumlah orang yang memasuki pintu masuk mana pun yang ingin Anda amati.

Untuk mendukung proyek dan artikel saya, Anda dapat mengunjungi situs web saya di sini :)

Membuat aplikasi

Ada banyak cara berbeda untuk membuat aplikasi android seperti mengonversi kode dari HTML ke Java atau memprogram aplikasi dengan Python. Namun, MIT App Inventor adalah cara termudah karena strukturnya drag and drop ketika Anda ingin membuat aplikasi android tetapi jangan lupa bahwa itu belum kompatibel dengan iOS.

Orang Kontra! adalah nama aplikasi dan mencakup dua layar bernama Screen1 dan Screen2.

Layar1

Ini adalah layar beranda untuk melanjutkan ke layar utama tetapi pertama-tama, kata sandi yang diatur di MIT App Inventor harus dimasukkan dengan benar. (Kata sandi default yang saya tetapkan adalah "penghitung".)

Layar2

Ini adalah layar utama dan menu untuk mengontrol papan Arduino dan hasil penghitung orang yang dikirim oleh Arduino ditampilkan di layar ini.

Anda dapat memilih, laser mana yang menyala atau apakah alarm terbuka atau tidak, pada layar ini selanjutnya Anda dapat melihat hasil penghitung orang dan mengaturnya dari nol.

Cara membuat penghitung orang menggunakan laser dan LDR

Laser (penguatan cahaya dengan emisi radiasi terstimulasi) adalah perangkat yang mengirimkan paket cahaya melalui garis yang sangat lurus ke target pada dasarnya. Dan LDR (light-dependent resistor) dapat dengan mudah mendeteksi peningkatan intensitas cahaya jika laser diarahkan langsung ke dirinya sendiri. Ketika ada penghalang antara laser dan LDR, LDR mendeteksi penurunan intensitas cahaya. Jadi, jika Anda dapat menghitung setiap penurunan dalam kisaran level optimal, Anda akan memiliki penghitung orang. Menurut percobaan saya dengan LDR, kisaran level optimal harus antara 150 dan 350.

Koneksi

  • Modul Arduino Uno
  • Pin 2 ---------Laser_Module_1
  • Pin 3 -------- Laser_Module_2
  • Pin 4 -------- Laser_Module_3
  • Pin 5 -------- Buzzer
  • Pin 6 -------- Modul Bluetooth HC-06(TX)
  • Pin 7 ---------HC-06 Bluetooth Module(RX)
  • Pin 8 ---------Control_Led_1
  • Pin 12 ---------Control_Led_2
  • Pin 13 ----------Control_Led_3
  • Pin 9 ------- RGB_Module (R)
  • Pin 10 ------ RGB_Module (G)
  • Pin 11 ------- RGB_Module (B)
  • AO--------LDR_1
  • A1------------LDR_2
  • A2------------LDR_3

Pastikan laser mengarah langsung ke LDR sebelum menyelesaikan sambungan semua bagian.

Setelah saya menguji perangkat dan merekam video pengujian, saya membagi perangkat menjadi tiga bagian untuk tiga pintu masuk yang berbeda. Saya tidak memiliki keraguan tentang keamanan kamar saya sejak saya menggunakannya.

Kode

  • PeopleCounter_with_Lasers.ino
PeopleCounter_with_Lasers.inoArduino
 /////////////////////////////////////////////////////// // Buat Penghitung Orang dengan Laser // // di Perangkat Android // // oleh Kutluhan Aktar // // /////////////////////// //////////////////////// Tujuan dari proyek ini adalah untuk membuat penghitung orang yang mendeteksi jumlah orang yang memasuki ruangan menggunakan laser dan LDR dan kendalikan dengan aplikasi android.//// Hubungkan satu kaki LDR ke GND dengan resistor 1K ohm.//// Pastikan laser mengarah ke LDR secara langsung.//// Jika Anda menginginkannya hasil people counter akurat, silahkan atur level optimal LDR dengan benar.////// Connections://// Arduino Uno// Laser_Module_1// Pin 2 ------------ ------------// Laser_Module_2// Pin 3 ------------------------// Laser_Module_3// Pin 4 ------------------------// Buzzer// Pin 5 ------------------- -----// Modul Bluetooth HC-06// Pin 6 ------------- TX// Pin 7 ----- -------------------RX// Control_Led_1// Pin 8 ----------------------- -// Control_Led_2// Pin 12 ------------------------// Control_Led_3// Pin 13 ------------------ ------// RGB_Module// Pin 9 -------------R// Pin 10 -------- ----------------G// Pin 11 ------------------------B// LDR_1/ / AO ------------------------// LDR_2// A1 ------------------ ------// LDR_3// A2 ------------------------ #include int LaserPin_1 =2; // Tentukan pin sensor laser.int LaserPin_2 =3;int LaserPin_3 =4;int BuzzerPin =5; // Pin bel.int Control_RX =6; // Pin RX dan TX untuk perpustakaan SoftWareSerial.int Control_TX =7;int RedPin =9; // Pin PWM untuk sensor LED RGB.int GreenPin =10;int BluePin =11;int Control_Led_1 =8; // Tetapkan masing-masing led sebagai tanda status masing-masing modul laser.int Control_Led_2 =12;int Control_Led_3 =13;int LDR_1 =A0; // Pin analog untuk LDRs.int LDR_2 =A1;int LDR_3 =A2;int LDR_1_Read; // Tentukan nilai LDR sebagai variabel global.int LDR_2_Read;int LDR_3_Read;int Counter =0; // Tetapkan nilai default penghitung sebagai zero.volatile boolean Alarm_is_Activated =false; // Pilih apakah alarm aktif atau tidak.volatile boolean Alarm_Initial =false;volatile boolean Counter_Detect =false; // Ini adalah variabel untuk memberikan waktu tunda ke Arduino.SoftwareSerial Control(Control_RX, Control_TX); // Tentukan pin Rx dan Tx untuk berkomunikasi dengan Modul Bluetooth. Nama String ="Kontrol"; // Beri nama modul Anda dan atur kata sandinya.int Password =1111;String Uart ="9600,0,0";void setup() { Serial.begin(9600); Kontrol.mulai (9600); // Mulai modul Bluetooth HC-06 untuk berkomunikasi. // Ubah_BluetoothModule_Defaults(); // Anda dapat mengaktifkannya jika Anda ingin mengubah default modul Bluetooth. pinMode(LaserPin_1,OUTPUT); pinMode(LaserPin_2,OUTPUT); pinMode(LaserPin_3,OUTPUT); pinMode (Pin Merah, OUTPUT); pinMode(GreenPin,OUTPUT); pinMode(BluePin,OUTPUT); pinMode(Control_Led_1,OUTPUT); pinMode(Control_Led_2,OUTPUT); pinMode(Control_Led_3,OUTPUT);}void loop() { get_Data_From_LDR(); // Dapatkan data dari sensor LDR. if(Control.available()){ // Jika modul Bluetooth HC-06 tersedia, Commands() telah dilanjutkan. char c =Control.read(); Serial.println(c); // Kontrol karakter yang disetel oleh aplikasi menggunakan terminal. Perintah (c); } Pasang alarm(); // Inisialisasi fungsi alarm. Set_Penghitung(); // Mulai penghitung orang. }void Commands(char i){ // Pilih peristiwa yang terjadi ketika karakter tertentu dikirim dari aplikasi ke Arduino. switch(i){ case '1' :Control.print(Counter); merusak; case '2' :Alarm_is_Activated =true; merusak; case '3' :Alarm_is_Activated =false; merusak; case '4' :digitalWrite(LaserPin_1,HIGH); digitalWrite(Control_Led_1,TINGGI); merusak; kasus '5' :digitalWrite(LaserPin_1,RENDAH); digitalWrite(Control_Led_1,RENDAH); merusak; case '6' :digitalWrite(LaserPin_2,HIGH); digitalWrite(Control_Led_2,TINGGI); merusak; case '7' :digitalWrite(LaserPin_2,LOW); digitalWrite(Control_Led_2,RENDAH); merusak; case '8' :digitalWrite(LaserPin_3,HIGH); digitalWrite(Control_Led_3,TINGGI); merusak; case '9' :digitalWrite(LaserPin_3,LOW); digitalWrite(Control_Led_3,RENDAH); merusak; case 'r' :Penghitung =0; merusak; } }void get_Data_From_LDR(){ // Dapatkan data sensor LDR. LDR_1_Baca =analogBaca(LDR_1); LDR_2_Baca =analogBaca(LDR_2); LDR_3_Baca =analogBaca(LDR_3); }void Set_Counter(){ // Mengatur penghitung orang. if(LDR_1_Baca <150 || LDR_2_Baca <150 || LDR_3_Baca <150){ // Jika gerakan terdeteksi. Counter_Detect =benar; } else{ Counter_Detect =false; } if(Counter_Detect ==true){ Penghitung =Penghitung + 1; penundaan (500); // Beri waktu untuk mendapatkan jumlah orang yang masuk ke ruangan dengan akurat. } if(Counter_Detect ==false){ Penghitung =Penghitung; }}void Set_Alarm(){ // Menyetel sistem alarm yang dapat disesuaikan. if(Alarm_is_Activated ==true){ if(LDR_1_Baca <150 || LDR_2_Baca <150 || LDR_3_Baca <150){ // Jika gerakan terdeteksi. Alarm_Initial =benar; } else{ Alarm_Initial =false; } if(Alarm_Initial ==true){ tone(BuzzerPin,500); Warna_Ubah(255, 0, 0); penundaan (50); Warna_Ubah(0, 255, 0); penundaan (50); Warna_Ubah(0, 0, 255); penundaan (50); Warna_Ubah(255, 255, 0); penundaan (50); Perubahan_Warna(80, 0, 80); penundaan (50); Warna_Ubah(0, 255, 255); penundaan (50); Warna_Ubah(255, 255, 255); penundaan (50); } } if(Alarm_is_Activated ==false || Alarm_Initial ==false ){ noTone(BuzzerPin); Warna_Ubah(0, 0, 0); }}void Color_Change(int red, int green, int blue){ // Mengubah variabel Modul RGB dengan mudah. merah =255 - merah; hijau =255 - hijau; biru =255 - biru; analogWrite(Pin Merah, merah); analogWrite(Pin Hijau, hijau); analogWrite(BluePin, blue);}void Change_BluetoothModule_Defaults(){ // Ubah nilai default modul Bluetooth dengan nilai apa pun yang Anda pilih. Control.print("AT+NAMA"); // Ubah nama. Control.println(Nama); Serial.print("Nama diubah :"); Serial.println(Nama); penundaan(2000); Control.print("AT+PSWD"); // Ubah kata sandi. Control.println(Kata Sandi); Serial.print("Password diubah :"); Serial.println(Kata Sandi); penundaan(2000); Control.print("AT+UART"); // Ubah kecepatan baud. Jika modul Bluetooth adalah HC-05, nilai default dari baud rate adalah 38400. Control.println(Uart); Serial.print("Kecepatan baud disetel:"); Serial.println(Uart); penundaan(2000); Serial.println("Tugas selesai."); // Anda dapat melihat apakah tugas diselesaikan dengan benar atau tidak menggunakan terminal.}

Suku cadang dan penutup khusus

File kode Penghitung Orang! peoplecounter_J375iBnBF8.aiaFile Apk dari People Counter! peoplecounter_uBf7MU4A1c.apk

Skema


Proses manufaktur

  1. Kipas dengan pengatur suhu
  2. Robot Terkendali Gerakan Menggunakan Raspberry Pi
  3. ROBOT WIFI RASPBERRY PI DIKONTROL DARI PONSEL PINTAR ANDROID
  4. Arduclock RGB 3D
  5. Bermain dengan Fire Melalui Wi-Fi (ESP8266, NeoPixels &Aplikasi Android)
  6. Mainan yang Dikendalikan Android Menggunakan Raspberry Motor Shield
  7. LED Terkendali Alexa Melalui Raspberry Pi
  8. MyRiver
  9. Game Joystick
  10. Ide Hari Valentine - Penghitung Hari yang Dihabiskan Bersama (Foto)