회로

로봇을 만드는 방법 - 수업 2 : 기본 Arduino 로봇 만들기 : 19 단계

#240 Time to Say Goodbye to Arduino and Go On to Micropython/ Adafruit Circuitpython?

#240 Time to Say Goodbye to Arduino and Go On to Micropython/ Adafruit Circuitpython?

차례:

Anonim

첫 번째 강의 (로봇 제작 방법 - 소개)에 이어 Arduino 로봇이 무엇인지, 로봇을 만드는 데 필요한 도구와 도구를 사용하는 방법에 대한 기본 지식을 얻었습니다. 자, 이제 시작하겠습니다!

이 두 번째 자습서에서는 기본 Arduino 로봇을 만드는 방법을 배우게됩니다. 이 튜토리얼을 쉽게 이해할 수 있도록 Arduino 로봇 키트 (Pirate : 4WD Arduino Mobile Robot Kit with Bluetooth 4.0)를 예제로 사용합니다.

강의 메뉴 :

수업 1 : 소개

2 단원 : 기본 Arduino Robo 빌드

3 단원 : 라인 추적 Arduino 로봇 제작

4 단원 : 장애물을 피할 수있는 Arduino 로봇 제작

수업 5 : 빛과 소리 효과로 Arduino 로봇 만들기

6 단원 : 환경을 모니터링 할 수있는 Arduino 로봇 제작

7 단원 : Bluetooth로 제어되는 Arduino 로봇 만들기

조립 설명서

1 단계 : 직접 모터 조립

부품 가방에 8 개의 긴 나사가 있는지 살펴보십시오. 이것들은 모터를 제자리에 고정시키고 고정하는 데 사용됩니다. 모터를 올바른 위치에 놓은 다음 아래 그림과 같이 제자리에 끼워 넣으십시오.

와셔와 개스킷도 부품 백에 포함되어 있습니다. 와셔는 모터를 고정시키는 데 도움이되는 마찰을 늘리는 데 사용할 수 있습니다. 개스킷은 로봇의 움직임과 충돌로 인해 나사 너트가 느슨해 지거나 떨어지는 것을 방지합니다.

용품:

1 단계:

2 단계 : 케이블 납땜

검정색과 빨간색 전선을 부품 가방에서 꺼냅니다. 검정색과 빨간색 케이블 1 개 (길이 15cm)를 각 모터에 연결하십시오 (총 4 개의 모터). 그런 다음 와이어 스트리퍼를 사용하여 전선 양쪽 끝의 절연체를 벗겨냅니다 (너무 많이 벗겨 내지 마십시오. 아래 그림 참조). 다음으로, 전선을 모터에 부착 된 핀에 납땜하십시오. 네 개의 모든 모터에 대해 납땜 공정을 반복하십시오.

참고 : 납땜시 빨간색과 검은 색 와이어의 정확한 위치에주의하십시오. 자세한 내용은 다음 사진을 참조하십시오.

2 단계:

3 단계 : Romeo BLE 컨트롤러 조립

부품 가방에 3 개의 구리 지지대가 있는지 살펴보십시오. 1cm 길이의 지지대는 Romeo 컨트롤러 보드를 고정하는 데 사용됩니다. 아래 그림과 같이 컨트롤러 보드에는 세 개의 구멍이 있습니다. 구리 지지대 3 개를 구멍에 넣은 다음 해당 나사로 제자리에 고정하십시오.

3 단계 :

4 단계 : 배터리 함 조립

2 개의 접시 머리 나사 (헤드가 평평합니다)를 꺼내십시오. 그런 다음 아래 그림과 같이 배터리를 자동차 바닥에 부착하십시오.

4 단계 :

5 단계 : 전원 스위치 제작

배터리는 로봇의 필수적인 피입니다. 전력 사용을 제어하려면 전원 스위치를 사용해야합니다. 사용하지 않을 때는 스위치가 전원을 차단하여 전기 및 배터리 수명을 보존합니다. 전원 스위치를 조립하고 설치하기 전에 아래 그림을 참조하십시오.

스위치를 조립할 때 개스킷과 나사 너트의 순서에주의하십시오.

5 단계 :

스위치를 조립 한 후에 우리는 전선의 납땜을 시작하려고합니다. 전에 남은 와이어 중 일부를 가져 가십시오. 와이어의 내부가 노출되도록 전선의 양단에서 와이어를 벗 깁니다 (이전 모터와 동일한 프로세스). 노출 된 선의 끝을 스위치의 핀에 납땜하고 싶습니다. 솔더링 할 때 스위치 핀의 위치를 ​​기록하는 것이 매우 중요합니다.

6 단계 :

이 단계를 단계별로 수행해 보겠습니다.

a) 스위치를 배터리 충전기에 연결하십시오. 두 항목의 정확한 위치에주의하십시오.

7 단계 :

b) 아래 그림과 같이 스위치와 배터리 충전기를 연결하는 빨간색 케이블을 납땜하십시오.

8 단계 :

사물을 더 분명하게 만드는 또 다른 그림이 있습니다.

c) 마지막으로 빨간색 케이블 한 개와 검정 케이블 한 개를 가져갑니다. 한 케이블의 한쪽 끝을 배터리 충전기의 음극에 연결하고 다른 케이블의 한 쪽 끝을 배터리 충전기의 양극에 연결하십시오. 그런 다음 두 케이블의 다른 쪽 끝을 Romeo BLE 컨트롤러에 연결하십시오.

9 단계 :

c) 마지막으로 빨간색 케이블 한 개와 검정 케이블 한 개를 가져갑니다. 한 케이블의 한쪽 끝을 배터리 충전기의 음극에 연결하고 다른 케이블의 한 쪽 끝을 배터리 충전기의 양극에 연결하십시오. 그런 다음 두 케이블의 다른 쪽 끝을 Romeo BLE 컨트롤러에 연결하십시오.

10 단계 :

이 확대 그림을 보면 와이어를 어떻게 연결해야하는지 더 잘 이해할 수 있습니다. 납땜 후, 배터리와 Romeo 컨트롤러 사이의 배선이 처음부터 끝까지 일관되고 위의 그림과 일치하는지 확인하십시오.

STEP6 : 자동차베이스 조립

M3x6mm 나사 8 개를 사용하여 아래 그림과 같이 측면 및 후면 범퍼 플레이트에 측면 플레이트를 부착하십시오.

참고 :이 단계에서 나사를 조일 때 처음에 나사를 완전히 조이지 않도록하십시오. 이렇게 조정해야 할 경우 나중에 단계에서 상단 보드를 쉽게 분리 할 수 ​​있습니다.

11 단계 :

그런 다음 아래 그림과 같이 차량의 본체에 기 판을 다시 부착하십시오.

12 단계 :

** 이것은 조립 된 후에 자동차베이스가 좋아해야하는 것입니다 - 배터리 팩을 설치하는 것을 잊지 마십시오!

STEP7 : 마이크로 컨트롤러 보드에 모터 연결

이제 마이크로 컨트롤러 보드가있는 모터가 필요합니다. 다음 다이어그램을주의 깊게 따르십시오. 왼쪽 모터의 빨간색과 검정색 선은 M2에 납땜되어야합니다. 오른쪽 모터의 빨간색과 검정색 선은 M1에 납땜되어야합니다. 배터리 팩에 특히주의하십시오 : 검은 색 와이어는 GND를 나타내는 와이어 포트에 납땜되어야하며 빨간색 와이어는 VND라고 표시된 와이어 포트에 납땜되어야합니다. 드라이버를 사용하여 와이어 포트를 느슨하게하고 조입니다. 와이어가 삽입되면이 포트가 잘 고정되었는지 확인하십시오.

참고 : 한 모터 (즉, 왼쪽 모터)의 전선이 모터 포트에 납땜되었는지 확인하십시오. (아래 다이어그램의 M2 포트 - 하나의 모터 와이어를 두 개의 개별 포트에 납땜하지 마십시오.)

13 단계 :

모터 와이어를 마이크로 컨트롤러 보드에 납땜 한 후, 자동차의 바닥에 상단 플레이트를 부착 할 준비가되었습니다.

상단 판을 부착하기 전에 센서 판을 부착 할 수 있습니다 (아래 그림 참조). 센서를 사용하지 않으려는 경우이 추가 단계를 건너 뛸 수 있습니다.

단계 14 :

플랫폼 상단을 부착 한 후 로봇 플랫폼은 아래 그림과 유사해야합니다.

15 단계 :

STEP8 : 로봇에 추가 레벨 부착

베이스의 상단 플레이트에있는 4 개의 구멍을 찾으십시오. 4 개의 M3x60mm 구리 스탠드 오프를 나사로 조인 다음 아래 그림과 같이 추가 상단 플레이트를 부착하십시오 - M3x6mm 나사를 사용하여 플레이트를 구리 스탠드 오프에 부착하십시오.

단계 16 :

로봇 플랫폼에 바퀴를 던져 채찍질 할 준비가되었습니다!

17 단계 :

코딩

조립이 끝나면 코드를 마이크로 컨트롤러에 업로드하고 Arduino 로봇을 움직일 시간입니다. 로봇은 일단 조립되면 움직일 수있는 모든 구성 요소를 갖추고 있습니다. "MotorTest.ino"라는 Arduino 파일의 샘플 코드를 살펴보십시오.

샘플 코드 MotorTest :

#포함

DFMobile 로봇 (4,5,7,6); // 모터 핀을 시작한다.

void setup () {

로봇 방향. (LOW, HIGH); // 긍정적 인 방향을 시작합니다.

}

무효 루프 () {

Robot.Speed ​​(255,255); //앞으로

지연 (1000);

Robot.Speed ​​(-255, -255); //뒤로

지연 (2000);

}

코드를 다운로드 한 다음 마이크로 컨트롤러에 업로드하십시오. 모터와 바퀴는 서둘러 살아야합니다. 그렇지 않은 경우 배터리와 전원 스위치가 올바르게 설치되어 있는지 확인하십시오. 모터가 작동하면 축하드립니다! 큰 단계를 거쳤습니다. 고무를 길에 대면 할 때가되었습니다.

그런 다음 로봇 차량을 관찰하고 로봇이 1 초 이내에 앞으로 움직일 수 있는지 확인하고 1 초 이내에 다시 이동하십시오. 그게 사실이라면, 좋은 행운. 구성 요소를 조정할 필요가 없습니다. 자동차베이스 또는 모터를 약간 조정해야하는 경우 로봇이 움직이는 방법에 대한 다음 정보를 찾으십시오.

로봇 플랫폼이 위에 표시된 코드를 따르는 지 확인하십시오. 1 초 동안 앞으로 이동 한 다음 1 초 동안 뒤집어야합니다. 그렇다면 콘텐츠를 아래에 스키밍하면 준비가 완료됩니다.

그러나 대부분의 사람들은 모터를 조정해야합니다. 먼저 로봇의 모터 기능과 코드가 어떻게 작동하는지 간단히 살펴 보겠습니다.

로봇을 앞으로 움직이게 만드는 방법이 질문을 이해하기 위해 먼저 로봇의 전진 운동을 살펴 봅시다.

아래의 그림은이 전진 운동을 보여줍니다.

18 단계 :

위의 빨간색 화살표는 바퀴의 방향을 나타냅니다. 위의지도에서 볼 수 있듯이 자동차는 좌우 바퀴 / 모터가 앞으로 나아갈 경우에만 앞으로 움직일 수 있습니다. 위에 표시된 것처럼 Arduino 로봇은 왼쪽 및 오른쪽 모터와 휠이 모두 앞으로 움직일 때만 앞으로 움직입니다.

코드 개요

코드의 첫 번째 줄은 다음과 같습니다.

#include // 라이브러리 호출

우리는이 선에 대해 너무 많이 생각할 필요가 없습니다. 우리가하고있는 모든 작업은 Arduino의 기본 프레임 워크 외부에 존재하는 DFMobile 라이브러리 세트를 호출하거나 사용하는 것입니다. Arduino 라이브러리에 대한 자세한 내용은 Arduino 웹 사이트를 참조하십시오.

다음 코드 행은 다음과 같습니다.

DFMobile 로봇 (4,5,7,6); // 모터 핀을 시작한다.

이 함수는 DFMobile 라이브러리에서 가져온 것입니다 (즉, 범용 Arduino 함수는 아닙니다).여기서는 마이크로 컨트롤러에서 모터 핀 (4, 5, 7, 6)을 초기화하는 데 사용합니다.이 경우 모터가 시작되지 않습니다.

나중에이 함수를 사용할 것입니다.

아래 기능을 살펴보십시오.

DF 모바일 로봇

(EnLeftPin, LeftSpeedPin, EnRightPin, RightSpeedPin);

이 기능은 4 개의 모터 핀 (4, 5, 7, 6)을 초기화하는 데 사용되며 4 개의 개별 파라미터로 나뉩니다 :

EnLeftPin : 왼쪽 모터 방향을 제어하는 ​​핀

LeftSpeedPin : 왼쪽 모터 속도를 제어하는 ​​핀

EnRightPin : 오른쪽 모터 방향을 제어하는 ​​핀

RightSpeedPin : 오른쪽 모터 속도를 제어하는 ​​핀

참고 :이 기능을 포함하지 않으면 로봇의 모터가 작동하지 않습니다. 또한이 함수는 Arduino 스케치의 void setup () 필드 내에 있어야합니다.

전에 로봇의 전진 동작을 테스트 할 때 특정 문제가 발생했을 수 있습니다. 차가 드리프트를 시작하고 방향을 바꾸고 코드를 따르지 않게됩니다. 이것은 모터 와이어가 올바른 방법으로 배터리에 납땜되지 않기 때문입니다.

코드를 통해이 문제를 해결할 수 있습니다. LOW / HIGH 값을 사용하여 자동차 회전 방향을 조정할 수 있습니다.

로봇 자동차의 직선 방향을 조정하는 방법?

모터와 휠의 방향을 조정하려면 다음 코드 줄이 필요합니다.

로봇 방향. (LOW, HIGH);

함수는 다음과 같습니다.

로봇 방향. (LeftDirection, RightDirection);

이 기능은 모터가 정방향으로 움직이게합니다. 이 함수는 두 개의 매개 변수로 나뉩니다 : LeftDirection & RightDirection : Arduino 코드에 LOW 또는 HIGH로 기록됩니다.

앞서 우리는 Arduino 로봇을 앞으로 나아갈 수있는 방법을 간략히 살펴 보았습니다. 여기서는 LOW / HIGH를 사용하여 로봇의 횡 방향 움직임을 수정합니다. 예를 들어, LeftDirection은 샘플 코드에서 LOW로 설정됩니다. 그러나 로봇 자동차의 왼쪽 바퀴는 앞으로 회전하지 않고 뒤로 회전 할 수 있습니다. 이제 LeftDirection을 LOW에서 HIGH로 변경하면됩니다. 동일한 방법이 오른쪽 바퀴에도 적용됩니다.

예 :이 샘플 코드에서 LeftDirection은 LOW로 구성됩니다. 왼쪽 바퀴는 앞으로 나아갈 것이 아니라 뒤쪽으로 움직여야한다고 가정하십시오. 이 경우 LeftDirection의 구성을 낮음에서 높음으로 변경하십시오. 일단 HIGH로 변경하면 코드를 한 번 더 업로드하십시오. 왼쪽 휠이 거꾸로가 아니라 앞으로 앞으로 움직이는 것을 볼 수 있습니다. 이 조정이 작동하면 RightDirection (LOW에서 HIGH로 또는 그 반대로)에 대해 동일한 작업을 수행하십시오.

Arduino 로봇의 방향을 성공적으로 조정하면 설정됩니다! 축하합니다. 이제 모든 로봇의 기본 기능을 사용할 수 있습니다. 끝내기 전에, Robot.Speed ​​() 함수에 대해 간략하게 논의 할 가치가 있습니다.

다음 기능을 사용하십시오.

Robot.Speed ​​(LeftSpeed, RightSpeed);

두 요소 (LeftSpeed ​​및 RightSpeed)가있는이 함수는 모터의 속도를 설정하는 데 사용됩니다. -255에서 255 사이의 숫자를 쓸 수 있습니다. 255는 최대 숫자이고 빼기 기호는 방향을 나타냅니다.

이 기능은 모터의 속도를 구성하는 데 사용됩니다. 이 함수는 LeftSpeed ​​및 RightSpeed의 두 매개 변수로 나뉩니다. 이 매개 변수는 Arduino 코드로 -255에서 255 사이의 값으로 작성됩니다. 255는 앞으로 나아가는 가장 빠른 속도입니다. -255는 뒤로 움직이는 가장 빠른 속도입니다 (즉, 뒤집기).

우리는 이미 코드의 void setup () 부분에서 로봇의 속도를 구성했습니다. 이제 speed () 함수를 사용하여 자동차의 속도를 제어하고 앞으로 / 뒤로 방향을 제어 할 수 있습니다.

다음 두 줄을 이해할 수 있는지 확인하십시오.

Robot.Speed ​​(255,255);

Robot.Speed ​​(-255, -255);

첫 번째 줄은 차가 전속으로 전진하는 것을 보여줍니다. 전진시 전진합니다 (예 : 대령). 두 번째 줄은 차가 전속으로 후진 (역전)하는 모습을 보여줍니다.

이러한 의미에서, speed ()는 필수 기능입니다. 다음 마지막 섹션 인 로봇이 움직이고 움직이는 원리에 대해 살펴 보겠습니다.

로봇이 움직이고 회전하는 방법

아래지도는 로봇 자동차의 일반적인 이동 방법을 보여줍니다. 예를 들어, 왼쪽 방향의 속도가 0 인 경우, 오른쪽 바퀴에 앞으로 힘을 주면 로봇이 왼쪽으로 회전합니다.

다음 다이어그램은 Arduino 로봇이 움직이고 회전 할 수있는 여러 가지 방법을 보여줍니다. 예를 들어, 왼쪽 바퀴의 속도가 0으로 설정되면 오른쪽 바퀴가 앞으로 움직입니다. 따라서 Arduino 로봇이 왼쪽으로 회전합니다.

19 단계 :

고려해야 할 사항 : 정지 상태에서 로봇을 원에서 회전시킬 수있는 방법은 무엇입니까?

마지막으로, 원하는 경우 로봇의 움직임을 테스트하고 보정하기 위해 더 많은 코드를 실행할 수 있습니다. "MotorTest2.ino"파일을 엽니 다. 이 코드는 좌회전 및 우회전 외에도 전진 및 후진 이동 기능을보다 잘 이해하고 측정하는 데 도움이됩니다. 이를 염두에두고 타이어를 도로 (또는 카페트)에 놓고 찢어 버리십시오!

축하합니다. 이제 첫 번째 로봇을 만들었습니다! 그것은 전진, 후진, 좌회전 및 우회전을 할 수있는 bacis 기능을 가지고 있습니다.

흥분 느낌? 다음 자습서에서는 예를 들어 장애물이나 선로를 피할 수있는 고급 로봇을 만드는 방법을 알려 드리겠습니다.