답변 : atmega128 dc모터 멈춤 코드
페이지 정보
작성자 master 작성일18-12-06 09:01 조회8,197회 댓글4건본문
댓글 : 4
조회수 : 8,197
lalalalla님의 댓글
lalalalla 작성일
se-dm 사용하구요.
빛 센서 인식 : 한쪽으로 돌아가다 반대쪽으로 계속 돌아갑니다.
어둠 센서 인식 : 한쪽으로 계속 돌아갑니다.
ADCW쓰면 에러나요..!
lalalalla님의 댓글
lalalalla 작성일
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/delay.h>
#define MOTORPORT1 PORTC
#define ON 1
#define OFF 0
#define CW 1
#define CCW 0
void M1A(int onoff){
if(onoff==ON) MOTORPORT1 = MOTORPORT1|0x01;
else MOTORPORT1 = MOTORPORT1&0xFE;
}
void M1A_(int onoff){
if(onoff==ON) MOTORPORT1 = MOTORPORT1|0x02;
else MOTORPORT1 = MOTORPORT1&0xFD;
}
void Motor1(int CWCCW){
int i, j;
for(i=0; i<1000;i++) {
M1A(OFF);
M1A_(ON);
}
M1A(ON);
M1A_(ON);
}
void delay(int delaytime){
int i,j;
for(i=0;i<1000;i++){
for(j=0;j<delaytime;j++){
}
}
}
int main(void)
{
PORTC = 0x00;
DDRC = 0xff;
while(1){
Motor1(0);
_delay_ms(400);
PORTC = PORTC | 0x03;
_delay_ms(40);
}
return 0;
}
다른 방법인데요.
for문을 사용해서 for문 동안 돌아가고, 멈추도록 코딩을 해봤는데, 모터 자체가 안돌아갑니다.
master님의 댓글
master
if(result<th){ m1fwd(); m2fwd(); _delay_ms(1000); m1stop(); m2stop(); }
else { m1bwd(); m2bwd(); _delay_ms(1000); m1stop(); m2stop(); }
이 조건 중에서
어느 것이 밝을 때이고
어느 것이 어두울 때인가요?
lalalalla님의 댓글
lalalalla
result<th 가 어두울떄입니다.!!