이번에 할것은 아두이노에 초음파센서를 연결하여 거리측정을 한뒤 LCD 화면에 띄울 것이다.
#include<LiquidCrystal.h>
#define trig 0 // 초음파 센서 trig - 초음파를 발생하는 신호 (디지털 0번핀 연결)
#define echo 1 // 초음파 센서 echo - 반사되어 오는 초음파를 받는 역할 (디지털 1번핀 연결)
LiquidCrystal lcd(12,11,5,4,3,2); // LCD 디지털 핀(12,11,5,4,3,2)로 연결
void setup() // 업로드하면 가장 먼저 setup부터 실행 (딱 1번)
{
pinMode(trig,OUTPUT); // trig핀 출력으로 설정
pinMode(echo,INPUT); // echo핀 입력으로 설정
lcd.begin(16,2); // LCD(16x2)이므로 설정 요롷게 함
}
long microsecondsToCentimeters(long microseconds) // 340 = 초당 초음파(소리)의 속도, 10000은 밀리세컨드를 세컨드로 10000/340 = 29
{ // 왕복거리이므로 2로 나눔.
return microseconds/29/2;
}
void loop() // setup후에 loo()가 무한루프로 계속 돈다.
{
long duration, cm;
lcd.clear(); // lcd화면을 깨끗이 클리어
digitalWrite(trig,LOW); // trig(초음파 발생하는 신호)를 껏다
delayMicroseconds(2); // 2마이크로초 동안 딜레이(멈춤) , 1초 = 1000밀리초, 1밀리초 = 1000마이크로초 , 1초 = 1000000마이크로초
digitalWrite(trig,HIGH); // trig(초음파 발생하는 신호)를 킴
delayMicroseconds(10);
digitalWrite(trig,LOW);
duration = pulseIn(echo,HIGH); // echo가 HIGH를 유지한 시간을 저장 duration에 저장
cm = microsecondsToCentimeters(duration); // cm에 함수를 통해 거리를 저장
lcd.setCursor(5,0);
lcd.print(cm); // LCD 화면에 변수 cm를 띄움
lcd.print("cm");
delay(1000); // 1초동안 delay
}
'프로젝트(학교프로젝트) > 아두이노' 카테고리의 다른 글
4. 스마트폰을 이용하여 아두이노 LED 제어 (2) | 2017.02.26 |
---|---|
5. [아두이노] 자이로 센서 + LED (2) | 2017.02.26 |
2. 아두이노 시리얼 통신 (1) | 2017.01.12 |
1. 아두이노 우노 세팅 및 기초 (0) | 2017.01.12 |