초음파 센서를 사용하여 바닥 청소 로봇을 만드는 방법?

자동 바닥 청소 로봇은 새로운 개념이 아닙니다. 그러나 이러한 로봇에는 중요한 문제가 있습니다. 그들은 매우 비쌉니다. 시장에서 구할 수있는 로봇만큼 효율적인 저비용 바닥 청소 로봇을 만들 수 있다면 어떨까요? 이 로봇은 초음파 센서를 사용하여 장애물을 피할 것입니다. 이렇게하면 방 전체가 청소됩니다.



(이 사진은 Circuit Digest에서 가져온 것입니다)

초음파 센서를 사용하여 자동 바닥 청소 로봇을 만드는 방법은 무엇입니까?

이제 우리 프로젝트의 개요를 알고 있습니다. 작업을 시작하기 위해 더 많은 정보를 수집하겠습니다.



1 단계 : 구성 요소 수집

프로젝트를 시작하는 가장 좋은 방법은 시작시 전체 구성 요소 목록을 만들고 각 구성 요소에 대한 간략한 연구를 진행하는 것입니다. 이것은 우리가 프로젝트 중간에 불편 함을 피하는 데 도움이됩니다. 이 프로젝트에 사용 된 모든 구성 요소의 전체 목록은 다음과 같습니다.



  • 자동차 휠 섀시
  • 배터리
  • 브러시 표시

2 단계 : 구성 요소 연구

이제 모든 구성 요소의 전체 목록이 있으므로 한 단계 더 나아가 각 구성 요소의 작동 방식을 간략하게 살펴 보겠습니다.



Arduino nano는 회로에서 다른 작업을 제어하거나 수행하는 데 사용되는 마이크로 컨트롤러 보드입니다. 우리는 C 코드 Arduino Nano에서 수행 할 작업과 방법을 마이크로 컨트롤러 보드에 알립니다. Arduino Nano는 Arduino Uno와 정확히 동일한 기능을 가지고 있지만 크기는 상당히 작습니다. Arduino Nano 보드의 마이크로 컨트롤러는 ATmega328p.

Arduino Nano

L298N은 고전류 및 고전압 집적 회로입니다. 표준 TTL 로직을 수용하도록 설계된 이중 풀 브리지입니다. 장치가 독립적으로 작동 할 수 있도록 두 개의 활성화 입력이 있습니다. 두 개의 모터를 동시에 연결하고 작동 할 수 있습니다. 모터의 속도는 PWM 핀을 통해 변경됩니다.



L298N 모터 드라이버

HC-SR04 보드는 두 물체 사이의 거리를 결정하는 데 사용되는 초음파 센서입니다. 송신기와 수신기로 구성됩니다. 송신기는 전기 신호를 초음파 신호로 변환하고 수신기는 초음파 신호를 다시 전기 신호로 변환합니다. 송신기가 초음파를 보내면 특정 물체와 충돌하여 반사됩니다. 거리는 초음파 신호가 송신기에서 수신기로 돌아 오는 데 걸리는 시간을 사용하여 계산됩니다.

초음파 센서

3 단계 : 구성 요소 조립

이제 모든 구성 요소가 어떻게 작동하는지 알았으므로 모든 구성 요소를 조립하고 로봇을 만들기 시작하겠습니다.

자동차 휠 섀시를 가져다가 체이스 앞에 쇼 브러시를 장착합니다. 로봇 아래에 Scotch Brite를 장착합니다. 신발 솔 바로 뒤에 있는지 확인하십시오. 이제 체이스 상단에 작은 브레드 보드를 부착하고 그 뒤에 모터 드라이버를 부착합니다. 모터를 모터 드라이버에 올바르게 연결하고 모터 드라이버의 핀을 Arduino에 조심스럽게 연결하십시오. 섀시 뒤에 배터리를 장착합니다. 배터리는 모터에 전원을 공급할 모터 드라이버에 전원을 공급합니다. Arduino는 또한 모터 드라이버에서 전원을 공급받습니다. Vcc 핀과 초음파 센서의 접지는 Arduino의 5V 및 접지에 연결됩니다.

회로도

4 단계 : Arduino 시작하기

아두 이노 IDE에 익숙하지 않더라도 마이크로 컨트롤러 보드와 함께 아두 이노 IDE를 설정하고 사용하는 단계별 절차가 아래에 설명되어 있으므로 걱정하지 마십시오.

  1. 다음에서 Arduino IDE의 최신 버전을 다운로드하십시오. Arduino.
  2. Arduino Nano 보드를 노트북에 연결하고 제어판을 엽니 다. 제어판에서 하드웨어와 사운드 . 이제 클릭 장치 및 프린터. 여기에서 마이크로 컨트롤러 보드가 연결된 포트를 찾으십시오. 제 경우에는 COM14 하지만 컴퓨터마다 다릅니다.

    포트 찾기

  3. 도구 메뉴를 클릭하고 보드를 Arduino Nano.

    설정 보드

  4. 동일한 도구 메뉴에서 이전에 확인한 포트 번호로 포트를 설정합니다. 장치 및 프린터 .

    포트 설정

  5. 동일한 도구 메뉴에서 프로세서를 ATmega328P (이전 부트 로더).

    프로세서

  6. 아래 첨부 된 코드를 다운로드하여 Arduino IDE에 붙여 넣으십시오. 클릭 업로드 버튼을 눌러 마이크로 컨트롤러 보드의 코드를 굽습니다.

    업로드

딸깍 하는 소리 여기 코드를 다운로드하십시오.

5 단계 : 코드 이해

코드는 주석이 잘되어 있고 설명이 필요하지 않습니다. 그러나 여전히 아래에 간략하게 설명되어 있습니다.

1. 처음에는 사용할 아두 이노의 모든 핀이 초기화됩니다.

int enable1pin = 8; // 첫 번째 모터 용 핀 int motor1pin1 = 2; int motor1pin2 = 3; int enable2pin = 9; // 두 번째 모터 용 핀 int motor2pin1 = 4; int motor2pin2 = 5; const int trigPin = 11; // 초음파 센서 용 핀 const int echoPin = 10; const int buzzPin = 6; 장기간; // 초음파 센서 부동 거리에 대한 변수;

2. 무효 설정 () INPUT 또는 OUTPUT으로 사용할 모든 핀을 설정하는 기능입니다. Baud Rate도이 기능에서 설정됩니다. 전송 속도는 마이크로 컨트롤러 보드가 연결된 센서와 통신하는 속도입니다.

void setup () {Serial.begin (9600); pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); pinMode (buzzPin, OUTPUT); pinMode (enable1pin, OUTPUT); pinMode (enable2pin, OUTPUT); pinMode (motor1pin1, OUTPUT); pinMode (motor1pin2, OUTPUT); pinMode (motor2pin1, OUTPUT); pinMode (motor2pin2, OUTPUT); }

삼. 무효 루프 () 루프에서 지속적으로 실행되는 함수입니다. 이 루프에서 우리는 50cm 안에 장애물이없는 경우 언제 앞으로 나아갈 지 마이크로 컨트롤러에 알려 줬습니다. 로봇은 장애물이 발견되면 급 우회전합니다.

void loop () {digitalWrite (trigPin, LOW); delayMicroseconds (2); digitalWrite (trigPin, HIGH); delayMicroseconds (10); digitalWrite (trigPin, LOW); 기간 = pulseIn (echoPin, HIGH); 거리 = 0.034 * (기간 / 2); if (distance> 50) // 장애물이 없으면 앞으로 이동 {digitalWrite (enable1pin, HIGH); digitalWrite (enable2pin, HIGH); digitalWrite (motor1pin1, HIGH); digitalWrite (motor1pin2, LOW); digitalWrite (motor2pin1, HIGH); digitalWrite (motor2pin2, LOW); } else if (거리<50) // Sharp Right Turn if an obstacle found { digitalWrite(enable1pin, HIGH); digitalWrite(enable2pin, HIGH); digitalWrite(motor1pin1, HIGH); digitalWrite(motor1pin2, LOW); digitalWrite(motor2pin1, LOW); digitalWrite(motor2pin2, LOW); } delay(300); // delay }

이제 자동 바닥 청소 로봇을 만드는 데 필요한 모든 것을 논의 했으므로 저렴하고 효율적인 바닥 청소 로봇을 만드십시오.