아두이노에 초음파센서와 LCD모듈을 함께 연결해서 작동시켜 봅시다.
01. 아두이노 회로 구성하기
아래와 같이 회로를 연결해 봅시다.
LCD 연결
Gnd: Gnd
VCC:5V(브레드보드로연결)
SDA: A4
SCL: A5
초음파센서 연결
VCC: 5V(브레드보드로연결)
Trig: 11번
Echo:12번
Gnd:Gnd
02. 아두이노 스케치하기
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
const int trig_pin=11;
const int echo_pin=12;
void setup() {
pinMode(trig_pin, OUTPUT);
pinMode(echo_pin, INPUT);
Serial.begin(9600);
lcd.init();
lcd.backlight();
}
void loop() {
digitalWrite(trig_pin,HIGH);
delayMicroseconds(1000);
digitalWrite(trig_pin,LOW);
long duration=pulseIn(echo_pin,HIGH);
long distance=(duration/2)/29.1;
Serial.print(distance);
Serial.println("cm");
lcd.print("HEIGHT");
lcd.print(distance);
lcd.print("cm");
lcd.begin(16,2);
delay(500);
}
01: I2C 통신 라이브러리 불러오기
02:LCD 1602 I2C용 라이브러리 불러오기
03:LCD 설정 접근주소는 0x27, 16개문자 2행
04:trig핀 11번 설정
05:echo핀 12번 설정
06~: Setup 함수를 정의한다
07:trig핀 출력 설정
08:echo핀 입력 설정
09:통신속도를 9600으로 설정
10: LCD 초기화
11:LCD 백라이트 켜기
12:loop함수를 정의한다.
13:trig핀 초음파 출력
14:1000마이크로세컨즈대기
15:trig핀 초음파 멈춤
16:echo핀 입력들어온 시간 측정
17:거리 측정
18:거리값 출력(시리얼모니터에)
19:"cm"텍스트출력(시리얼모니터에)
20: LCD에 출력"HEIGHT"
21: LCD에 출력 distance값
22: LCD에 출력 "cm"
23: LCD 의 크기를 설정
13:500밀리초 대기