로봇을 사용하여 주방 선반 주위로 요리를 이동하는 방법?

주방의 매력과 기능을 극적으로 향상시킬 방법을 찾고 있다면 그곳에서 사람의 노력을 최소화하는 것이 좋습니다. 부엌에있을 가정용 로봇을 만들어 인간의 노력을 최소화 할 수 있으며 더러운 식기를 싱크대쪽으로 옮겨 그곳에서 멈출 것입니다. 사람이 로봇에서 도구를 내리면 다시 돌아와서 더 많이 가져옵니다. 때로는 큰 주방에서 세면대가 캐비닛에 너무 가깝지 않아 로봇이 선반의 한 곳에서 다른 곳으로 접시를 가져갑니다. 로봇의 경로는 검은 색 테이프를 사용하여 선반에 만들어집니다. 로봇은 두 개의 적외선 근접 센서를 사용하여 경로를 감지하고 센서에서 수신 한 입력을 기반으로 Arduino는 모터 드라이버의 도움을 받아 모터가 움직 이도록 지시합니다.



국내 로봇

국내 로봇을 만드는 데 필요한 모든 주변 장치를 연결하는 방법은 무엇입니까?

이제 필요한 구성 요소를 모아 로봇 ​​제작을 시작해야합니다.



1 단계 : 사용 된 구성 요소

  • Arduino 우노
  • IR 센서 (x5)
  • DC 모터
  • 자동차 휠 체이스
  • 블랙 테이프
  • 점퍼 와이어
  • DC 배터리
  • 글루건
  • 스크류 드라이버 세트

2 단계 : 구성 요소 연구

이미 구성 요소 목록을 만들었으므로 한 단계 더 나아가 각 구성 요소의 작동에 대해 간략하게 살펴 보겠습니다.



그만큼 Arduino UNO 아두 이노 .cc에서 개발 한 마이크로 칩 ATMega 328P로 구성된 마이크로 컨트롤러 보드입니다. 이 보드에는 다른 확장 보드 또는 회로와 인터페이스 할 수있는 디지털 및 아날로그 데이터 핀 세트가 있습니다. 이 보드에는 14 개의 디지털 핀, 6 개의 아날로그 핀이 있으며 유형 B USB 케이블을 통해 Arduino IDE (통합 개발 환경)로 프로그래밍 할 수 있습니다. 전원을 공급하려면 5V가 필요합니다. 의 위에 그리고 C 코드 작동합니다.



Arduino UNO

L298N 모터 드라이버는 DC 모터를 작동하는 데 사용됩니다. L298N은 2 개의 DC 모터를 동시에 속도와 방향을 제어 할 수있는 듀얼 H- 브리지 모터 드라이버입니다. 이 모듈은 최대 2A의 피크 전류로 5V에서 35V 사이의 전압을 갖는 DC 모터를 구동 할 수 있습니다. 모터 VCC 단자에서 사용되는 전압에 따라 다릅니다. 우리 프로젝트에서는 IC가 제대로 작동하기 위해 5V 전원 공급 장치에 연결해야하므로 5V 핀이 입력으로 사용됩니다. DC 모터가 연결된 L298N 모터 드라이버의 회로도 L298N 모터 드라이버의 메커니즘을 이해하기 위해 아래에 나와 있습니다. 데모를 위해 입력은 논리 상태 IR 센서 대신.

Proteus 8 Professional에서 만든 회로도



3 단계 : 블록 다이어그램 및 작동 원리 이해

먼저 블록 다이어그램을 살펴보고 작동 원리를 이해 한 다음 하드웨어 구성 요소를 조립하는 방향으로 이동합니다.

블록 다이어그램

우리가 사용할 센서는 디지털이며 출력을 0 또는 1로 제공 할 수 있습니다. 우리가 구매 한이 센서는 1 흰색 표면에 0 검은 표면에. 우리가 구매하는 센서는 임의의 값을 제공합니다. 0 흰색 표면에 1 검은 표면에. 이 로봇에서 5 개의 센서를 사용할 것입니다. 5 개의 센서에 대한 코드에는 4 개의 조건이 있습니다.

  1. 라인에 전진 : 중간 센서가 검은 색 표면에 있고 나머지 센서가 흰색 표면에 있으면 전진 조건이 실행되고 로봇이 직진합니다. 우리가 시작하면 센서 1 그리고까지 진행 센서 5, 각 센서가 각각 제공 할 값은 (1 1 0 1) .
  2. 급 우회전 :센서 1센서 2 흰색 표면에 나머지 센서가 검은 색 표면에 있으면 급 우회전 조건이 실행되고 로봇이 급 우회전합니다. 우리가 시작하면 센서 1 그리고까지 진행 센서 5, 각 센서가 각각 제공 할 값은 (1 1 0 0 0).
  3. 급 좌회전 :센서 4센서 5 흰색 표면에 나머지 센서가 검은 색 표면에 있으면 급 좌회전 조건이 실행되고 로봇이 급 좌회전합니다. 우리가 시작하면 센서 1 그리고까지 진행 센서 5, 각 센서가 각각 제공 할 값은 (00 1 1) .
  4. 중지: 5 개의 센서가 모두 검은 색 표면에 있으면 로봇이 멈추고 모터가 회전합니다. 떨어져서. 5 개의 검은 색 표면이있는이 지점은 식기 세척기가 세척을 위해 로봇에서 접시를 꺼낼 수 있도록 싱크대 근처에 있습니다.

검은 색 테이프를 사용하여 주방 선반에 경로를 만들고 그 경로는 싱크대 근처에서 끝나므로 로봇은 싱크대 근처에서 멈추고 식기 세척기는 접시를 내리고 로봇은 경로를 향해 이동하여 도구를 찾습니다. 다시.

로봇의 궤도

4 단계 : Arduino 시작하기

이전에 아두 이노 IDE에 익숙하지 않더라도 걱정하지 마세요. 아래에서 아두 이노 IDE를 사용하여 마이크로 컨트롤러 보드에서 코드를 굽는 명확한 단계를 볼 수 있습니다. 최신 버전의 Arduino IDE를 다운로드 할 수 있습니다. 여기 아래 단계를 따르십시오.

  1. Arduino 보드가 PC에 연결되면 '제어판'을 열고 '하드웨어 및 소리'를 클릭합니다. 그런 다음 '장치 및 프린터'를 클릭합니다. Arduino 보드가 연결된 포트의 이름을 찾으십시오. 제 경우에는 'COM14'이지만 PC에서는 다를 수 있습니다.

    포트 찾기

  2. 이제 Arduino IDE를 엽니 다. 도구에서 Arduino 보드를 Arduino / Genuino UNO.

    설정 보드

  3. 동일한 도구 메뉴에서 제어판에서 본 포트 번호를 설정합니다.

    포트 설정

  4. 아래 첨부 된 코드를 다운로드하여 IDE에 복사하십시오. 코드를 업로드하려면 업로드 버튼을 클릭하십시오.

다음에서 코드를 다운로드 할 수 있습니다. 여기

5 단계 : 코드 이해

코드는 매우 간단합니다. 아래에 간략하게 설명되어 있습니다.

  1. 코드 시작시 센서 핀이 초기화되고 이와 함께 모터 드라이버 L298N의 핀도 초기화됩니다.
    int enable1pin = 10; // 모터 1의 아날로그 입력을위한 PWM 핀 초기화 int motor1pin1 = 2; // 모터 1의 포지티브 핀 초기화 int motor1pin2 = 3; // 모터 1에 대한 음의 핀 초기화 int enable2pin = 11; // 모터 2의 아날로그 입력을위한 PWM 핀 초기화 int motor2pin1 = 4; // 모터 2의 포지티브 핀 초기화 int motor2pin2 = 5; // 모터 2의 음의 핀 초기화 int S1 = 12; // 센서 1의 핀 12 초기화 int S2 = 9; // 센서 2의 핀 9 초기화 int S3 = 8; // 센서 3의 핀 8 초기화 int S4 = 7; // 센서 4의 핀 7 초기화 int S5 = 6; // 센서 5의 핀 6 초기화
  2. 무효 설정 () 핀을 INPUT 또는 OUTPUT으로 설정하는 데 사용되는 기능입니다. 또한 Arduino의 전송 속도를 설정합니다. 전송 속도는 마이크로 컨트롤러 보드가 연결된 다른 구성 요소와 통신하는 속도입니다.
    {pinMode (enable1pin, OUTPUT); // 모터 1에 대해 PWM 활성화 pinMode (enable2pin, OUTPUT); // 모터 2에 대한 PWM 활성화 pinMode (motor1pin1, OUTPUT); // motor1 pin1을 출력 pinMode (motor1pin2, OUTPUT); // motor1 pin2를 출력 pinMode (motor2pin1, OUTPUT); // motor2 pin1을 출력 pinMode (motor2pin2, OUTPUT); // motor2 pin2를 출력 pinMode (S1, INPUT); // 센서 1을 입력 pinMode (S2, INPUT); // 센서 2를 입력 pinMode (S3, INPUT); // 센서 3을 입력 pinMode (S4, INPUT); // 센서 4를 입력 pinMode (S5, INPUT); // 센서 5를 입력으로 설정 Serial.begin (9600); // 전송 속도 설정}
  3. 무효 루프 () 주기적으로 반복해서 실행되는 기능입니다. 이 루프에서는 수행 할 작업을 Arduino UNO에 지시합니다. 모터의 최대 속도는 255이고 두 모터의 속도가 다릅니다. 따라서 로봇을 앞으로 움직이려면 우회전 등 모터의 속도를 조정해야합니다. 서로 다른 조건에서 두 모터의 속도를 변경하기 위해 코드에서 아날로그 핀을 사용했습니다. 모터의 속도를 직접 조정할 수 있습니다.
    void loop () {if (! (digitalRead (S1)) &&! (digitalRead (S2)) && (digitalRead (S3)) &&! (digitalRead (S4)) &&! (digitalRead (S5))) // Forward on 라인 {analogWrite (enable1pin, 61); // 모터 1 속도 analogWrite (enable2pin, 63); // 모터 2 속도 digitalWrite (motor1pin1, HIGH); // 모터 1 핀 1이 High로 설정 됨 digitalWrite (motor1pin2, LOW); // 모터 1 핀 2가 로우로 설정 됨 digitalWrite (motor2pin1, HIGH); // Motor 2 핀 1이 High로 설정 됨 digitalWrite (motor2pin2, LOW); // Motor 2 핀 2를 Low로 설정} if (! (digitalRead (S1)) &&! (digitalRead (S2)) && (digitalRead (S3)) && (digitalRead (S4)) && (digitalRead (S5))) / / 급 우회전 {analogWrite (enable1pin, 60); // 모터 1 속도 analogWrite (enable2pin, 80); // 모터 2 속도 digitalWrite (motor1pin1, HIGH); // 모터 1 핀 1이 High로 설정 됨 digitalWrite (motor1pin2, LOW); // 모터 1 핀 2가 로우로 설정 됨 digitalWrite (motor2pin1, LOW); // 모터 2 핀 1이 로우로 설정 됨 digitalWrite (motor2pin2, LOW); // 모터 2 핀 2가 Low로 설정 됨} if ((digitalRead (S1)) && (digitalRead (S2)) && (digitalRead (S3)) &&! (digitalRead (S4)) &&! (digitalRead (S5))) / / 날카로운 좌회전 {analogWrite (enable1pin, 80); // 모터 1 속도 analogWrite (enable2pin, 65); // 모터 2 속도 digitalWrite (motor1pin1, LOW); // 모터 1 핀 1이 Low로 설정 됨 digitalWrite (motor1pin2, LOW); // 모터 1 핀 2가 로우로 설정 됨 digitalWrite (motor2pin1, HIGH); // Motor 2 핀 1이 High로 설정 됨 digitalWrite (motor2pin2, LOW); // Motor 2 핀 2를 Low로 설정} if ((digitalRead (S1)) && (digitalRead (S2)) && (digitalRead (S3)) && (digitalRead (S4)) && (digitalRead (S5))) // 중지 {analogWrite (enable1pin, 0); // 모터 1 속도 analogWrite (enable2pin, 0); // 모터 2 속도 digitalWrite (motor1pin1, LOW); // 모터 1 핀 1이 Low로 설정 됨 digitalWrite (motor1pin2, LOW); // 모터 1 핀 2가 로우로 설정 됨 digitalWrite (motor2pin1, LOW); // 모터 2 핀 1이 로우로 설정 됨 digitalWrite (motor2pin2, LOW); // 모터 2 핀 2를 Low로 설정}}

응용

  1. 산업 응용 :이 로봇은 기존 컨베이어 벨트를 대체하는 산업에서 자동화 장비 캐리어로 사용할 수 있습니다.
  2. 국내 응용 : 바닥 청소, 주방 작업 등 가정에서 사용할 수 있습니다.
  3. 안내 신청 :이 로봇은 쇼핑몰, 푸드 코트, 박물관 등 공공 장소에서 길 안내를 제공 할 수 있습니다.