산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

Arduino Uno를 사용한 인간 감지 로봇 시스템

구성품 및 소모품

Arduino UNO
× 1
개발 보드, 모터 제어 실드
× 1
SG90 마이크로 서보 모터
× 1
DC 모터, 12V
× 4
초음파 센서 - HC-SR04(일반)
× 1
DHT11 온도 및 습도 센서(4핀)
× 1
9V 배터리(일반)
× 1
점퍼 와이어(일반)
× 1
PIR 센서, 7m
× 1

필요한 도구 및 기계

멀티툴, 스크루드라이버
납땜 인두(일반)
납땜 플럭스, 납땜
납땜 와이어, 무연
뜨거운 글루건(일반)

앱 및 온라인 서비스

Arduino IDE
Microsoft Windows 10
제어 센터 Android 앱

이 프로젝트 정보

이 시스템은 아두이노 기반의 이동형 구조 로봇 차량 시스템을 설계하여 재난, 지진, 홍수 등과 같은 자연 재해에 갇힌 사람들을 제시간에 도와줍니다. 지하 지역과 같은 재난 지역에서 인간의 역동적인 상황을 적시에 정확하게 반영합니다. 전문가 및 의사로 구성된 구조팀이 피해자의 위치로 1차 치료를 보내고 안전한 장소나 병원으로 이송될 수 있도록 제어실로 이동합니다. 시스템이 Arduino 장치에 의해 제어되기 때문에 전체 프로세스가 몇 초 안에 이루어집니다. PIR 센서는 주변 물체에서 방출되는 적외선(열) 수준의 변화를 통해 사람의 움직임을 감지하는 수동 적외선 센서입니다. 인체는 약 10마이크론의 파장에서 열복사를 방출합니다. PIR 센서에 의해 수신 및 조작되어 사람을 감지합니다. 5V DC에서 작동합니다. 주변 IR 패턴의 급격한 변화를 확인하여 사람의 움직임을 감지할 수 있습니다. 장애물 센서는 장애물을 감지하고 아날로그 신호를 Arduino로 보냅니다. 아두이노는 감지된 장애물에 따라 로봇을 자동으로 안내하고 블루투스 기술을 통해 인간의 정보를 원격 제어 장소로 보내도록 프로그래밍되어 있습니다. Base Station(Control Center)에서 데이터를 수신합니다. 데이터 분석 구조팀은 갇힌 인간을 구조하기 위해 필요한 조치를 취할 수 있습니다.

<섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

코드

<울>
  • 인간 탐지.ino
  • Human Detection.inoArduino
    #include  // #include  // 아래 코드 라이브러리를 다운로드할 수 있습니다.#include  // // 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; //센서가 낮은 임펄스를 출력하는 시간long unsigned int lowIn; //센서가 낮아야 하는 시간(밀리초) //모든 동작이 중지되었다고 가정하기 전에 long unsigned int pause =5000; 부울 lockLow =true; 부울 takeLowTime; int pirPin =A3; //PIR 센서의 출력에 연결된 디지털 핀 int ledPin =A2;NewPing sonar(TRIG_PIN, ECHO_PIN, MAX_DISTANCE); AF_DC모터 모터R(1, MOTOR12_1KHZ); // 모터 1번 설정, 1kHz PWMAF_DCMotor motorL(4, MOTOR12_1KHZ); // 모터 2번 설정, 1kHz PWM Servo myservo; // 서보를 제어하기 위한 서보 객체 설정 String motorSet =""; int curDist =0, pos, speedSet =0;//int pos; //int speedSet =0; 무효 설정() { Serial.begin(9600); 핀모드(피어핀, 입력); 핀모드(LED핀, 출력); 디지털 쓰기(pirPin, LOW); //센서를 보정할 시간을 줍니다. Serial.print("calibrating sensor "); for(int i =0; i  pause){ //이 코드 블록이 //새로운 모션 시퀀스가 ​​감지된 후에만 다시 실행되도록 합니다. lockLow =true; Serial.print("모션이 "에서 종료되었습니다."); //출력 Serial.print((millis() - 일시 중지)/1000); Serial.println("초"); 지연(50); } } } 무효 checkPath() { int curLeft =0; 정수 curRight =0; 정수 curFront =0; curDist =0; 체크 포워드(); myservo.write(135); 지연(100); (위치 =135, 위치>=45, 위치 -=45) { myservo.write(pos); 지연(170); curDist =readPing(); if (curDist  90) { veerRight(); } } 무효 veerRight() { motorR.run(BACKWARD); motorL.run(앞으로); 지연(ACT_TIME); motorR.run(앞으로); motorL.run(앞으로); motorSet ="FORWARD";} 무효 veerLeft() { motorL.run(BACKWARD); motorR.run(앞으로); 지연(ACT_TIME); motorL.run(앞으로); motorR.run(앞으로); motorSet ="FORWARD";} 무효 checkCourse() { moveBackward(); 지연(ACT_TIME); 이동중지(); setCourse();} 무효 setCourse() { if (pos <90) { turnRight(); } if (pos> 90) { turnLeft(); }} void moveBackward() { motorSet ="BACKWARD"; motorR.run(뒤로); // 오른쪽 모터를 뒤로 돌림 motorL.run(BACKWARD); // 왼쪽 모터를 뒤로 돌립니다. for (speedSet =0; speedSet   

    회로도

    이 블록 다이어그램은 센서와 Arduino 보드 간의 인터페이스를 보여줍니다. 이 회로도는 Arduino Uno 보드와 다양한 센서 간의 연결 구성을 보여줍니다. 이 순서도는 시스템 작동 방식을 보여줍니다.

    제조공정

    1. KINECT 및 RASPBERRY PI를 사용한 SONBI 로봇 인간 탐지
    2. Arduino UNO를 사용한 오징어 게임 인형 빌드
    3. Firebase를 사용하여 Arduino 간에 센서 데이터 보내기
    4. Python과 함께 Arduino 및 RFID를 사용한 출석 시스템
    5. Arduino를 사용한 DIY 적외선 심장 박동 센서
    6. Raspberry Motor Shield를 사용한 Android 제어 장난감
    7. IOT - ESP8266, Arduino 및 초음파 센서를 사용하는 스마트 항아리
    8. Arduino Uno WiFi를 사용하는 WebServerBlink
    9. 산불 모니터링 및 감지 시스템(SMS 경보 포함)
    10. Arduino와 함께 MAX30100 웨어러블 펄스 센서 사용