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

서보 모터로 로봇을 피하는 장애물

구성품 및 소모품

Arduino UNO
× 1
SG90 마이크로 서보 모터
× 1
SparkFun 초음파 센서 - HC-SR04
× 1
로봇 섀시 키트 - DC 모터가 있는 2WD
× 1
점퍼 와이어(일반)
× 1
Arduino MotorShield Rev3
× 1

필요한 도구 및 기계

납땜 인두(일반)

앱 및 온라인 서비스

Arduino IDE

이 프로젝트 정보

프로젝트에 대한 모든 것

저는 Cyberjaya Malaysia에 있는 Multimedia University에서 공부하는 Media Arts Design 학생입니다. 올해는 Media Art를 공부한 감마 해입니다. Interaction Design은 학생들에게 Arduino 구성 요소를 사용하는 방법과 작동 방식을 가르치는 주제입니다. 그래서 마지막 과제에서 장애물 회피 로봇을 내 프로젝트로 선택하고 모든 구성 요소가 어떻게 작동하는지 배웁니다.

1단계:

로봇 섀시를 준비하고 조립하세요. 패키지 내부에는 몇 가지 구성 요소, 섀시, 2개의 모터, 2개의 바퀴, 앞바퀴, 배터리 홀더, 나사, 스위치 및 점퍼 와이어가 있습니다. 아래 사진:

2단계:

두 모터의 점퍼 와이어를 납땜하기 전에 DC 모터, Arduino 보드, 모터 실드, 서보 모터 및 초음파 센서와 같이 모든 구성 요소가 제대로 작동하는지 테스트하는 것이 좋습니다. 그런 다음 아래 그림의 예와 같이 두 모터의 빨간색과 검은색 와이어를 납땜하기 시작합니다.

3단계:

배터리 섀시 및 스위치 부품으로 오세요. 우리는 배터리 섀시에서 검은색 와이어의 절반만 자르고 1개의 구멍에서 1개의 와이어 측면을 납땜하면 됩니다. 다른 검은색 와이어는 다른 구멍에서 납땜됩니다. 스위치가 준비되었습니다!

4단계:

Arduino 보드와 Motor Shield 보드를 쌓아야 하고 Motor Shield는 Arduino 보드에 쌓아야 합니다. 아래 예:

5단계:

모터 실드 보드로 넘어갈 것입니다. 이 실드는 모터와 서보 모터에 전원을 공급하고 모터는 많은 전류를 필요로 하며 이 실드는 각 모터에 최대 600mA의 전류를 공급할 수 있습니다. 모터 실드 보드에서 DC 모터 와이어를 납땜/고정해야 합니다. DC 모터 와이어가 모터 쉴드에 도달하기에 충분히 길면 훌륭할 것입니다. 그렇지 않은 경우 외부 점퍼 와이어를 사용해야 할 수도 있습니다(남/녀 점퍼 와이어 상관 없음), 점퍼 와이어 헤드를 자르고 내부를 확인하십시오. 구리선이 나타납니다. (동선이 보이도록 점퍼선 고무를 잘라야 합니다.) 그리고 외부 전선을 DC 모터 전선에 납땜해야 합니다. 예:

그런 다음 왼쪽 모터 와이어를 모터 실드의 M1 커넥터에 연결합니다. 오른쪽 모터 와이어는 모터 실드 보드에서 M3 커넥터에 연결됩니다. 예:

6단계:

그런 다음 배터리 스위치 와이어를 빨간색과 검은색 와이어 모두를 모터 실드 보드에 연결해야 합니다.

그런 다음 5V, GND, 아날로그 핀 4 및 아날로그 핀 5에 납땜할 수 있는 암수 점퍼 와이어를 준비해야 합니다. 그 전에 암수 점퍼 와이어의 동일한 색상을 찾아 반으로 잘라야 합니다. . 왜 같은 색이어야 합니까? 먼저 어떤 와이어가 어느 부분에 해당하는지 쉽게 식별할 수 있습니다. 둘째, 흰색 Male 점퍼 와이어는 5V에 연결되는 흰색 Female 점퍼 와이어로 납땜됩니다. 검정색 남성 점퍼 와이어는 암 점퍼 와이어로 납땜되고 남성 점퍼 와이어는 GND에 납땜됩니다. 주황색 남성 점퍼 와이어는 주황색 여성 점퍼 와이어로 납땜되고 주황색 남성 점퍼 와이어는 아날로그 핀 5에서 납땜됩니다. 마지막으로 갈색 남성 점퍼 와이어는 암갈색 점퍼 와이어로 납땜한 다음 갈색 남성 점퍼 와이어는 에 납땜됩니다. 아날로그 핀 4. 예:

7단계:

로봇 섀시에 양쪽 실드를 부착하기 위해 양면 테이프 또는 핫 글루 건을 사용할 수 있습니다.

8단계:초음파 센서 부분으로 이동

지금 납땜한 암/수 점퍼선 중에서 흰색 점퍼선(5V)(암놈 사이트 점퍼선)이 초음파 센서 VCC 핀에 연결됩니다. 검은색 점퍼선(GND)(암놈 사이트 점퍼선)이 GND 핀에 연결됩니다. Echo 핀에 갈색 점퍼선(Analog Pin 4)(암 사이트 점퍼선)을 연결합니다. 주황색 점퍼선(아날로그 5번 핀)(암놈 사이트 점퍼선)이 TRIG 핀에 연결됩니다.

9단계:

마지막으로 For Servo 모터는 서보_2 슬롯에 연결됩니다. 참고*(서보 모터 유형은 거의 없습니다. 서보 모터가 서보_2 슬롯에 연결되는 방법에 대해서는 온라인에서 찾아야 할 수도 있습니다.) 아래는 내 자신의 서보 슬롯 버전입니다.

마지막 단계:코드

이 장애물 회피 로봇의 경우 Motor Shield 드라이버용 Motor Shield 라이브러리인 3개의 라이브러리가 필요합니다. New Ping 라이브러리는 초음파 센서용입니다. 세 번째는 아두이노 IDE입니다. 아래는 다운로드 가능한 라이브러리 링크입니다.

<울>
  • 모터 실드 라이브러리
  • <울>
  • 새로운 Ping 라이브러리
  • 제 프로젝트를 봐주셔서 감사합니다. 지침이 명확하여 여러분이 직접 따라하고 장애물 회피 로봇을 구축할 수 있기를 바랍니다. 감사합니다!

    테스트용 동영상:

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

    코드

    <울>
  • 아두이노 IDE
  • Arduino IDE C#
    Arduino IDE에 코드를 복사하여 붙여넣은 다음 Arduino 보드에 업로드합니다.
    #include  #include  #include #define TRIG_PIN A4 #define ECHO_PIN A5#define MAX_DISTANCE_POSSIBLE 1000 #define MAX_SPEED 150 // #define MOTORS_CALIBRATION_OFFSET 3#define COLL_DIST 20 #define TURN_DIST COLL_DIST+10 NewPing 수중 음파 탐지기(TRIG_PIN, ECHO_PIN, MAX_DISTANCE_POSSIBLE);AF_DCMotor leftor1)2;3 AF_DCMotor rightMotor(1, MOTOR12_8KHZ); 서보 넥컨트롤러ServoMotor;int pos =0; int maxDist =0;int maxAngle =0;int maxRight =0;int maxLeft =0;int maxFront =0;int 코스 =0;int curDist =0;String motorSet ="";int speedSet =0; 무효 setup() { NeckControllerServoMotor.attach(10); NeckControllerServoMotor.write(90); 지연(2000); 체크패스(); motorSet ="앞으로"; NeckControllerServoMotor.write(90); moveForward();} 무효 루프() { checkForward(); checkPath();} 무효 checkPath() { int curLeft =0; 정수 curFront =0; 정수 curRight =0; 정수 curDist =0; NeckControllerServoMotor.write(144); 지연(120); for(위치 =144, 위치>=36, 위치-=18) { NeckControllerServoMotor.write(pos); 지연(90); 체크 포워드(); curDist =readPing(); if (curDist  curDist) {maxAngle =pos;} if (pos> 90 &&curDist> curLeft) { curLeft =curDist;} if (pos ==90 &&curDist> curFront) {curFront =curDist;} if (pos <90 &&curDist> curRight) {curRight =curDist;} } maxLeft =curLeft; maxRight =curRight; maxFront =curFront;} 무효 setCourse() { if (maxAngle <90) {turnRight();} if (maxAngle> 90) {turnLeft();} maxLeft =0; 최대 오른쪽 =0; maxFront =0;} 무효 checkCourse() { moveBackward(); 지연(500); 이동중지(); setCourse();} 무효 changePath() { if (pos <90) {lookLeft();} if (pos> 90) {lookRight();}}int readPing() { delay(70); unsigned int us =sonar.ping(); int cm =미국/미국_ROUNDTRIP_CM; 반환 cm;} 무효 checkForward() { if (motorSet=="FORWARD") {leftMotor.run(FORWARD); rightMotor.run(앞으로); } } 무효 checkBackward() { if (motorSet=="BACKWARD") {leftMotor.run(BACKWARD); rightMotor.run(뒤로); } } moveStop() {leftMotor.run(RELEASE); rightMotor.run(RELEASE);} 무효 moveForward() { motorSet ="FORWARD"; leftMotor.run(앞으로); rightMotor.run(앞으로); for (speedSet =0, speedSet   

    회로도


    제조공정

    1. 간단한 파이 로봇
    2. 라인 팔로워 로봇
    3. Arduino 및 Android 기기로 Roomba 로봇 제어
    4. Arduino 및 MPU6050으로 서보 모터 제어
    5. 자율 홈 어시스턴트 로봇
    6. DIY Arduino 로봇 팔 – 손 제스처로 제어
    7. Android 앱으로 Arduino 로봇 팔 제어
    8. 멋진 실내 내비게이션용 로봇
    9. 서보 모터 란 무엇입니까?
    10. 기어헤드와 서보 모터 페어링