전체상품목록 바로가기

본문 바로가기



현재 위치

  1. 게시판
  2. 코딩교실

아두이노 초음파센서를 이용한 LED등 켜기
subject 아두이노 초음파센서를 이용한 LED등 켜기
writer 대표 관리자 (ip:)
  • date 2016-08-29 10:08:53
  • recom 추천 하기
  • hit 237
  • point 0점

초음파센서를 이용한 LED등 켜기

 

준비물

초음파센서

LED 모듈

점프선

아두이노

우노 보드

HC-SR04

1

1

8

1

 

작품설명

초음파 센서를 이용하여 거리에 따라 LED색을 다르게 출력한다.

초음파 센서(HC-SR04) 2Cm ~ 4m 범위의 물체를 감지 할 수 있는 초음파 센서 모듈이다.

초음파의 속도는 340m/s이고 초음파가 발생되어 물체에 부딪히게 되면 반사되어 돌아오게 된다. 이 시간차를 계산하면 거리를 계산 할 수 있다.

Trig핀은 송신파를 내보내고, Echo핀은 수신파를 읽는다.

Echo핀의 출력값은 IDE(개발환경) pulseIn()함수를 통해 리턴되면 Cm 로 변환하여 사용한다.

회로도


 

소스코드

////////////////////////////////////////////////////////////

//초음파센서를 이용한 LED전등켜기

//Think coding 딩코

///////////////////////////////////////////////////////////

 

#define trigPin 13 //출력핀

#define echoPin 12 //입력핀

int R = 7;     //LED등 켜기 pin

int G = 6;     //LED등 켜기 pin

int B = 5;     //LED등 켜기 pin

 

void setup() {

  Serial.begin(9600);

  pinMode(trigPin, OUTPUT);

  pinMode(echoPin, INPUT);

  pinMode(R,OUTPUT);

  pinMode(G,OUTPUT);

  pinMode(B,OUTPUT);

 

}

 

void loop() {

  int duration, distance;

  digitalWrite(trigPin, HIGH);

  delayMicroseconds(1000);

  digitalWrite(trigPin, LOW);

  duration = pulseIn(echoPin, HIGH);

  distance = ( duration/2)/29.1;

  if ( distance >= 200 || distance <=0 )

  {

    Serial.println("OUT of range");

  }

  else{

    Serial.print(distance);

    Serial.println(" cm ");

    if ( distance <=5 )

    {  

      ledOff();

    }else if ( distance > 5 && distance <= 15 ){

      ledRedOn();    //빨간등 켜기

    }else if ( distance > 15 && distance <= 30 ){

      ledYellowOn(); //노란등 켜기

    }else if ( distance > 30 && distance <= 45 ){

      ledBlueOn();  //파란등 켜기

    }else

    {

      ledOff();

    }

    }

 

  delay(500);           

 }

 

///////////////////////////////////////////

//LED 빨간등 켜기

///////////////////////////////////////////

 void ledRedOn()

 {

analogWrite(R,255);

  analogWrite(G,0);

  analogWrite(B,0);

 }

///////////////////////////////////////////

//LED 노란등 켜기

///////////////////////////////////////////

 void ledYellowOn()

 {

 

  analogWrite(R,255);

  analogWrite(G,228);

  analogWrite(B,0);

 }

///////////////////////////////////////////

//LED 파란등 켜기

///////////////////////////////////////////

 void ledBlueOn()

 {

  analogWrite(R,0);

  analogWrite(G,84);

  analogWrite(B,255);

 }

 

///////////////////////////////////////////

//LED 끄기

///////////////////////////////////////////

void ledOff()

{

  analogWrite(R,0);

  analogWrite(G,0);

  analogWrite(B,0);

}

 

동영상

 

문의처

다두이노와 딩코가 함께하는 코딩스쿨

교육문의: daduino@daduino.co.kr

 

 

file 초음파 센서 LED등 켜기.png
password * 삭제하려면 비밀번호를 입력하시고 엔터키를 눌러주세요.
목록 삭제 수정 답변
댓글 수정

password

수정 취소

/ byte

reply

댓글 입력

name password 관리자답변보기

확인

/ byte

* 왼쪽의 문자를 공백없이 입력하세요.(대소문자구분)

회원에게만 댓글 작성 권한이 있습니다.


이전 제품

다음 제품