적외선 센서를 이용해서 다음과 같은 구동을 하려고 합니다.
발광부와 수광부가 신호를 주고 받다가
그 신호가 끊긴 후
다시 신호가 연결이 되면
모터가 정방향으로 4~5초회전한 후
다시 역방향으로 4~5초 회전한 후 정지하는
그 신호가 끊긴 후
다시 신호가 연결이 되면
모터가 정방향으로 4~5초회전한 후
다시 역방향으로 4~5초 회전한 후 정지하는
그런 소스가 맞는지 확인좀 해주셨으면 감사하겠습니다.
참고로 저희 아트메가16에 연결한 포트는 모터부가 PA0, PA1이구요... 센서부는 PD2 포트에 연결되어 있습니다.
센서부 작동 확인은 따로 확인해서 문제 없다고 생각하는데요..
혹시 수정할 부분 있으면 말씀해 주시면 감사하겠습니다.^^
혹시 수정할 부분 있으면 말씀해 주시면 감사하겠습니다.^^
PS. 소스 첨부합니다.~
#include <avr/io.h>
#define F_CPU 16000000UL // 16 MHz
#include <util/delay.h>
//
#define ccw 0x05
#define cw 0x0A
//
int main(){
DDRA=0xFF;
while(1){
if(!(PIND & 1)){ PORTA=cw; _delay_ms(5000); } // 5초
else { PORTA=ccw; _delay_ms(5000); } // 5초
// _delay_ms(100); // 0.1초
}
}
#define F_CPU 16000000UL // 16 MHz
#include <util/delay.h>
//
#define ccw 0x05
#define cw 0x0A
//
int main(){
DDRA=0xFF;
while(1){
if(!(PIND & 1)){ PORTA=cw; _delay_ms(5000); } // 5초
else { PORTA=ccw; _delay_ms(5000); } // 5초
// _delay_ms(100); // 0.1초
}
}
사용중인 부품은
발광부, 수광부 각1EA
가변저항 1EA , 고정저항 4~5EA.
ATmega16 1EA , LM324N 1EA
LED 1EA, 소형 모터드라이버 AM_CD2L 1EA, 서보형 모터 1EA 입니다.
부품 데이터 시트 필요하시면 말씀해주세요~ 바로 올려드릴게요 ㅜㅜ