에듀이노-아두이노 전문 교육쇼핑몰 에듀이노-코딩교육 전문 쇼핑몰
뒤로가기

묻고답하기

제목

배선 및 코드 문의

작성자 김동진(ip:)

작성일 2021-05-27

조회 171

평점 0점  

추천 추천하기

내용


안녕하세요 해당 제품 관련해서 유튜브 영상 보고 코드를 작성했는데요


초음파 배선에 문제인지 코드의 문제인지 제품동작이 유튜브 영상과 맞지 않습니다.

(유튜브 영상 내 경기장에서 장애물 인지시 약간의 후진을 하고 방향을 틀고 전진하는 영상)


확인 부탁드립니다. 영상의 코드도 메일로 보내주시면 감사하겠습니다.


작성코드


#include <SoftwareSerial.h>

#include <AFMotor.h>


AF_DCMotor motor_L(1);

AF_DCMotor motor_R(4);


int i;


//초음파센서 출력핀(trig)과 입력핀(echo), 변수, 함수 선언 //

int TrigPin = A0;

int EchoPin = A1;

long duration, distance;


void Obstacle_Check();

void Distance();

void Forward();

void Backward();

void Right();

void Left();

void Stop();


void setup() {

    Serial.begin(9600); // PC와의 시리얼 통신속도

    Serial.println("Eduino Smart Car Start!");


    pinMode(EchoPin, INPUT); // EchoPin 입력

    pinMode(TrigPin, OUTPUT); // TrigPin 출력


    motor_L.setSpeed(160);

    motor_L.run(RELEASE);

    motor_R.setSpeed(180);

    motor_R.run(RELEASE);

}


void loop() {

    Forward();

    delay(100);

    Obstacle_Check();

}

//장애물 확인 및 회피 방향 결정//


void Obstacle_Check() {

    int val = random(2);

    Distance();


    Serial.println(distance);


    while (distance < 200) {

        if (distance < 180) {

            Backward();

            delay(250);

            Stop();

            delay(50);

            Distance();

        }

        else{

            if (val ==0) {

                Right();

                delay(400);

            }

            else if (val ==1)  {

                Left();

                delay(400);

            }

            Distance();

        }

    }

}

//거리 감지//

void Distance() {

    digitalWrite(TrigPin, LOW);

    delay(2);

    digitalWrite(TrigPin, HIGH); // trigPin에서 초음파 발생(echoPin도  HIGH)

    delayMicroseconds(10);

    digitalWrite(TrigPin, LOW);

    duration = pulseIn(EchoPin, HIGH); // echoPin이 HIGH를 유지한 시간을 저장 한다.

    distance = ((float)(340 * duration)/1000) /2;

    delay(5);

}


//방향 제어 함수//

void Forward() {

    motor_L.run(FORWARD); motor_R.run(FORWARD);

    for (i=0; i<200; i=i+20) {

     motor_L.setSpeed(i); motor_R.setSpeed(i);

     delay(2);   

    }

    for (i=0;i<200;i=i-20){

        motor_L.setSpeed(i); motor_R.setSpeed(i);

        delay(2);

    }

}


void Backward() {

    motor_L.run(BACKWARD); motor_R.run(BACKWARD);

    for (i=0; i<200; i=i+20) {

     motor_L.setSpeed(i); motor_R.setSpeed(i);

     delay(2);   

    }

    for (i=0;i<200;i=i-20){

        motor_L.setSpeed(i); motor_R.setSpeed(i);

        delay(2);

    }

}


void Right() {

    motor_L.run(FORWARD); motor_R.run(BACKWARD);

    for (i=0;i<180;i=i+20){

        //j = i*1.3;    if(j>=200) j = 200;

        motor_L.setSpeed(i); motor_R.setSpeed(i);

        delay(2);

    }

    for (i=180; i<0; i=i-20){

        motor_L.setSpeed(i); motor_R.setSpeed(i);

        delay(2);

    }

}


void Left() {

      motor_L.run(BACKWARD); motor_R.run(FORWARD);

    for (i=0;i<180;i=i+20){

        //j = i*1.3;    if(j>=200) j = 200;

        motor_L.setSpeed(i); motor_R.setSpeed(i);

        delay(2);

    }

    for (i=180; i<0; i=i-20){

        motor_L.setSpeed(i); motor_R.setSpeed(i);

        delay(2);

    }  

}


void Stop() {

    motor_L.run(RELEASE); motor_R.run(RELEASE);

    for (i=200; i>=0; i=i-20) {

        motor_L.setSpeed(i); motor_R.setSpeed(i);

        delay(2);

    }

}


첨부파일 KakaoTalk_20210524_014954446.jpg , KakaoTalk_20210527_093701440.jpg

비밀번호
수정

비밀번호 입력후 수정 혹은 삭제해주세요.

댓글목록

  • 작성자 아메리카노

    작성일 2021-05-27

    평점 0점  

    스팸글 조립된 사진에서 배선이 잘못되어 있습니다
    강의자료 96P의 결선회로도 참조하여 조립해주세요
댓글 수정

이름

비밀번호

내용

/ byte

수정 취소

비밀번호 :

확인 취소

댓글 입력

이름

비밀번호

내용

/ byte

평점

왼쪽의 문자를 공백없이 입력하세요.

에게만 댓글 작성 권한이 있습니다.

댓글 입력

이름

비밀번호

내용

/ byte

왼쪽의 문자를 공백없이 입력하세요.

에게만 댓글 작성 권한이 있습니다.

관련 글 보기

고객센터

    1670-9626

  • 팩스.063-902-6678
  • 이메일.eduino@robodyne.co.kr
  • Kakao. 에듀이노
  • 운영시간 : AM 10:00 ~ PM 16:30
  • 점심시간 : PM 12:00 - PM 13:00 토/일/공휴일 휴무
  • 고객센터 연결하기
입금계좌
  • 예금주: (주)로보다인시스템
  • 국민. 754801-01-760296
  • 농협. 301-0234-1423-01
  • IBK기업은행. 506-080015-01-016
배송 안내
  • 배송 방법 : 택배
  • 배송 지역 : 전국지역
  • 배송 비용 : 조건부 무료 : 주문 금액 100,000원 미만일 때 배송비 3,000원을 추가합니다.
  • 배송 기간 : 1일 ~ 2일
  • 배송 안내 :
    - 제주도, 산간벽지나 도서지방은 별도의 추가금액을 지불하셔야 하는 경우가 있습니다.
    고객님께서 주문하신 상품은 입금 확인후 배송해 드립니다. 다만, 상품종류에 따라서 상품의 배송이 다소 지연될 수 있습니다.
교환/반품 안내
교환 및 반품이 가능한 경우
- 상품을 공급 받으신 날로부터 7일이내 단, 가전제품의
  경우 포장을 개봉하였거나 포장이 훼손되어 상품가치가 상실된 경우에는 교환/반품이 불가능합니다.
- 공급받으신 상품 및 용역의 내용이 표시.광고 내용과
  다르거나 다르게 이행된 경우에는 공급받은 날로부터 3월이내, 그사실을 알게 된 날로부터 30일이내

교환 및 반품이 불가능한 경우
- 고객님의 책임 있는 사유로 상품등이 멸실 또는 훼손된 경우. 단, 상품의 내용을 확인하기 위하여
  포장 등을 훼손한 경우는 제외
- 포장을 개봉하였거나 포장이 훼손되어 상품가치가 상실된 경우
  (예 : 가전제품, 식품, 음반 등, 단 액정화면이 부착된 노트북, LCD모니터, 디지털 카메라 등의 불량화소에
  따른 반품/교환은 제조사 기준에 따릅니다.)
- 고객님의 사용 또는 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우 단, 화장품등의 경우 시용제품을
  제공한 경우에 한 합니다.
- 시간의 경과에 의하여 재판매가 곤란할 정도로 상품등의 가치가 현저히 감소한 경우
- 복제가 가능한 상품등의 포장을 훼손한 경우
  (자세한 내용은 고객만족센터 1:1 E-MAIL상담을 이용해 주시기 바랍니다.)

※ 고객님의 마음이 바뀌어 교환, 반품을 하실 경우 상품반송 비용은 고객님께서 부담하셔야 합니다.
  (색상 교환, 사이즈 교환 등 포함)
«
»