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

아두이노 우노와 모터 쉴드를 이용한 DIY 인간 추적 로봇

부품 및 소모품

아두이노 우노와 모터 쉴드를 이용한 DIY 인간 추적 로봇Arduino UNO×1
Adafruit 모터 쉴드×1
아두이노 우노와 모터 쉴드를 이용한 DIY 인간 추적 로봇SG90 마이크로 서보 모터×1
IR 송수신기 (일반)×2
아두이노 우노와 모터 쉴드를 이용한 DIY 인간 추적 로봇초음파 센서 HC-SR04×1
아두이노 우노와 모터 쉴드를 이용한 DIY 인간 추적 로봇점퍼 와이어×1
아두이노 우노와 모터 쉴드를 이용한 DIY 인간 추적 로봇DC 모터, 12V×4
아두이노 우노와 모터 쉴드를 이용한 DIY 인간 추적 로봇Pimoroni Maker Essentials - 마이크로 모터 & 그립 휠×4
아두이노 우노와 모터 쉴드를 이용한 DIY 인간 추적 로봇9V 배터리×1
아두이노 우노와 모터 쉴드를 이용한 DIY 인간 추적 로봇로커 스위치, SPST×1

앱 및 온라인 서비스

아두이노 우노와 모터 쉴드를 이용한 DIY 인간 추적 로봇Arduino IDE

프로젝트 소개

여러분 안녕하세요... 팬데믹 시기에 모두 집에서 안전하게 지내고 계시길 바랍니다.

'사람 따라다니기 봇(Human Following Bot)'이라는 새 프로젝트를 만들었습니다.

전체 영상을 보고 집에서 직접 만들어보세요.

이 로봇은 2개의 IR 센서와 1개의 초음파 센서를 사용합니다. IR 센서는 사람이나 물체를 따라가게 하고, 초음파 센서는 로봇이 후진하게 합니다.

이 프로젝트가 마음에 든다면 좋아요 부탁드립니다.

개선 제안이나 유튜브 채널 피드백 주시면 감사하겠습니다.

채널 링크: https://studio.youtube.com/channel/UCaXI2PcsTlH5g0et67kdD6g

다음 프로젝트로 무엇을 만들지 제안도 환영합니다! "다음 프로젝트는 뭘 만들까요?"

제작 단계:

  1. 아두이노, DC 기어드 모터+바퀴, IR 센서 2개, 초음파 센서, 서보 모터, 골판지, L293D 모터 드라이버 쉴드, 9V 배터리, 스위치, 점퍼 와이어 등 준비
  2. 골판지에 4개 모터와 바퀴 장착해 차체 제작
  3. 차체에 IR 센서 부착
  4. 서보 모터 차체에 고정
  5. 초음파 센서를 박스에 넣고 손잡이 달아서 서보 모터에 장착
  6. 아두이노와 L293D 모터 쉴드 차체에 장착
  7. 회로도대로 배선
  8. 코드 업로드 후 스위치와 배터리를 L293D 모터 드라이버 쉴드에 연결
  9. IR 센서 감도 조정

프로젝트 완성! 유튜브 채널 방문해서 더 재미있는 프로젝트도 봐주세요.

"전자공학은 재미있어요"

채널이 마음에 든다면 구독 부탁드립니다.

링크: https://studio.youtube.com/channel/UCaXI2PcsTlH5g0et67kdD6g

코드

코드
// www.YouTube.com/Electronics is Fun
#include <Servo.h>
#include <AFMotor.h>
#define LEFT A0
#define echopin A1
#define trigpin A2
#define RIGHT A3

AF_DCMotor Motor1(1, MOTOR12_1KHZ);
AF_DCMotor Motor2(2, MOTOR12_1KHZ);
AF_DCMotor Motor3(3, MOTOR34_1KHZ);
AF_DCMotor Motor4(4, MOTOR34_1KHZ);

Servo myservo;
int pos = 0;
long time;

void setup() {
  Serial.begin(9600);
  myservo.attach(10);
  for (pos = 90; pos <= 180; pos += 1) { myservo.write(pos); delay(15); }
  for (pos = 180; pos >= 0; pos -= 1) { myservo.write(pos); delay(15); }
  for (pos = 0; pos <= 90; pos += 1) { myservo.write(pos); delay(15); }
  pinMode(RIGHT, INPUT);
  pinMode(LEFT, INPUT);
  pinMode(trigpin, OUTPUT);
  pinMode(echopin, INPUT);
}

void loop() {
  unsigned int distance = read_cm();
  int Right_Value = digitalRead(RIGHT);
  int Left_Value = digitalRead(LEFT);
  Serial.print("R= "); Serial.print(Right_Value);
  Serial.print(" L= "); Serial.print(Left_Value);
  Serial.print(" D= "); Serial.println(distance);

  if ((Right_Value == 1) && (distance >= 10 && distance <= 30) && (Left_Value == 1)) { forword(); }
  else if ((Right_Value == 0) && (Left_Value == 1)) { turnRight(); }
  else if ((Right_Value == 1) && (Left_Value == 0)) { turnLeft(); }
  else if ((Right_Value == 1) && (Left_Value == 1)) { stop(); }
  else if (distance > 5 && distance < 10) { stop(); }
  else if (distance < 5) { backword(); }
  delay(50);
}

long read_cm() {
  digitalWrite(trigpin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigpin, HIGH);
  delayMicroseconds(10);
  time = pulseIn(echopin, HIGH);
  return time / 29 / 2;
}

void forword() {
  Motor1.setSpeed(120); Motor1.run(FORWARD);
  Motor2.setSpeed(120); Motor2.run(FORWARD);
  Motor3.setSpeed(120); Motor3.run(FORWARD);
  Motor4.setSpeed(120); Motor4.run(FORWARD);
}

void backword() {
  Motor1.setSpeed(120); Motor1.run(BACKWARD);
  Motor2.setSpeed(120); Motor2.run(BACKWARD);
  Motor3.setSpeed(120); Motor3.run(BACKWARD);
  Motor4.setSpeed(120); Motor4.run(BACKWARD);
}

void turnRight() {
  Motor1.setSpeed(200); Motor1.run(FORWARD);
  Motor2.setSpeed(200); Motor2.run(FORWARD);
  Motor3.setSpeed(100); Motor3.run(BACKWARD);
  Motor4.setSpeed(100); Motor4.run(BACKWARD);
}

void turnLeft() {
  Motor1.setSpeed(100); Motor1.run(BACKWARD);
  Motor2.setSpeed(100); Motor2.run(BACKWARD);
  Motor3.setSpeed(200); Motor3.run(FORWARD);
  Motor4.setSpeed(200); Motor4.run(FORWARD);
}

void stop() {
  Motor1.setSpeed(0); Motor1.run(RELEASE);
  Motor2.setSpeed(0); Motor2.run(RELEASE);
  Motor3.setSpeed(0); Motor3.run(RELEASE);
  Motor4.setSpeed(0); Motor4.run(RELEASE);
}

회로도

아두이노 우노와 모터 쉴드를 이용한 DIY 인간 추적 로봇

제조공정

  1. 가변 자기저항 모터: 유형, 작동 원리 및 응용 분야
  2. Raspoulette: 태양광 자율 닭장 문 시스템 프로토타입
  3. 심플 파이 로봇 – 라즈베리파이로 2WD 자율 로버 만들기
  4. 아두이노 우노 & MAX7219로 만드는 UFO 어택 게임 – 직접 만드는 레트로 아케이드
  5. 아두이노 우노 기반 인간 감지 로봇: 센서 통합 단계별 가이드
  6. 3D RGB 아두클락(Arduclock) - 블루투스 제어 LED 타임피스 with RTC
  7. 아두이노용 양극성 스테퍼 모터 종합 라이브러리
  8. DIY 기타 스피드 픽 & 스톰프 페달 - 3D 프린팅 모터식 픽 직접 만들기
  9. 리니어 모터 이해: 전기 에너지에서 정밀 직선 운동으로
  10. 서보 모터 설명: 작동 원리와 중요성