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

패스파인더: 아두이노 우노 기반 장애물 회피 로봇 키트 - 부품 및 제작 가이드

필요한 부품 및 소모품

필요한 도구 및 장비

필요한 앱 및 온라인 서비스

프로젝트 개요

자율 주행 장애물 회피 로봇 '패스파인더'의 설계 및 구현입니다. 아두이노 우노와 아다프루트 모터 쉴드 기반으로 아두이노 IDE에서 프로그래밍했습니다.

핵심 특징

패스파인더: 아두이노 우노 기반 장애물 회피 로봇 키트 - 부품 및 제작 가이드

하드웨어 핀 매핑

#define BuzzPIN  A0  // 부저 +
#define TrigPIN  A1  // 초음파 Trig
#define EchoPIN  A2  // 초음파 Echo
#define LEDBPIN  A3  // RGB Blue
#define LEDGPIN  A4  // RGB Green
#define LEDRPIN  A5  // RGB Red
#define DCMROFF  25  // 좌/우 모터 속도 보정 오프셋

동작 알고리즘

전방 거리 측정 후 4구간으로 나누어 반응:

거리 구간LED 색상부저모터 속도동작
< 30cm빨강ON100 (저속)후진 → 좌/우 스캔 → 빈 쪽으로 회전
30~60cm파랑OFF150 (중저속)전진
60~90cm초록OFF200 (중고속)전진
≥ 90cm흰색 (RGB 모두 ON)OFF250 (최고속)전진

장애물 발견 시(<30cm): 정지 → 후진 → 서보를 우측(12°)/좌측(160°) 회전해 거리 측정 → 더 먼 쪽으로 회전 → 동일 거리면 180도 회전.

패스파인더: 아두이노 우노 기반 장애물 회피 로봇 키트 - 부품 및 제작 가이드

전체 소스 코드

#include <AFMotor.h>  // 아다프루트 모터 쉴드 라이브러리
#include <Servo.h>   // 서보 라이브러리

#define BuzzPIN A0
#define TrigPIN A1
#define EchoPIN A2
#define LEDBPIN A3
#define LEDGPIN A4
#define LEDRPIN A5
#define DCMROFF 25

AF_DCMotor M1(1, MOTOR12_64KHZ);  // 좌측 모터
AF_DCMotor M2(2, MOTOR12_64KHZ);  // 우측 모터
Servo SER1;                        // 초음파 센서 서보

int Search() {
  float duration = 0, cm = 0;
  digitalWrite(TrigPIN, LOW); delayMicroseconds(2);
  digitalWrite(TrigPIN, HIGH); delayMicroseconds(10);
  digitalWrite(TrigPIN, LOW);
  duration = pulseIn(EchoPIN, HIGH);
  cm = duration / 58.8;
  return (int)cm;
}

int RightDistance, LeftDistance;
float Distance = 0;

void setup() {
  pinMode(BuzzPIN, OUTPUT);
  pinMode(TrigPIN, OUTPUT);
  pinMode(EchoPIN, INPUT);
  pinMode(LEDBPIN, OUTPUT);
  pinMode(LEDGPIN, OUTPUT);
  pinMode(LEDRPIN, OUTPUT);
  SER1.attach(10);  // 모터 쉴드 서보 핀
}

void loop() {
  SER1.write(80); delay(100);  // 전방 정면
  Distance = Search();
  
  if (Distance < 30) {           // 위험 구간
    digitalWrite(BuzzPIN, HIGH);
    digitalWrite(LEDBPIN, LOW); digitalWrite(LEDGPIN, LOW); digitalWrite(LEDRPIN, HIGH);
    M1.setSpeed(100); M2.setSpeed(100);
    ChangePath();
  }
  else if (Distance >= 30 && Distance < 60) {  // 주의 구간
    digitalWrite(BuzzPIN, LOW);
    digitalWrite(LEDBPIN, HIGH); digitalWrite(LEDGPIN, LOW); digitalWrite(LEDRPIN, LOW);
    M1.setSpeed(150); M2.setSpeed(150);
    Forward();
  }
  else if (Distance >= 60 && Distance < 90) {  // 양호 구간
    digitalWrite(BuzzPIN, LOW);
    digitalWrite(LEDBPIN, LOW); digitalWrite(LEDGPIN, HIGH); digitalWrite(LEDRPIN, LOW);
    M1.setSpeed(200); M2.setSpeed(200);
    Forward();
  }
  else {                         // 안전 구간
    digitalWrite(BuzzPIN, LOW);
    digitalWrite(LEDBPIN, HIGH); digitalWrite(LEDGPIN, HIGH); digitalWrite(LEDRPIN, HIGH);
    M1.setSpeed(250); M2.setSpeed(250);
    Forward();
  }
}

void ChangePath() {
  Stop(); Backward(); Stop();
  SER1.write(12); delay(500); RightDistance = Search(); delay(500);
  SER1.write(160); delay(1000); LeftDistance = Search(); delay(500);
  SER1.write(80); delay(500);
  CompareDistance();
}

void CompareDistance() {
  if (RightDistance > LeftDistance) TurnRight();
  else if (LeftDistance > RightDistance) TurnLeft();
  else TurnAround();
}

void Forward()  { M1.run(FORWARD);  M2.run(FORWARD); }
void Backward() { M1.run(BACKWARD); M2.run(BACKWARD); delay(500); }
void TurnRight() { M1.run(BACKWARD); M2.run(FORWARD); M1.setSpeed(100+DCMROFF); delay(300); }
void TurnLeft()  { M1.run(FORWARD);  M2.run(BACKWARD); M2.setSpeed(100+DCMROFF); delay(300); }
void TurnAround(){ M1.run(FORWARD);  M2.run(BACKWARD); M2.setSpeed(100+DCMROFF); delay(700); }
void Stop()      { M1.run(RELEASE);  M2.run(RELEASE); delay(100); }

커스텀 파트 및 회로도

청소년 창의 프로젝트 쇼케이스 출품작

이 프로젝트는 청소년 메이커 페어 'Youth Zest Project Showcase' 출품작으로, 자율 로봇의 기초 원리를 학습하기에 적합한 교육용 키트입니다.

제조공정

  1. SPICE 넷리스트 문법 마스터: 부품 명명, 수동/능동 소자, 소스 정의
  2. 집적 회로(IC): 현대 전자제품을 구동하는 작고 강력한 칩
  3. 파이어베이스로 두 아두이노 간 온습도 데이터 전송하기
  4. 아두이노 디지털 주사위: LCD 기반 랜덤 넘버 제너레이터 만들기
  5. 스마트 홈 연동을 위한 다중 위치 온도 센서 시스템
  6. DIY 아두이노 USB 게임 컨트롤러 - 나만의 고성능 게임패드 만들기
  7. MOSMusic 프로젝트 키트: MOSFET, 아두이노로 음악 동기화 조명 제어
  8. 마이크로일렉트로닉스(Microelectronics) 이해: 초소형 전자공학의 과학
  9. 드릴링 머신 필수 구성 요소 종합 개요
  10. 내연기관 핵심 부품 완벽 가이드: 구조와 기능