아두이노 - LCD I2C | Arduino - LCD I2C
이 아두이노 LCD I2C 튜토리얼에서는 아두이노 보드에 LCD I2C(액정 디스플레이)를 연결하는 방법을 배웁니다. LCD는 정보를 표시하는 데 널리 사용되며 매우 인기가 있습니다. LCD에는 여러 종류가 있습니다. 이 튜토리얼에서는 예시로 LCD 16x2(16열과 2행)를 다룹니다. 다른 LCD도 비슷합니다.
준비물
1 | × | Arduino Uno | Amazon | |
1 | × | USB 2.0 cable type A/B | 쿠팡 | Amazon | |
1 | × | LCD I2C | 쿠팡 | Amazon | |
1 | × | Jumper Wires | Amazon | |
1 | × | (Optional) 9V Power Adapter for Arduino | Amazon | |
1 | × | (Recommended) Screw Terminal Block Shield for Arduino Uno | 쿠팡 | Amazon | |
1 | × | (Recommended) Breadboard Shield For Arduino Uno | 쿠팡 | Amazon | |
1 | × | (Recommended) Enclosure For Arduino Uno | Amazon |
LCD I2C 16x2에 대하여
이전 튜토리얼에서 우리는 일반 LCD 사용 방법을 배웠습니다. 그러나, 아두이노와 일반 LCD 사이의 배선은 복잡합니다. 따라서, 배선을 간소화하기 위해 LCD I2C가 만들어졌습니다. 실제로, LCD I2C는 일반 LCD, I2C 모듈, 그리고 가변저항으로 구성되어 있습니다.
핀배열
LCD I2C는 I2C 인터페이스를 사용하므로 4개의 핀이 있습니다:
- GND 핀: GND(0V)에 연결해야 합니다.
- VCC 핀: LCD의 전원 공급용으로, VCC(5V)에 연결해야 합니다.
- SDA 핀: I2C 데이터 신호
- SCL 핀: I2C 클록 신호
LCD 좌표
LCD I2C 16x2는 16개의 열과 2개의 행을 포함합니다. 열과 행은 0부터 인덱싱됩니다.
선연결
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
LCD I2C | Arduino Uno, Nano | Arduino Mega |
---|---|---|
Vin | 5V | 5V |
GND | GND | GND |
SDA | A4 | 20 |
SCL | A5 | 21 |
LCD I2C 프로그래밍 방법
LiquidCrystal_I2C 라이브러리 덕분에 LCD를 사용하는 것이 식은 죽 먹기입니다.
라이브러리를 포함하십시오:
I2C 주소, 열의 수, 행의 수를 가진 LiquidCrystal_I2C 객체를 선언하십시오:
LCD를 초기화하십시오.
커서를 원하는 위치(열_인덱스, 행_인덱스)로 이동하세요.
LCD에 메시지를 출력하십시오.
다양한 기능을 제공합니다 (LCD로 더 많은 것을 하세요 부분 참조).
※ NOTE THAT:
LCD의 I2C 주소는 제조업체에 따라 다를 수 있습니다. 코드에서는 DIYables 제조업체에서 지정한 0x27을 사용했습니다.
아두이노 코드
사용 방법
- 아두이노 IDE의 왼쪽 바에서 Libraries 아이콘으로 이동하세요.
- "LiquidCrystal I2C"를 검색한 다음, Frank de Brabander가 제작한 LiquidCrystal_I2C 라이브러리를 찾으세요.
- LiquidCrystal_I2C 라이브러리를 설치하려면 Install 버튼을 클릭하세요.
- 위의 코드를 복사하여 Arduino IDE로 엽니다
- Arduino IDE에서 Upload 버튼을 클릭하여 코드를 Arduino에 업로드합니다
- 결과를 LCD에서 확인합니다
텍스트와 위치를 수정해보세요.
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.
LCD로 더 많은 것을 하세요
맞춤 캐릭터
lcd.print() 함수는 오직 ASCII 문자만 지원합니다. 특별한 문자나 상징(예: 하트, 앵그리 버드)을 표시하고 싶다면 아래의 문자 생성기를 사용해야 합니다.
LCD 16x2는 32개의 문자를 표시할 수 있습니다(2행 16열). 각 문자는 40픽셀로 구성됩니다(8행 5열).
캐릭터 생성기는 캐릭터(40 픽셀)를 나타냅니다. 단지 다음 단계들을 수행하면 됩니다:
LCD에 표시된 결과:
다양한 맞춤형 캐릭터들
우리는 최대 8개의 사용자 정의 문자(0부터 7까지 인덱싱)를 만들 수 있습니다. 아래 예는 세 개의 문자를 생성하고 표시합니다.
LCD에 표시된 결과:
요약: LCD에서 사용자 정의 문자 사용 방법
- 위의 문자 생성기를 사용하여 사용자 지정 문자의 이진 코드를 만드세요.
- 사용자 지정 문자의 이진 코드를 선언하세요 (위 단계에서 복사).
setup() 함수에서 인덱스 값(0에서 7까지)에 맞춰 커스텀 문자를 생성하고 할당하세요.
언제 어디서나(설정() 또는 루프() 함수에서) LCD에 사용자 정의 문자를 출력하세요.
기타 기능들
아래의 함수들을 하나씩 loop() 함수 안에 추가하십시오. 그리고 각 함수 후에 delay(5000)을 추가하십시오.
맑은 LCD 화면
커서를 LCD의 상단 왼쪽으로 이동하세요.
커서를 (열, 행) 위치로 이동시키세요.
LCD 커서를 표시하세요.
LCD 커서를 숨깁니다.
깜박이는 LCD 커서를 표시하세요.
깜박이는 LCD 커서를 끕니다.
- 그리고 더 많은 정보는 LiquidCrystal 라이브러리 레퍼런스에서 확인하세요.
도전하세요
다음 프로젝트 중 하나를 수행하려면 LCD를 사용하십시오:
- PC에서 (시리얼 모니터를 통해) 텍스트를 보내고 LCD에 표시하기. 힌트: PC에서 아두이노로 데이터 보내기 참조
- 키패드의 눌린 키를 LCD에 표시하기. 힌트: 아두이노 - 키패드 참조
LCD I2C 문제 해결
LCD I2C에 텍스트가 표시되지 않는 경우, 다음 문제를 확인해 주세요:
i. LCD 뒷면의 포텐시오미터를 돌려 LCD의 밝기를 조절하십시오.
ii. 제조업체에 따라 LCD의 I2C 주소가 다를 수 있습니다. 일반적으로 LCD의 기본 I2C 주소는 0x27 또는 0x3F입니다. 이 값을 차례로 시도하십시오. 그래도 실패한다면 아래 코드를 실행하여 I2C 주소를 찾으십시오.
Serial Monitor에서의 결과: