질문게시판 > 답변 : 아트메가128/ srf05 초음파센서를 이용한 타이머 인터럽트 질문입니다

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

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


BASIC4MCU | 질문게시판 | 답변 : 아트메가128/ srf05 초음파센서를 이용한 타이머 인터럽트 질문입니다

페이지 정보

작성자 master 작성일2022-05-26 14:56 조회1,329회 댓글0건

본문

	

#include <avr/io.h>

#define F_CPU16000000UL

#include <util/delay.h>

//

#define TRIG            6

#define ECHO            7

//

#define SOUND_VELOCITY  340UL

//

#define STOP_SPEED      00

#define LOW_SPEED       77

#define MID_SPEED       153

#define HIGH_SPEED      225

//

#define MOTOR_CW     0xa0

#define MOTOR_CCW    0x60

#define MOTOR_BRAKE  0xe0

#define MOTOR_STOP   0x00

//

int motor_speed[4]={STOP_SPEED,LOW_SPEED,MID_SPEED,HIGH_SPEED};

unsigned int distance,i;

volatile int count=0,value=0;

//

int main(void){

  DDRB=0xff; PORTB=MOTOR_CW;

  DDRE=((DDRE|(1<<TRIG))&~(1<<ECHO));

  TCCR2=0x6c;

  while(1){

    TCCR1B=0x03; PORTE&=~(1<<TRIG); _delay_us(10);

    PORTE|=(1<<TRIG); _delay_us(10); PORTE&=~(1<<TRIG);

    while(!(PINE&(1<<ECHO))); TCNT1=0X0000;

    while(PINE&(1<<ECHO));    TCCR1B=0X00;

    distance=(unsigned int)(SOUND_VELOCITY*(TCNT1*4/2)/1000);

    //

    if     (distance<100){ OCR2=motor_speed[0]; }

    else if(distance<300){ OCR2=motor_speed[1]; }

    else if(distance<500){ OCR2=motor_speed[2]; }

    else                 { OCR2=motor_speed[3]; }

  }

 

현재 초음파 센서를 이용해 모터 속도를 조절하는 코드를 작성중인데 

여기서 초음파 센서의 delay 코드를 타이머 인터럽트 쪽으로 바꾸는식으로 코드를 짜고싶은데 

막혀서 질문 드립니다

//

딜레이라고는 10us 딜레이 밖에 안보이는데 구지 이렇게 짧은 딜레이를 인터럽트로 바꿀 필요가 있을까요?

원래는 50ms~100ms 정도의 딜레이를 무한루프 제일 아래에 두어야 합니다.

지금처럼 딜레이 없이 초음파를 사용하면 제대로 거리값을 측정하지 못합니다.

//

https://cafe.naver.com/circuitsmanual/115690  

SRF-04 (SRF-05, HC-SR04) 초음파센서 인터럽트로 읽기 - 16비트 타이머


SRF-04 (SRF-05, HC-SR04) 초음파센서 인터럽트로 읽기 - 8비트 타이머


인터럽트를 사용해서 거리값을 측정하는 예제를 공부해서 완성시켜보세요

 

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

댓글 0

조회수 1,329

등록된 댓글이 없습니다.

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

MCU, AVR, 아두이노 등 전자공학에 관련된 질문을 무료회원가입 후 작성해주시면 전문가가 답변해드립니다.
ATMEGA128PWMLED초음파
아두이노AVR블루투스LCD
UART모터적외선ATMEGA
전체 스위치 센서
질문게시판 목록
제목 작성자 작성일 조회
답변 답변글 답변 : 아두이노 서보모터 질문드립니다.댓글[1] master 22-06-06 1527
질문 신호를 받아서 진동울리기댓글[4] 메론맛드링크 22-06-06 1441
질문 아두이노 자율주행 rc카 초음파 장애물에 닿으면 정지하고 장애물 없어지면 다시 전진하는 코딩을 잘모르겠습니다…댓글[5] 종느 22-06-06 2284
질문 아두이노 우노 listen() 사용댓글[3] 첨부파일 면지지 22-06-05 1172
질문 아두이노 메가 2560 관련 질문입니다!댓글[3] 이미지 아뒤노 22-06-05 1484
질문 아두이노 모터 제어 코드 질문 히동 22-06-05 1556
답변 답변글 답변 : 아두이노 모터 제어 코드 질문댓글[1] master 22-06-05 975
질문 atmega128 프로젝트 외주 사례합니다댓글[1] 공돌ㅇ 22-06-05 1153
질문 atmega128 프로테우스 부저소리 관련하여..댓글[1] 꿍다라링 22-06-04 1030
질문 assembly coding 한 번만 도와주세요 ㅜ댓글[3] 마프마푸 22-06-04 1438
질문 [ATmega 기초질문] DC모터속도제어 코딩 및 연결 질문드립니다.댓글[2] 이미지 zen123 22-06-04 1818
질문 uart 송수신 관련 질문입니다.댓글[1] 황자르 22-06-04 1242
질문 수위센서, 압력센서를 이용한 서모모터 제어 악두이노 22-06-03 1422
답변 답변글 답변 : 수위센서, 압력센서를 이용한 서모모터 제어 master 22-06-04 957
질문 Esp32 sd card댓글[1] 김아무개 22-06-03 1284
질문 아두이노 라인트레이서 센서를 이용한 rc카로 사다리타기 게임댓글[1] 이미지첨부파일 hunhun 22-06-03 1403
질문 배열에 있는 값으로 jpg 파일 보는 법댓글[3] lshlsh3690 22-06-03 552
질문 아래 ATMEGA LCD 출력 코드 및 에러 확인 질문 이미지 첨부합니다.댓글[1] 이미지첨부파일 chelsea 22-06-03 1354
답변 답변글 답변 : 아래 ATMEGA LCD 출력 코드 및 에러 확인 질문 이미지 첨부합니다. master 22-06-03 1281
질문 온도 센서관련 코드 질문드립니다..댓글[3] MzKLN 22-06-03 1890
질문 ATMEGA LCD 출력 코드 및 에러 확인 부탁드립니다.댓글[2] chelsea 22-06-03 1208
질문 atmega128 조도센서를 이용하여 서보모터와 dc모터 제어하는거 봐주실수있나요ㅠㅠ 이미지첨부파일 화니뿌뿌 22-06-02 1583
답변 답변글 답변 : atmega128 조도센서를 이용하여 서보모터와 dc모터 제어하는거 봐주실수있나요ㅠㅠ댓글[4] master 22-06-02 2776
질문 키패드 led 인체감지 질문 면지지 22-06-02 1554
답변 답변글 답변 : 키패드 led 인체감지 질문댓글[3] master 22-06-02 1098
질문 ATMEGA128 채터링(chattering)관련 질문입니다.댓글[1] 아지개구리 22-06-02 2304
질문 32x8 도트매트릭스 사용질문댓글[3] 엑스칼리버excel 22-06-02 1560
질문 아두이노 릴레이모듈로 전구밝기 조절 가능할까요?댓글[4] 초심자의행운 22-06-02 2368
질문 모터 드라이브 질문드립니다.댓글[2] 이미지첨부파일 kyho3855 22-06-02 1670
질문 안녕하세요 atmega128 chattering에 대해서 궁금한게있습니다.댓글[4] tony 22-06-01 1724
게시물 검색

2022년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2021년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
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
모바일버전으로보기