질문게시판 > 라인트레이서+초음파센서 텍스트로 업로드했슴다!!(수정)

TODAY850 TOTAL1,088,013
사이트 이용안내
Login▼/회원가입
최신글보기 질문게시판 기술자료 동영상강좌

아두이노 센서 ATMEGA128 PWM LED 초음파 AVR 블루투스 LCD UART 모터 적외선


BASIC4MCU | 질문게시판 | 라인트레이서+초음파센서 텍스트로 업로드했슴다!!(수정)

페이지 정보

작성자 영스기 작성일2019-11-30 11:36 조회389회 댓글0건

본문

	

// 라인트레이서 //
// 라인을 따라 움직이도록 하며 중간에 장애물 발견시 정지한다.
// 장애물을 치우면 다시 전진하는 코드를 작성할 것


int Left_motor_back=9;      //(IN1)
int Left_motor_go=5;        //(IN2)
int Right_motor_go=6;       //(IN3)
int Right_motor_back=10;    //(IN4)

int key=A0;
int beep=13;
int Echo=12;
int trig=11;

const int SensorRight = A2;      
const int SensorLeft = A3;      

int SL; 
int SR; 

void setup()
{
  Serial.begin(9600);
  pinMode(Echo, INPUT);
  pinMode(trig, OUTPUT);
  pinMode(Left_motor_go,OUTPUT);   // PIN 5 (PWM)
  pinMode(Left_motor_back,OUTPUT); // PIN 9 (PWM)
  pinMode(Right_motor_go,OUTPUT);  // PIN 6 (PWM)
  pinMode(Right_motor_back,OUTPUT);// PIN 10 (PWM)
  pinMode(key,INPUT);
  pinMode(beep,OUTPUT);
  pinMode(SensorRight, INPUT);
  pinMode(SensorLeft, INPUT); 
}

//void run(int time)    
void run()
{
  digitalWrite(Right_motor_go,HIGH); 
  digitalWrite(Right_motor_back,LOW);    
  analogWrite(Right_motor_go,2);
  analogWrite(Right_motor_back,0);
  digitalWrite(Left_motor_go,HIGH);
  digitalWrite(Left_motor_back,LOW);
  analogWrite(Left_motor_go,1);
  analogWrite(Left_motor_back,0);
  //delay(time * 100);   
}

//void brake(int time) 
void brake()
{
  digitalWrite(Right_motor_go,LOW);
  digitalWrite(Right_motor_back,LOW);
  digitalWrite(Left_motor_go,LOW);
  digitalWrite(Left_motor_back,LOW);
  //delay(time * 100);  
}

//void left(int time)        
void left()   
{
  digitalWrite(Right_motor_go,HIGH);  
  digitalWrite(Right_motor_back,LOW);
  analogWrite(Right_motor_go,2);
  analogWrite(Right_motor_back,0);  
  digitalWrite(Left_motor_go,LOW);    
  digitalWrite(Left_motor_back,LOW);
  analogWrite(Left_motor_go,0);
  analogWrite(Left_motor_back,0);    
  //delay(time * 100);   
}
//void right(int time)       
void right()  
{
  digitalWrite(Right_motor_go,LOW);  
  digitalWrite(Right_motor_back,LOW);
  analogWrite(Right_motor_go,0);
  analogWrite(Right_motor_back,0);
  digitalWrite(Left_motor_go,HIGH);
  digitalWrite(Left_motor_back,LOW);
  analogWrite(Left_motor_go, 1);
  analogWrite(Left_motor_back,0); 
  //delay(time * 100); 
}
//void back(int time)         
void back(int time)
{
  digitalWrite(Right_motor_go,LOW);
  digitalWrite(Right_motor_back,HIGH);
  analogWrite(Right_motor_go,0);
  analogWrite(Right_motor_back,3);
  digitalWrite(Left_motor_go,LOW); 
  digitalWrite(Left_motor_back,HIGH);
  analogWrite(Left_motor_go,0);
  analogWrite(Left_motor_back,2);
  delay(time * 100);    
}
//==========================================================

void keysacn()
{
  int val;
  val=digitalRead(key);
  while(!digitalRead(key))
    val=digitalRead(key);
  while(digitalRead(key))
  {
    delay(10);  
    val=digitalRead(key);
    if(val==HIGH) 
      digitalWrite(beep,HIGH);   //부저 소리 남
      while(!digitalRead(key))        
        digitalWrite(beep,LOW);  // 부저 소리 없음
    }
    else
      digitalWrite(beep,LOW);     
  }
}

void loop()
{
  keysacn();   //키를 누르면 동작 시작
  while(1)
  {
  float duration,distance;
  digitalWrite(trig,HIGH);
  delay(10);
  digitalWrite(trig,LOW);
  duration=pulseIn(Echo,HIGH);
  distance=((float)(340*duration)/10000)/2;
  Serial.print("\nDIstance: ");
  Serial.println(distance);

  SR = digitalRead(SensorRight);
  SL = digitalRead(SensorLeft);
 
  if (SL == LOW && SR== LOW) // LOW = 센서on // 둘 다 켜졌을 때, 전진
    run();  
  else if (SL == HIGH & SR == LOW) // 오른쪽만 켜졌을 때, 왼쪽 회전
    left();
  else if (SR == HIGH & SL == LOW) // 왼쪽만 켜졌을 때, 오른쪽 회전
    right();
  else if(distance<20) //장애물 20cm 이내발견되면 정지
    brake();
  else
  run();  //장애물 치웠을 때, 다시 전진
  }

 

-------------------------------

목적: 라인트레이서+초음파센서를 동시에 작동시켜 장애물 발견시 정지 후 장애물 제거시 다시 전진하는 자동차 

 

현재 동작 상태: 저희는 keysacn버튼=모터 동작버튼으로 누르면 센서의 불빛에 따라 모터가 동작하기 시작합니다. 

 

문제: void loop() 안에 둘을 동시에 동작하게 하려는 과정에서 초음파 센서 코딩을 넣으면 

         초음파 센서는 작동하고 라인센서가 불은 들어오지만 모터가 동작(전진,좌회전,우회전)을 하지 않는 상태입니다.

        (키버튼을 안눌러서 동작하지 않는 그런문제가 아니예요,,코딩후 당연히 키버튼 눌렀습니다!ㅎㅎ 그런데 작동하지 않습니다.. )

        (라인트레이서는 정상적으로 작동 확인, 초음파센서도 정상적으로 작동 확인하는 건 각각 확인한 상태입니다.) 

 

void loop()안에 while은 라인트레이서가 정상적으로 작동하도록 코딩한 것입니다. 

while 안에다가 추가로 초음파 센서 코딩하였으나  적상작동되지 않는 상태인데 

왜 동작하지 않는지 궁금하고 이에 대해 코딩을 해결해주시면 감사하겠습니다. ㅠㅠ!!  

 

  • BASIC4MCU 작성글 SNS에 공유하기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기

댓글 0

조회수 389

등록된 댓글이 없습니다.

질문게시판HOME > 질문게시판 목록

MCU, AVR, 아두이노 등 전자공학에 관련된 질문을 무료회원가입 후 작성해주시면 전문가가 답변해드립니다.
ATMEGA128PWMLED초음파
아두이노AVR블루투스LCD
UART모터적외선ATMEGA
전체 스위치 센서
질문게시판 목록
제목 작성자 작성일 조회
공지 MCU, AVR, 아두이노 등 전자공학에 관련된 질문은 질문게시판에서만 작성 가능합니다. 스태프 19-01-15 1706
공지 사이트 이용 안내댓글[11] master 17-10-29 11224
공지 [무료 공개] 소스코드 하이라이트 v2.0 beta [2013.02.07]댓글[1] 이미지첨부파일 master 18-01-23 4228
질문 Atmega128 문의합니다 이미지새글첨부파일 우두머라 20:22 3
질문 아두이노 모터드라이버 dc모터 제어 질문입니다. 새글 몰린2 19:47 3
질문 바로 위에 놓여져 있는 것을 검출하기 위한 센서는 무엇이 있을까요?댓글[1] 새글 안녕요들 17:20 9
질문 가스센서 값을 어플에 표시 및 소리나게 하기댓글[2] 새글 밀키스 16:33 10
질문 STM32F767 - 송신 인터럽트 사용 어떻게 하는게 좋을까요?댓글[4] 새글 jiseok 20-06-05 14
질문 키패드입력지연댓글[2] 새글 왕왕초a 20-06-05 14
질문 아두이노 코딩 질문입니다. 이미지새글첨부파일 기하문주 20-06-05 19
답변 답변글 답변 : 아두이노 코딩 질문입니다. 새글 master 09:49 7
질문 가스누출 감지 센서를 통한 릴레이 구동댓글[2] 새글 밀키스 20-06-05 15
질문 세번째 FND에 7이표시되는 프로그램을 작성해야합니다.댓글[1] 이미지새글첨부파일 대학쩅 20-06-05 12
질문 진동센서값 을 통한 led제어댓글[1] 새글 팬다 20-06-05 13
질문 8051 어셈블리어댓글[1] 이미지새글첨부파일 몽이 20-06-05 11
질문 ATmeag128 소스가 SREG인식을 못합니다댓글[3] 이미지새글첨부파일 ToLi 20-06-05 24
질문 아두이노 2개 코딩을 합쳐주세요ㅠㅠ 새글 호빵맨 20-06-04 30
답변 답변글 답변 : 아두이노 2개 코딩을 합쳐주세요ㅠㅠ댓글[2] 새글 master 20-06-04 35
질문 가변저항 연결하는 방법을 알고 싶습니다!!댓글[1] 이미지첨부파일 기사공부힘들당 20-06-04 20
질문 오류 문의드립니다..댓글[1] 하기싫다 20-06-04 18
질문 배터리 용량 문의댓글[1] 채구시 20-06-04 18
질문 while문 문제와 센서값 전송 문제 오이 20-06-04 18
답변 답변글 답변 : while문 문제와 센서값 전송 문제댓글[2] master 20-06-04 25
질문 출력문의댓글[7] 이미지첨부파일 BROO 20-06-04 31
질문 [질문] 키 매트릭스 시리얼모니터 출력댓글[1] 이미지첨부파일 cwnu11 20-06-04 22
질문 아두이노 질문이요댓글[1] 이미지첨부파일 BROO 20-06-04 33
질문 아두이노 업로딩 문제댓글[3] 이미지첨부파일 똬똬 20-06-04 24
질문 스위치를 이용한 LED의 순차점등 소리에게돈 20-06-03 41
답변 답변글 답변 : 스위치를 이용한 LED의 순차점등댓글[1] master 20-06-03 31
질문 블루투스 데이터 수신 문법 질문입니다.댓글[3] 이미지첨부파일 전과자14학번 20-06-03 25
게시물 검색

2020년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2019년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2018년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
Privacy Policy
MCU BASIC ⓒ 2020
모바일버전으로보기