디시인사이드 갤러리

마이너 갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

[질문] target tracking

그렇게(106.101) 2023.05.25 01:50:59
조회 65 추천 0 댓글 2
														

서보모터에 달린 초음파센서를 달고 있는 바퀴 네개짜리 로봇이 물체를 따라가게 하려고 코드를 짜봤는데 동작이 안되네요.. 뭐가 문제일까요?

#include <Servo.h>

Servo myservo;  // 서보 모터를 제어하기 위한 서보 객체 생성
int pos = 0;   // 서보 모터의 초기 위치

#define TRIG_PIN 13      // 초음파 센서의 트리거 핀에 연결된 아두이노 핀 번호
#define ECHO_PIN 12      // 초음파 센서의 에코 핀에 연결된 아두이노 핀 번호
#define MAX_DISTANCE 200 // 측정할 최대 거리 (센서의 최대 거리는 400-500cm로 지정됨)

#define PIN_Motor_PWMA 5    // 모터1의 PWM 제어 핀
#define PIN_Motor_PWMB 6    // 모터2의 PWM 제어 핀
#define PIN_Motor_AIN_1 7   // 모터1의 방향 제어 핀 1
#define PIN_Motor_BIN_1 8   // 모터2의 방향 제어 핀 1
#define PIN_Motor_STBY 3    // 모터의 스탠바이 제어 핀

void Forward(int speed);
void Brake(int duration);
void backward(int speed);
void Lturn(int speed);
void Rturn(int speed);
void RSpin(int speed);
void LSpin(int speed);

void setup() {
  myservo.attach(10);  // 서보를 핀 10에 연결하여 서보 객체에 연결
  Serial.begin(9600);
  pinMode(ECHO_PIN, INPUT); // 초음파 센서 초기화
  pinMode(TRIG_PIN, OUTPUT);
  pinMode(PIN_Motor_PWMA, OUTPUT);
  pinMode(PIN_Motor_AIN_1, OUTPUT);
  pinMode(PIN_Motor_PWMB, OUTPUT);
  pinMode(PIN_Motor_BIN_1, OUTPUT);
  pinMode(PIN_Motor_STBY, OUTPUT);

  for (int angle = 70; angle <= 140; angle += 5) {
    myservo.write(angle);
    delay(100);
  }

  for (int angle = 140; angle >= 0; angle -= 5) {
    myservo.write(angle);
    delay(100);
  }

  for (int angle = 0; angle <= 70; angle += 5) {
    myservo.write(angle);
    delay(100);
  }
}

void loop() {
  unsigned int distance = 0;
  digitalWrite(TRIG_PIN, LOW);
  delayMicroseconds(2);
  digitalWrite(TRIG_PIN, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIG_PIN, LOW);
  distance = pulseIn(ECHO_PIN, HIGH) / 58;

  if (distance <= 20) {
    Forward(120);
    delay(500);
  }
  else {
    for (int angle = 70; angle <= 140; angle += 5) {
      if (distance <= 20) {
        LSpin(150);
        delay(200);
      }
      else {
        for (int angle = 140; angle >= 0; angle -= 5) {
          if (distance <= 20) {
            RSpin(150);
            delay(200);
          }
          else {
            Brake(500);
          }
        }
      }
    }
  }
}

void Forward(int speed) {
  digitalWrite(PIN_Motor_STBY, HIGH);
  digitalWrite(PIN_Motor_AIN_1, HIGH);
  digitalWrite(PIN_Motor_BIN_1, HIGH);
  analogWrite(PIN_Motor_PWMA, speed);
  analogWrite(PIN_Motor_PWMB, speed);
}

void Brake(int duration) {
  digitalWrite(PIN_Motor_STBY, LOW);
  digitalWrite(PIN_Motor_AIN_1, HIGH);
  digitalWrite(PIN_Motor_BIN_1, HIGH);
  analogWrite(PIN_Motor_PWMA, 0);
  analogWrite(PIN_Motor_PWMB, 0);
  delay(duration);
}

void backward(int speed) {
  digitalWrite(PIN_Motor_STBY, HIGH);
  digitalWrite(PIN_Motor_AIN_1, LOW);
  digitalWrite(PIN_Motor_BIN_1, LOW);
  analogWrite(PIN_Motor_PWMA, speed);
  analogWrite(PIN_Motor_PWMB, speed);
}

void Lturn(int speed) {
  digitalWrite(PIN_Motor_STBY, HIGH);
  digitalWrite(PIN_Motor_AIN_1, LOW);
  digitalWrite(PIN_Motor_BIN_1, HIGH);
  analogWrite(PIN_Motor_PWMA, 0);
  analogWrite(PIN_Motor_PWMB, speed);
}

void Rturn(int speed) {
  digitalWrite(PIN_Motor_STBY, HIGH);
  digitalWrite(PIN_Motor_AIN_1, HIGH);
  digitalWrite(PIN_Motor_BIN_1, LOW);
  analogWrite(PIN_Motor_PWMA, speed);
  analogWrite(PIN_Motor_PWMB, 0);
}

void RSpin(int speed) {
  digitalWrite(PIN_Motor_STBY, HIGH);
  digitalWrite(PIN_Motor_AIN_1, HIGH);
  digitalWrite(PIN_Motor_BIN_1, LOW);
  analogWrite(PIN_Motor_PWMA, speed);
  analogWrite(PIN_Motor_PWMB, speed);
}

void LSpin(int speed) {
  digitalWrite(PIN_Motor_STBY, HIGH);
  digitalWrite(PIN_Motor_AIN_1, LOW);
  digitalWrite(PIN_Motor_BIN_1, HIGH);
  analogWrite(PIN_Motor_PWMA, speed);
  analogWrite(PIN_Motor_PWMB, speed);
}


추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 말머리 제목 글쓴이 작성일 조회 추천
2868 설문 힘들게 성공한 만큼 절대 논란 안 만들 것 같은 스타는? 운영자 24/06/10 - -
2870 이슈 [디시人터뷰] 웃는 모습이 예쁜 누나, 아나운서 김나정 운영자 24/06/11 - -
4968 질문 아두이노 우노에 키보드 명령 줄려고 하는데 도와줘 [11] ㅇㅇ(220.65) 23.07.12 138 0
4967 질문 이거 만들어본사람 있음? [3] ㅇㅇ(61.77) 23.07.12 158 0
4966 질문 wemos말고 그냥 우노r3랑 esp8266으로 하려는데 [7] ㅇㅇ(117.111) 23.07.12 99 0
4965 질문 아두이노 프로마이크로 포트인식문제 [1] ㅇㅇ(121.140) 23.07.11 57 0
4964 질문 우노 wemos d1 이거 사면 esp8266 살필요없음? [7] ㅇㅇ(117.111) 23.07.11 87 0
4963 질문 님들 혹시 컴터에 ch340 설치되어있는지 식별하는 코드 짤수있나요? [3] ㅇㅇ(211.227) 23.07.11 63 0
4962 질문 아두이노 28kHz 발진기 없을까? [2] ㅇㅇ(220.79) 23.07.11 92 0
4961 질문 아두이노 로봇팔 키트를 만드는데 문제가있습니다 [3] 황대윤(220.80) 23.07.10 142 0
4960 질문 이거 어떤 부품임? [2] ㅇㅇ(61.108) 23.07.10 100 0
4959 일반 해결)jsn sr04t 방수초음파 샘플링 끊기던 현상 ㅇㅇ(106.102) 23.07.10 51 1
4958 질문 형님들 심박센서 출력값이 블루투스로 전송이 안됩니다 [3] 도와주십쇼(112.76) 23.07.10 97 0
4957 질문 라즈베리파이 GPIO핀에 스위치를 연결했는데 꺼집니다. [3] ㅇㅇ(172.226) 23.07.09 87 0
4956 일반 IR LED 증폭이 잘 안되는데 [4] ㅇㅇ(118.235) 23.07.09 100 0
4955 질문 이거 어케 연결함;; [3] ㅇㅇ(211.215) 23.07.08 84 0
4953 일반 아두이노로 릴레이모듈 휴대폰 원격제어 [4] ㅁㅁ(223.62) 23.07.06 181 0
4952 질문 아두이노 uart 통신 질문좀 [3] ㅇㅇ(220.69) 23.07.06 61 0
4951 질문 서보모터드라이버 i2c통 [1] 병아리삐약삐약갤로그로 이동합니다. 23.07.05 81 0
4949 질문 usb host shield로 엑박 패드 컨트롤 질문 [5] ㅇㅇ(211.112) 23.07.04 62 0
4948 질문 아두이노 레오나르도 usb 선 한 2m 되는거없나 [1] ㅇㅇ(39.121) 23.07.03 103 0
4947 질문 아두이노 원격대학이 있을까? [2] 00(211.195) 23.07.01 127 0
4946 질문 아두이노 레오나르도 질문좀.. ㅇㅇ(121.167) 23.07.01 52 0
4945 질문 아두이노 나노 가변저항 연결 질문드립니다 [3] 초보(223.39) 23.07.01 114 0
4944 질문 디씨모터 도와주세요.. ㅠㅠ [3] ㅇㅇ(219.252) 23.06.30 114 0
4943 질문 L298N 질문 있습니다 [4] 빙그갤로그로 이동합니다. 23.06.29 84 0
4941 질문 nRF24L01 pa lna 테스트중인데 [2] ㅇㅇ(211.36) 23.06.28 85 0
4940 일반 노력에 대한 결실 - 대학 캡스톤 과목 [6] yoo07093(118.235) 23.06.28 212 2
4939 질문 Stm32 f446re [2] Stm32(211.36) 23.06.28 82 0
4938 소식 아두이노 우노 r4 출시 [7] 화낙갤로그로 이동합니다. 23.06.27 615 5
4937 일반 노트북 메인보드 [2] 내연기관갤로그로 이동합니다. 23.06.27 94 0
4936 질문 360 서보모터 질문 재업! [16] ㅇㅇ(14.39) 23.06.26 132 0
4934 소식 임베디드에 관심이 있으시면 [1] 퍼플승연갤로그로 이동합니다. 23.06.26 152 0
4933 질문 코드 질문 [2] 소통해요갤로그로 이동합니다. 23.06.26 76 0
4932 질문 형님들 스테핑모터 발열이 너무 심한데 이거 어떻게 해야됩니까 [19] ㅇㅇ(112.76) 23.06.26 220 2
4931 질문 아두이노 서보모터 돌리려는데 준비물 충분할까요? [6] ㅇㅇ(221.152) 23.06.23 146 0
4930 질문 이거에서 신호 따다가 아두이노에서 쓸수있을까 [2] ㅇㅇ(175.192) 23.06.22 104 0
4929 질문 레지스터 제어는 동시에 일어나나요? [16] 러드킹갤로그로 이동합니다. 23.06.22 130 0
4928 질문 아두이노 나노 관련 질문 [1] ㅇㅇ(118.221) 23.06.21 74 0
4927 질문 아두이노랑 PLC랑 연관있나요? [7] ㅇㅇ(125.176) 23.06.21 97 0
4926 질문 아두이노 좀 도와주십시오. [7] ㅇㅇ(121.166) 23.06.21 125 0
4925 질문 이거 아두이노로 가능할까요? (가변저항, 부저, 블루투스 관련) [5] ㅇㅇ(115.145) 23.06.21 155 0
4924 일반 ptc 히터 제어하려는데 이러면 정상작동 하려나 [7] 소통해요갤로그로 이동합니다. 23.06.20 230 0
4920 질문 아두이노 전선 납땜 도와주세요ㅠ [2] ㅇㅇ(125.133) 23.06.19 161 0
4919 질문 솔레노이드 질문있어요 [2] ㅇㅇ(219.252) 23.06.19 65 0
4918 질문 아두이노 나노 33 iot 사용중인데 시리얼프린트가 안됨 헬프 [4] ㅇㅇ(1.248) 23.06.17 102 1
4916 질문 로봇 의수들 모터에 힘 가하면 그대로 회로 타는거 아니냐??? [2] ㅇㅇ(175.205) 23.06.17 115 0
4915 질문 아두이노로 이런거 만들고싶은데 뭐 사야됨? [6] ㅇㅇ(211.206) 23.06.17 126 0
4914 일반 우선 메카에서 사고 없는건 디바 가는게 국룰인거 같은데 [2] 러드킹갤로그로 이동합니다. 23.06.16 84 0
4913 질문 초음파센서 질문! [3] ㅇㅇ(115.91) 23.06.16 132 0
4912 질문 wemos d1 r1 온습도 센서 [1] ㅇㅇ(39.119) 23.06.14 82 0
4911 일반 월요일 << 너무 싫음 [1] 러드킹갤로그로 이동합니다. 23.06.14 76 1
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2