초음파센서 불 밝기 변화 > 아두이노

TODAY542 TOTAL33,804
사이트 이용안내
Login  ▼
포럼동영상강좌


◎유용한링크◎
→ Alldatasheet.com

BASIC4MCU | 아두이노 | 초음파센서 불 밝기 변화

페이지 정보

작성자 키트 작성일2017-09-13 15:41 조회416회 댓글0건

본문

	
#define TRIG 2
#define ECHO 3
#define LED1 4
#define LED2 5
#define LED3 6
//
unsigned long prev_time=0,current_time,sec;
unsigned int distance,cnt=0;
//
void setup(){ 
  state=LOW;
  pinMode(TRIG,OUTPUT); pinMode(ECHO,INPUT);
  pinMode(LED1,OUTPUT); pinMode(LED2,OUTPUT); pinMode(LED2,OUTPUT);
  Serial.begin(9600);
}
// 
void loop(){
  current_time=millis();
  digitalWrite(TRIG,1); delayMicroseconds(10); digitalWrite(TRIG,0); 
  distance=pulseIn(ECHO,1)/58.2; /* 센치미터(cm) */
  Serial.print(distance); Serial.println("cm");
  //
  if(distance<=5){ /* 5cm 이내로 접근 시 LED를 켠다 */  
    sec=(current_time-prev_time)/1000; // ms를 sec로 바꿔서 저장
    if     (sec< 600){ digitalWrite(LED1,1); digitalWrite(LED2,0); digitalWrite(LED3,0); } //600초=10분
    else if(sec<1200){ digitalWrite(LED1,1); digitalWrite(LED2,1); digitalWrite(LED3,0); } //1200초=20분
    else             { digitalWrite(LED1,1); digitalWrite(LED2,1); digitalWrite(LED3,1); } //20분이상
  }
  else{ prev_time=current_time; digitalWrite(LED1,0); digitalWrite(LED2,0); digitalWrite(LED3,0); }
  //
  delay(100);
}

10분 간격으로 불이 더 밝아지는 예제입니다.

댓글 0

조회수 416

등록된 댓글이 없습니다.

아두이노 목록

게시물 검색

MCU BASIC ⓒ 2017