질문게시판 > ATMEGA128 모터 시간제어

인기검색어 > 아두이노 센서 ATMEGA128

최신글 질문게시판 동영상강좌 가입하기

▼ BASIC4MCU 후원업체 신제품 정보 ▼

▲ BASIC4MCU 후원업체 신제품 정보 ▲

BASIC4MCU > 질문게시판

ATMEGA128 모터 시간제어

페이지 정보

작성자 peace 작성일21-12-23 03:48 조회5,159회 댓글4건

본문

버튼 누를시 3초뒤에 모터가 정지되게하는 프로그램을 짜고싶은데 시간제어는 안되고 계속 모터가 돌아가는데 어떻게 하면 3초뒤에 모터동작을 멈추게 할 수 있을까요?

 

#include <avr/io.h>

#include <avr/interrupt.h>

#include <util/delay.h>

 

volatile int t = 0;               // 시간, 0.01sec

volatile int accel=8, timerCnt=1; // 가속 변수(역배속), 0.01초에 맞추기 위한 cnt

volatile int i = 0;               // 0 정지, 1 증가

 

void main(void)

{

PORTB = 0x20; // 0x?0 --> ? X, enable(0: enable, 1: disable), dir(0: 역방향 ,1: 정방향), pwm2

DDRB  = 0xFF; //output 0C0(PB4)

 

PORTF = 0x00;

DDRF = 0x00; // 속도 조절

 

TCNT0 = 0x00; 

OCR0 = 0x00; //값 증가시 duty cycle 증가, 값 감소시 duty cycle 감소

TCCR0 = 0x6C; //0110, 1100 --> Fast PWM, non-inverting mode, presacler:64 

 

sei(); 

while(1)

{

//OCR0 값 증가시 duty cycle 커져서 속도가 빨라짐

//OCR0 값 감소시 duty cycle 작아져서 속도가 느려짐

if(PINF & 0x01)

{

OCR0 = 250;

timerCnt++;           

if( timerCnt >= accel)  

{                      

timerCnt=0;

 

t++;

if(t == 3000) // 3000 되면 다시 0초로

OCR0 = 0;

}

}

}


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

댓글 : 4

조회수 : 5,159

master님의 댓글

master 작성일

#include <avr/io.h>
#include <util/delay.h>
//
void main(void){
  DDRB=0xFF; PORTB=0x20;
  TCCR0=0x6C;
  while(1){
    if(PINF&1){ OCR0=250; _delay_ms(3000); OCR0=0; }
  } 
}

peace님의 댓글

peace 댓글의 댓글작성일

답변 감사합니다. 혹시 버튼을 누르고 후에 땟을때 3초 뒤에 동작이 멈추게 하려면 어떻게 해야할까요
마스터님이 댓글 남겨주신것은 버튼을 누르고 있어야 모토동작이 하고 때게 되면 시간 상관없이 멈춤 현상이 나타나서요 ㅠㅠ

master님의 댓글

master 작성일

#include <avr/io.h>
#include <util/delay.h>
//
void main(void){
  DDRB=0xFF; PORTB=0x20;
  TCCR0=0x6C;
  while(1){
    if(PINF&1){
      _delay_ms(100);  while(PINF&1); // 뗄 때까지 대기
      OCR0=250; _delay_ms(3000); OCR0=0;
    }
  }
}

peace님의 댓글

peace 작성일

감사합니다. 마스터님 피드백으로 해당 코드넣고 해봤을때 1초 후 정지가 되어 _delay_ms(30000);으로 해보니 버튼을 누르고 3초정도 뒤에 모터 동작 정지가 되었습니다.

게시물 검색

BASIC4MCU > 질문게시판 목록

제목 날짜
질문 atmega128과 dht11, lcd를 연결했는데 0… 댓글[1] 고양이33  22-08-02
질문 ATmega128, ATmega28 RS232통신 첨부파일Moon4201  22-06-24
답변 답변 : ATmega128, ATmega28 RS232… 댓글[1] master  22-06-25
질문 atmega128 avr usart 질문 snoflak  22-06-21
답변 답변 : atmega128 avr usart 질문 댓글[5] master  22-06-21
질문 atmega128 댓글[1] 양의노래  22-06-20
질문 ATMEGA128 UART,FND 연동 질문 JMOD  22-06-19
답변 답변 : ATMEGA128 UART,FND 연동 질문 댓글[1] master  22-06-20
질문 atmega128 초음파 센서로 신호등 시간초 늘리기 서동씨  22-06-18
답변 답변 : atmega128 초음파 센서로 신호등 시간초… 댓글[1] master  22-06-18
질문 atmega128 댓글[2] 망경이  22-06-18
질문 안녕하세요 atmega128 질문드리고 싶습니다. (자… 댓글[3] dlcldl  22-06-17
질문 ATMEGA128 HIGH LOW신호 수신 질문 yhj2644  22-06-16
답변 답변 : ATMEGA128 HIGH LOW신호 수신 질… 댓글[3] master  22-06-17
질문 codevision atmega128 코딩 알려주세요 … 댓글[4] goodjob  22-06-16
질문 atmega128 인터럽트 이용한 dc모터 제어 댓글[2] 첨부파일박맹  22-06-10
질문 atmega128 순차적신호 질문있습니다 댓글[1] 첨부파일졸업예정  22-06-10
답변 답변 : atmega128 순차적신호 질문있습니다 master  22-06-10
질문 ATMEGA128 인터럽트 관련질문입니다 댓글[2] 짜요쩌요  22-06-09
질문 atmega128에서 초음파 센서(HC-SR04)를 통… seung  22-06-08
답변 답변 : atmega128에서 초음파 센서(HC-SR0… 댓글[1] master  22-06-08
질문 Atmega128 코딩 도와주세요,,! 첨부파일화니뿌뿌  22-06-07
답변 답변 : Atmega128 코딩 도와주세요,,! 댓글[3] master  22-06-08
질문 atmega128 코드 질문있습니다 콜뚜기  22-06-07
답변 답변 : atmega128 코드 질문있습니다 댓글[3] master  22-06-07
질문 ATMEGA128질문입니다. 댓글[1] suid82  22-06-06
질문 atmega128 프로젝트 외주 사례합니다 댓글[1] 공돌ㅇ  22-06-05
질문 atmega128 프로테우스 부저소리 관련하여.. 댓글[1] 꿍다라링  22-06-04
질문 atmega128 조도센서를 이용하여 서보모터와 dc모… 첨부파일화니뿌뿌  22-06-02
답변 답변 : atmega128 조도센서를 이용하여 서보모터… 댓글[4] master  22-06-02
게시물 검색


Privacy Policy
MCU BASIC ⓒ 2017
PC버전