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

Robot Deteksi Manusia Berbasis Arduino Uno: Integrasi Sensor Langkah demi Langkah

Komponen dan Perlengkapan

Robot Deteksi Manusia Berbasis Arduino Uno: Integrasi Sensor Langkah demi Langkah
Arduino UNO
× 1
Robot Deteksi Manusia Berbasis Arduino Uno: Integrasi Sensor Langkah demi Langkah
Papan Pengembangan, Shield Kontrol Motor
× 1
Robot Deteksi Manusia Berbasis Arduino Uno: Integrasi Sensor Langkah demi Langkah
Motor Servo Mikro SG90
× 1
Robot Deteksi Manusia Berbasis Arduino Uno: Integrasi Sensor Langkah demi Langkah
Motor DC, 12 V
× 4
Robot Deteksi Manusia Berbasis Arduino Uno: Integrasi Sensor Langkah demi Langkah
Sensor Ultrasonik - HC-SR04 (Generic)
× 1
Robot Deteksi Manusia Berbasis Arduino Uno: Integrasi Sensor Langkah demi Langkah
Sensor Suhu & Kelembaban DHT11 (4 pin)
× 1
Robot Deteksi Manusia Berbasis Arduino Uno: Integrasi Sensor Langkah demi Langkah
Baterai 9V (generic)
× 1
Robot Deteksi Manusia Berbasis Arduino Uno: Integrasi Sensor Langkah demi Langkah
Kabel Jumper (generic)
× 1
Robot Deteksi Manusia Berbasis Arduino Uno: Integrasi Sensor Langkah demi Langkah
Sensor PIR, 7 m
× 1

Alat dan Mesin yang Diperlukan

Robot Deteksi Manusia Berbasis Arduino Uno: Integrasi Sensor Langkah demi Langkah
Multitool, Obeng
Robot Deteksi Manusia Berbasis Arduino Uno: Integrasi Sensor Langkah demi Langkah
Pengolok (generic)
Robot Deteksi Manusia Berbasis Arduino Uno: Integrasi Sensor Langkah demi Langkah
Flux Solder, Soldering
Robot Deteksi Manusia Berbasis Arduino Uno: Integrasi Sensor Langkah demi Langkah
Kawat Solder, Bebas Timbal
Robot Deteksi Manusia Berbasis Arduino Uno: Integrasi Sensor Langkah demi Langkah
Pistol Lem Panas (generic)

Aplikasi dan Layanan Online

Robot Deteksi Manusia Berbasis Arduino Uno: Integrasi Sensor Langkah demi Langkah
Arduino IDE
Robot Deteksi Manusia Berbasis Arduino Uno: Integrasi Sensor Langkah demi Langkah
Microsoft Windows 10
Aplikasi Android Control Center

Tentang Proyek Ini

Sistem ini merancang sistem kendaraan robotik penyelamatan seluler berbasis Arduino untuk membantu orang yang terjebak dalam bencana alam seperti bencana, gempa bumi, banjir, dll. Ini memberikan refleksi yang tepat waktu dan akurat dari situasi dinamis manusia di wilayah bencana seperti di wilayah bawah tanah ke ruang kontrol, sehingga tim penyelamatan Ahli & dokter dapat dikirim ke lokasi korban untuk perawatan primer dan dapat dikirim ke tempat aman atau rumah sakit. Seluruh proses berlangsung dalam beberapa detik karena sistem dikontrol oleh unit Arduino. Sensor PIR adalah sensor inframerah pasiva yang mendeteksi gerakan orang dengan bantuan perubahan dalam tingkat inframerah (panas) yang dipancarkan oleh benda di sekitarnya. Tubuh manusia memancarkan radiasi termal pada panjang gelombang sekitar 10 mikron. Ini diterima dan diproses oleh sensor PIR untuk mendeteksi manusia. Ini beroperasi pada 5V DC. Gerakan manusia dapat dideteksi dengan memeriksa perubahan mendadak dalam pola IR di sekitarnya. Sensor rintangan mendeteksi rintangan dan mengirim sinyal analog ke Arduino. Arduino diprogram untuk memandu robot secara otomatis tergantung pada rintangan yang terdeteksi dan untuk mengirim informasi manusia ke tempat kontrol jarak jauh melalui Teknologi Bluetooth. Data diterima di Stasiun Dasar (Control Center). Dengan menganalisis data, tim penyelamatan dapat mengambil langkah-langkah yang diperlukan untuk menyelamatkan manusia yang terjebak.

Robot Deteksi Manusia Berbasis Arduino Uno: Integrasi Sensor Langkah demi Langkah

Robot Deteksi Manusia Berbasis Arduino Uno: Integrasi Sensor Langkah demi Langkah

Kode

Human Detection.inoArduino
#include <NewPing.h> // #include <AFMotor.h> // You can download the code library below #include <Servo.h> // // Ultranic Pin Configuration #define TRIG_PIN A0 #define ECHO_PIN A1 #define MAX_DISTANCE 400 #define MAX_SPEED 255 #define MAX_SPEED_OFFSET -8 #define COLL_DIST 20 #define TURN_DIST COLL_DIST+10 #define ACT_TIME 250 int calibrationTime = 30; //the time when the sensor outputs a low impulse long unsigned int lowIn; //the amount of milliseconds the sensor has to be low //before we assume all motion has stopped long unsigned int pause = 5000; boolean lockLow = true; boolean takeLowTime; int pirPin = A3; //the digital pin connected to the PIR sensor's output int ledPin = A2; NewPing sonar(TRIG_PIN, ECHO_PIN, MAX_DISTANCE); AF_DCMotor motorR(1, MOTOR12_1KHZ); // Set motor #1, 1kHz PWM AF_DCMotor motorL(4, MOTOR12_1KHZ); // Set motor #2, 1kHz PWM Servo myservo; // Set servo object to control a servo String motorSet = ""; int curDist = 0, pos, speedSet = 0; //int pos; //int speedSet = 0; void setup() { Serial.begin(9600); pinMode(pirPin, INPUT); pinMode(ledPin, OUTPUT); digitalWrite(pirPin, LOW); //give the sensor some time to calibrate Serial.print("calibrating sensor "); for(int i = 0; i < calibrationTime; i++){ Serial.print("."); delay(1000); } Serial.println(" done"); Serial.println("SENSOR ACTIVE"); delay(50); myservo.attach(9); // Set to attach the servo on pin 9 myservo.write(90); // Write 90 to face servo forward delay(2000); motorSet = "FORWARD"; moveForward(); } void loop() { checkPath(); if(digitalRead(pirPin) == HIGH){ digitalWrite(ledPin, HIGH); //the led visualizes the sensors output pin state if(lockLow){ //makes sure we wait for a transition to LOW before any further output is made: lockLow = false; Serial.println("---"); Serial.print("motion detected at "); Serial.print(millis()/1000); Serial.println(" sec"); delay(50); } takeLowTime = true; } if(digitalRead(pirPin) == LOW){ digitalWrite(ledPin, LOW); //the led visualizes the sensors output pin state if(takeLowTime){ lowIn = millis(); //save the time of the transition from high to LOW takeLowTime = false; //make sure this is only done at the start of a LOW phase } //if the sensor is low for more than the given pause, //we assume that no more motion is going to happen if(!lockLow && millis() - lowIn > pause){ //makes sure this block of code is only executed again after //a new motion sequence has been detected lockLow = true; Serial.print("motion ended at "); //output Serial.print((millis() - pause)/1000); Serial.println(" sec"); delay(50); } } } void checkPath() { int curLeft = 0; int curRight = 0; int curFront = 0; curDist = 0; checkForward(); myservo.write(135); delay(100); for (pos = 135; pos >= 45; pos -= 45) { myservo.write(pos); delay(170); curDist = readPing(); if (curDist < COLL_DIST) { checkCourse(); break; } if (curDist < TURN_DIST) { changePath(); } } } int readPing() { int cm = 0; while (cm < 2) {int uS = sonar.ping(); cm = uS/US_ROUNDTRIP_CM;} return cm; } void checkForward() { if (motorSet=="FORWARD") { motorR.run(FORWARD); motorL.run(FORWARD); } } void changePath() { if (pos < 90) { veerLeft(); } if (pos > 90) { veerRight(); } } void veerRight() { motorR.run(BACKWARD); motorL.run(FORWARD); delay(ACT_TIME); motorR.run(FORWARD); motorL.run(FORWARD); motorSet = "FORWARD"; } void veerLeft() { motorL.run(BACKWARD); motorR.run(FORWARD); delay(ACT_TIME); motorL.run(FORWARD); motorR.run(FORWARD); motorSet = "FORWARD"; } void checkCourse() { moveBackward(); delay(ACT_TIME); moveStop(); setCourse(); } void setCourse() { if (pos < 90) { turnRight(); } if (pos > 90) { turnLeft(); } } void moveBackward() { motorSet = "BACKWARD"; motorR.run(BACKWARD); // Turn right motor backward motorL.run(BACKWARD); // Turn left motor backward for (speedSet = 0; speedSet < MAX_SPEED; speedSet +=2) { motorL.setSpeed(speedSet); motorR.setSpeed(speedSet+MAX_SPEED_OFFSET); delay(5); } } void moveForward() { motorSet = "FORWARD"; checkForward(); for (speedSet = 0; speedSet < MAX_SPEED; speedSet +=2) { motorL.setSpeed(speedSet); motorR.setSpeed(speedSet+MAX_SPEED_OFFSET); delay(4); } } void moveStop() { motorR.run(RELEASE); motorL.run(RELEASE); } void turnRight() { motorSet = "RIGHT"; motorR.run(FORWARD); // Turn right motor forward motorL.run(BACKWARD); // Turn left motor backward delay(ACT_TIME); motorSet = "FORWARD"; checkForward(); } void turnLeft() { motorSet = "LEFT"; motorR.run(BACKWARD); // Turn right motor backward motorL.run(FORWARD); // Turn left motor forward delay(ACT_TIME); motorSet = "FORWARD"; checkForward(); } 

Skema Rangkaian

Diagram Blok ini menunjukkan antarmuka antara Sensor dan Papan ArduinoRobot Deteksi Manusia Berbasis Arduino Uno: Integrasi Sensor Langkah demi Langkah

Diagram Rangkaian ini menunjukkan konfigurasi koneksi antara berbagai Sensor dengan Papan Arduino UnoRobot Deteksi Manusia Berbasis Arduino Uno: Integrasi Sensor Langkah demi Langkah

Diagram Alir ini menunjukkan cara kerja sistemRobot Deteksi Manusia Berbasis Arduino Uno: Integrasi Sensor Langkah demi Langkah

Proses manufaktur

  1. Integrasi Microsoft Kinect dengan Raspberry Pi untuk Deteksi Manusia Real-Time pada Robot Sonbi
  2. Membuat Boneka Interaktif Tema Squid Game dengan Arduino UNO – Proyek DIY
  3. Mentransfer Data Suhu dan Kelembaban antara Dua Arduino menggunakan Firebase
  4. Sistem Absensi RFID berbasis Arduino yang Andalkan dengan Python
  5. Bangun Sensor Detak Jantung Inframerah Andalan dengan Arduino: Panduan Langkah demi Langkah
  6. Bangun Kendaraan Jarak Jauh Terkontrol Android dengan Motor Shield Raspberry Pi
  7. Buat Kotak Pintar IoT dengan ESP8266, Arduino & Sensor Ultrasonik – Pemantauan Real-Time
  8. Arduino Uno WiFi Web Server: Nyalakan/Matikan LED Melalui Browser
  9. Sistem Pemantauan Kebakaran Hutan Real-Time dengan Peringatan SMS
  10. Integrasi Sensor Denyut Nadi MAX30100 dengan Arduino: Panduan Langkah demi Langkah