?>

Hard Copy World

HCW

Q&A

Home > Forum >

Q&A

질문 | 시간함수 이용관련 질문입니다.

페이지 정보

작성자 공대생4 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일16-11-09 18:57 조회890회 댓글1건

본문

MSTIMER2 나 metro 라이브러리를 이용하여서

 

압력이 가해지면 압력을 받아들여 카운팅하는 함수를 불러내고

 

그 시간 내에서 카운팅이되면 모터(지금은 led로 해놨습니다)를 작동하고

 

시간이 지나면 함수를 리셋하려합니다.

 

함수는 만들었는데 압력이 가해지고 일정 시간동안 함수를 가동시키는 부분을 모르겠습니다

 

int flexiForcePin = A0; //analog pin 0
 int state = 0; 
 int count = 0;
int LED = 13;

void setup() {
  Serial.begin(9600);
  pinMode(LED,OUTPUT);
}

void loop() {
  int Sensorval = analogRead(A0); // 전압값을 analogRead로 읽는다 
  int Newton = map(Sensorval, 0 , 1023, 0, 110); // 0~1023으로 받은 전압값을 0~110 값으로 변환
  Serial .println("Newton : " +String(Sensorval) +"N" );
   if (Sensorval <40){ 
      if(state == 0) {
        delay(500);
        state = 1;
      }
    } // 0~110 사이로 받은 Sensorval 40미만일때, state를 0에서 1로 변환
       if (Sensorval >=80){ 
      if(state==1) {
        count += 1;
        delay(500);
        state = 0;
      }
       } // 0~110 사이로 받은 Sensorval 값이 80이상일때, count 1추가 후, state를 1에서 0으로 변환
        Serial .println("count : " +String(count)); // 카운트 확인
    if(count >= 5) {
      digitalWrite(LED,HIGH);
    } // 카운트가 5회 이상 진행되었을때, LED작동
  delay(500); //just here to slow down the output for easier reading
}

 

이걸 나중에 불러들이려고하는데 시간함수 도움을 구하고싶습니다...ㅠ

댓글목록

최고관리자님의 댓글

최고관리자 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일

millis() 함수를 사용하시면 마이크로초 단위로 현재 시간을 구할 수 있습니다. (아두이노 시작 후 지난 시간)
이 값을 이용해서 시간이 얼마나 흘렀는지 체크하면 됩니다. 아래 링크의 내용 참고하세요.
http://www.hardcopyworld.com/gnuboard5/bbs/board.php?bo_table=lecture_begin&wr_id=18