프로젝트

나도 메이커! 메이커스 여러분들의 작품/프로젝트를 공유하는 공간입니다.

[해외 프로젝트]아두이노를 베이스로 제작한 거리 측정 박스

2015-06-11 11:02:05

초음파 센서를 사용하여 생활에서 사용할 수 있는 자를 만들었네요.

어렵지 않은 프로젝트라 누구나 손쉽게 만들어 볼 수 있을것으로 생각합니다.

URL: http://www.instructables.com/id/Arduino-based-Distance-Measure-Box/

 

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 

 

Intro

 

 

 

안녕하세요? 이번 프로젝트에서는 제가 어떻게 아두이노 우노와 초음파 센서를 사용하여 거리 측정 박스를 어떻게 제작했는지 보여드리도록 하겠습니다.

시작하기 전에 아래의 준비물을 준비해 주세요.

 

1. 아두이노 우노

2. HC-SR04 초음파 센서

3. LCD 16x2

Watch video on YouTube!

 

 

Step 1: HC-SR04 초음파 센서에 대하여

 

    

1. 초음파 센서

 초음파 센서의 작동 원리는 레이더, 소나와 유사합니다. 목표를 소리 혹은 음파 울림을 해석하여 측정합니다. 초음파 센서를 작동시키면 초음파를 생성하게 되는데 그 초음파를 센서가 인식하여 값을 도출합니다. 즉 초음파가 목표물에 부딪혀서 돌아오는 시간을 측정하여 목표와의 거리를 알아냅니다. 기본적인 초음파센서의 작동원리는 마이크와 같습니다. 즉 초음파를 일정 조건 하에 탐지하게 되는 것입니다.

 

2. HC-SR04

 이 초음파센서는 돌고래나 박쥐처럼 소나를 사용하여 물체와의 거리를 측정합니다. 거리를 간접적으로 측정하게 해주는 이 센서는 누구나 쉽게 사용할 수 있고 정확도와 안정성이 높습니다. 2cm ~ 400cm 정도까지 측정이 가능합니다. 이것은 일단 작동하면 샤프사의 거리측정기와는 달리 햇빛과 검은 물체의 영향을 받지 않습니다.(대신 옷과 같은 부드러운 물질과의 거리는 측정이 어렵습니다) 이 센서는 완전한 초음파 트랜시미터와 리시버 모듈로 구성되어 있습니다.

 

3. 아두이노 라이브러리

HC-SR04라이브러리를 다운받아서 아두이노 IDE가 설치된 폴더 안의 라이브러리 폴더에 복사합니다. 찾는 법을 모르겠다면 아래의 비디오를 참조하세요.

 

(see this video if you don't know how to find it)

 

초음파 센서 라이브러리 내려받기

 

 

Step 2: 브레드보드 회로도 레이아웃

 

 

 팁! 만약 여러분이 화면을 조절하고 싶다면 그라운드 대신 4.7k 가변저항을 LCD 3번 핀에 연결하세요.

 

 

Step 3: 코드

 

이 코드를 업로드 하기 전에 반드시 아두이노 라이브러리폴더 안에 HC-SR04 라이브러리를 설치해 놔야 합니다.

 

코드 내려받기

 

#include "Ultrasonic.h"
#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
Ultrasonic ultrasonic(A0,A1);

void setup() {
	// LCD 초기화 (16 rows, 2 columns)
	lcd.begin(16, 2); 
}

void loop() {
	lcd.clear();
	// LCE에 표시되는 메시지 
	lcd.print(" Ardumotive ;) ");
	// 두번재 줄로 이동한다. 
	lcd.setCursor(0, 1); 
	
	lcd.print("Distance: ");
	// 거리를 측정한다. 
	lcd.print(ultrasonic.Ranging(CM));
	
	lcd.print("cm");
	
	delay(1000);
}

 

[keywords.txt]

Ultrasonic	KEYWORD1
Timing	KEYWORD2
Ranging	KEYWORD2
CM	LITERAL1	Constants
INC	LITERAL1	Constants

 

[Ultrasonic.cpp]

/*
  Ultrasonic.cpp - Library for HC-SR04 Ultrasonic Ranging Module.library

  Created by ITead studio. Apr 20, 2010.
  iteadstudio.com
*/

#include "Arduino.h"
#include "Ultrasonic.h"

Ultrasonic::Ultrasonic(int TP, int EP)
{
   pinMode(TP,OUTPUT);
   pinMode(EP,INPUT);
   Trig_pin=TP;
   Echo_pin=EP;
}

long Ultrasonic::Timing()
{
  digitalWrite(Trig_pin, LOW);
  delayMicroseconds(2);
  digitalWrite(Trig_pin, HIGH);
  delayMicroseconds(10);
  digitalWrite(Trig_pin, LOW);
  duration = pulseIn(Echo_pin,HIGH);
  return duration;
}

long Ultrasonic::Ranging(int sys)
{
  Timing();
  distacne_cm = duration /29 / 2 ;
  distance_inc = duration / 74 / 2;
  if (sys)
  return distacne_cm;
  else
  return distance_inc;
}

 

 

 

Step 4: 회로와 박스

 

 

나는 개인적으로 제가 스스로 만든 아두이노 베이스의 회로를 더 선호하고 이 창작품은 일반 아두이노 우노보다 더 작은 사이즈 입니다.

박스를 만들기 위해 나는 발사 나무 보드를 사용했습니다. 나무를 자르기 전에 먼저 회로의 크기를 확인하여 만들고자 하는 박스 안에 잘 들어가는지 확인해야 합니다.

 

 

순서대로 따라해보세요.

1. 판자를 자르기 전에 펜으로 선을 잘 그어 놓습니다.

2. 발사 나무를 사용하면 매우 부드러워 자르기 쉽습니다.

3. 아두이노를 박스 내부에 집어넣고 LCD와 HC-SR04도 미리 잘라놓은 위치에 놓습니다..

4. 마지막으로 풀로 접합 부분을 붙여서 마무리.(필자는 글루건을 사용했다)

 만약 여러분이 원한다면 페인트칠도 할 수 있습니다. 필자는 메이커의 색인 초록색으로 칠을 했습니다.

 

 

Step 5: 거리 측정 테스트

 

 

아래의 비디오를 감상하세요.

수박쨈

arduino, 아두이노, Instructables, 초음파 센서, 거리 측정