저희가 구상한 것이.. 흠.. 적외선 센서에 신호가 가다가 끊기는 순간을 계산했다가
다시 신호가 가면 모터가 4~5초정도 CW로 회전하고 다시 CCW로 회전하는 구상을 하고 있는데요..
아래 언어가 맞는지 모르겠네요 .. 참고로 이 코드는 지인에게 부탁해서 얻은 코드 입니다.
입력은 되는데 모터 구동이 안되서요 ㅜㅜ 고수님들 부탁드립니다 ...
회로도도 올려야 하는데요 .. 흠... 당장 그려놓은것이 없어서..
사용중인 부품은
발광부, 수광부 각1EA
가변저항 1EA , 고정저항 4~5EA(수치는 입력하지 않겠습니다..
ATmega16 1EA , LM324N 1EA
LED 1EA, 모터모듈AM_CD2L 1EA, 스텝모터형 모터 1EA 입니다.
ISP로 코드가 입력이 된것을 보면 .. 회로에는 이상이 없다고 생각하는데요 ~
고수님들!! 정말 부탁드려요 ㅜㅜ
#include <avr/io.h>
#define SENSOR 0x01
//#define SW1 0x02
//#define SW2 0x04
//#define SW1 0x02
//#define SW2 0x04
#define ON 1
#define OFF 0
#define OFF 0
typedef unsigned char BYTE;
typedef unsigned int WORD;
typedef unsigned int WORD;
BYTE ccw_rotation, cw_rotation,quick_stop;
BYTE SENSING, back;
BYTE SENSING, back;
void delay(BYTE ta){
WORD tb,i,j;
WORD tb,i,j;
tb=30000;
for(i=0; i<ta; i++)
for(j=0; j<tb; j++);
}
for(j=0; j<tb; j++);
}
void motor_init(){
ccw_rotation=0x03;
cw_rotation=0x02;
//quick_stop=0x;
}
ccw_rotation=0x03;
cw_rotation=0x02;
//quick_stop=0x;
}
void motor_rotation(BYTE rotation_data){
PORTA=rotation_data;
}
PORTA=rotation_data;
}
int main(){
DDRA=0xFF;
//DDRB=0xff;
//DDRC=0xff;
DDRD=0x00;
DDRA=0xFF;
//DDRB=0xff;
//DDRC=0xff;
DDRD=0x00;
motor_init();
while(1){
// if((PIND & SW1)!=0x00)DAY=1;
// if((PIND & SW2)!=0x00)DAY=2;
// if((PIND & SW2)!=0x00)DAY=2;
if((PIND & SENSOR)==0x00){
motor_rotation(cw_rotation);
// PORTC=0x01;
// count++;
delay(50);
// SENSING=ON;
// PORTC=0x00;
// motor_rotation(ccw_rotation);
}
else if((PIND & SENSOR)!=0x00){
motor_rotation(ccw_rotation);
}
//if( (count==3 && DAY==1) || (count==6 && DAY==2) )back=ON;
/*if(back==ON){
DAY=OFF;
motor_rotation(cw_rotation);
PORTC=0x00;
if((PIND & SENSOR)==0x00)SENSING=ON;
if(((PIND & SENSOR)!=0x00) && SENSING==ON){
count--;
SENSING=OFF;
}
DAY=OFF;
motor_rotation(cw_rotation);
PORTC=0x00;
if((PIND & SENSOR)==0x00)SENSING=ON;
if(((PIND & SENSOR)!=0x00) && SENSING==ON){
count--;
SENSING=OFF;
}
if(count==0){
back=OFF;
delay(5);
motor_rotation(quick_stop);
}
}*/
}
}
back=OFF;
delay(5);
motor_rotation(quick_stop);
}
}*/
}
}