또 돌아온 아두이노 모듈 정리.. 오늘은 LCD module에 대해 정리해볼까 한다. 사실 LCD는 이번 캡스톤디자인 대회를 하면서 처음 다뤄봤는데 pic16f690 칩으로 다뤄본 seven-segment보다 지정을 해줘야 하는 게 적어서 훨씬 만지기 쉬웠다. (사실 엄청 간단하니까 모듈이겠지?)
LCD I2C module 구매처
https://www.navimro.com/g/440815?k=K28012808
https://www.navimro.com/g/440815?k=K28012808
www.navimro.com
1. LCD I2C module (SZH-EK101)
GND: 역시 다 알듯이 ground 역할
VCC: 얘도 역시 voltage 공급해주는 역할
SDA(Serial Data Line): 데이터 송수신, I2C 통신에서 bit 전달해주는 역할
SCL(Serial Clck Line): 데이터 전송을 동기화하는 클럭 신호 발생, bit가 전송되는 타이밍 제어하는 역할
* 이 모듈은 왜 SDA는 A4 핀에 연결해주어야 하고 SCL은 A5 핀에 연결해주어야 하는지 궁금할 것이다.. 그거슨 그냥 arduino UNO 보드에서 I2C communication을 위해 만들어진 핀이기 때문이다.. 물론 analog input pin으로도 사용 가능하다.
** 이 모듈은 16 x 2 모듈이고 address는 0x27이므로 arduino IDE 프로그램에서 지정해주면 된다.
2. 준비물
1) LCD I2C module
2) arduino UNO board
3) 점퍼선(암-수)
4) USB cable
3. 구현할 기능
-> 블루투스에서 보내준 정보를 인식하여 그 정보에 따라 선택한 구역을 화면으로 표시해주는 것이다. 예를 들어 빨간색 구역을 사용자가 가려고 선택했다면, 블루투스와 연동된 앱에 "red"라고 입력을 하면 그 정보를 받아들여 LCD 화면에 "GO TO partRED" 라고 표시를 해주면 된다. 화면에 표시해줄 글자는 arduino IDE 프로그램에서 지정해주면 되고, 나는 가장 간단하게 if문으로 구현할 생각이었다. (수신된 블루투스 값에 따라)
4. 실제 연결
1) GND -> arduino UNO board의 GND 핀에 연결
2) VCC -> 5V 핀에 연결(빵판의 플러스 단자가 연결된 라인에 꼽고, 다른 점퍼선을 이용해 LCD I2C 모듈의 VCC 핀이 꼽혀진 자리에 꽂아도 된다.)
3) SDA -> A4 핀에 연결
4) SCL -> A5 핀에 연결
5. arduino IDE program code
-> LCD I2C 모듈이 내가 원하는 문자열을 잘 출력하는지 확인하기 위해 "Welcome to my tistory" 라는 문구를 출력하는 프로그램을 만들었다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#include <Wire.h> // I2C 통신을 하기 위해
#include <LiquidCrystal_I2C.h> // LCD I2C 모듈을 사용하기 위해
// I2C 주소 설정 (일반적으로 0x27 또는 0x3F 사용)
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
// LCD reset
lcd.begin();
// Turn on backlight
lcd.backlight();
// write message
lcd.setCursor(0, 0); // lcd.setCursor(열, 행)
lcd.print("Welcome to my");
lcd.setCursor(0, 1);
lcd.print("tistory");
}
void loop() {
// 루프가 필요 없음
}
|
cs |
* LCD I2C 모듈을 사용하는 경우 아마도 arduino IDE 프로그램에 라이브러리가 설치되어 있지 않을 확률이 높으므로 library download 창에서 "LiquidCrystal I2C" 라고 검색해 설치한다.
** 혹시 lcd.begin(); 줄에서 오류가 난다면 lcd.init(); 으로 바꾸면 된다. 똑같은 초기화 동작인데 begin은 실행되지 않고 init은 잘된다..
6. 결과
아주 선명하게 내가 원하는 문자가 잘 뜨는 걸 확인할 수 있다 ^^
'캡스톤디자인(3-1) > 아두이노' 카테고리의 다른 글
[아두이노] 블루투스 모듈, HM-10(1) (0) | 2024.07.08 |
---|---|
[아두이노] 피에조 부저 모듈, fiezo buzzer (0) | 2024.07.08 |
[아두이노] RGB 모듈 (0) | 2024.07.06 |
[아두이노] 초음파 센서, HC-SR04 (0) | 2024.07.04 |