BASIC4MCU | 센서 | 초음파센서 | SRF-04 초음파센서 30Cm 이내에서 진동모터 출력
페이지 정보
작성자 키트 작성일2017-08-23 15:03 조회2,000회 댓글0건본문
//
// 30Cm 이내에서 진동모터 출력//
#include<mega128.h>
#include<stdio.h>
#include<delay.h>
//
#define Trigger PORTD.4 //초음파 트리거
#define Echo PINE.4 //초음파 에코
#define Motor PORTB.1 //진동모터
//
unsignedint range;
//
void getEcho(void){
while(!Echo); // high가 될때까지 대기 //
TCNT1=0; TCCR1B=2; // 카운터 시작, 8분주 = 0.5us //
while(Echo); // low가 될때까지 대기 //
TCCR1B=8; // 카운터 정지 //
range=TCNT1/116; // Cm로 변경 //
}
void main(void){
DDRD=0x10; // PD4 ouput Trigger, PE4 input Echo
DDRB=0x02; // PB1 out
TCCR1A=0; TCCR1B=8; // CTC mode
while(1){
Trigger=1; delay_us(10); Trigger=0; // 10uS
getEcho();
if(range<30){ Motor=1; }
else { Motor=0; }
delay_ms(100);
}
}
댓글 0
조회수 2,000등록된 댓글이 없습니다.