I2C LCD 모듈 라이브러리 및 기본 구조 알기
오늘은 상세페이지에서 만나는 lcd모듈 스펙을 하나씩 읽어보고, 아주 기본적인 출력 코드와 I2C통신을 위한 라이브러리 설치까지 가볍게 살펴보자.
* 이전 포스팅의 드라이버를 준비하여 lCD모듈의 가변저항(글자 선명도 조절)을 조절하고 시작합시다!!
https://pangguinland.tistory.com/324
<오늘의 흐름>
1. 아두이노 I2C 1602 LCD 모듈 이 긴 이름은 무엇인가요?
2. Display 네 자리 숫자의 의미 : 1602 2004 / lcd.seCursor(0,0) 코드
3. Backlight 백라이트 / Contrast 대비
4. 전원 5V
5. I2C 인터페이스가 편한 이유, 그리고 라이브러리 설피하기
1. 아두이노 I2C 1602 LCD 모듈 이 긴 이름은 무엇인가요?
LCD 모듈인 것은 알겠는데, I2C는 무슨 말일까? LCD 모듈을 구입할 때, '아두이노 I2C 1602 LCD 모듈'와 같은 긴 제품명을 만난다. 왠만한 구입처에서 상세 페이지에 가면 많은 정보를 접할 수 있다. 오늘 하나씩 살펴보자.
디바이스 몰에서 구입을 했다면, 아래와 같은 페이지를 만난다.
2. Display 네 자리 숫자의 의미 : 1602 2004 , lcd.seCursor(0,0) 코드
제품명 뒤에 붙는 4자리 수들은 출력 가능한 문자 수, 배열을 보여준다. 1602는 화면이 16글자씩*2줄 사이즈. 2004는 20*4 글씨가 좀 더 길게 여러 줄 출력될 것이다.
좌표는 역시 0,0에서 시작이다. 살짝 헷갈리는게, (열,행) 순서다.
lcd.seCursor(5,1) 이면, 두번째 줄의 6번째 위치에 커서가 셋팅되어 그 자리부터 출력된다.
글자 출력마다, 출력 위치를 지정해야하나? 아니다.
커서는 자동 조정되어 출력 글자 다음 자리에서 이어 출력된다. 가령 아래처럼, 두개의 단어를 출력시키면?
void loop(){
lcd.setCursor( 5 , 1);
lcd.print(“MAMA”);
lcd.print(“JAMA”);
}// close loop
// 출처 : https://www.programmingelectronics.com/
3. Backlight 백라이트 / Contrast 대비
상세 설명의 백라이트 설명을 보면, 파란색 화면에 흰색 글자가 뜨는 것을 알려준다. 가독성이 꽤 좋다. 물론 요즘 터치되고, 해상도도 높은 다양한 rgb lcd가 나와있다. 그러나 가격면으로는 이만한게 없다.
Contrast 대비 조절은 뒤의 포텐셔미터( Potentiometer , 가변저항)로 조절한다. 이걸 안해서 글씨가 출력되는 데도 모르는 경우가 있다.
4. 전원 5V
LCD 2004 모듈과 작은 수중모터펌프를 아두이노의 5v핀에 연결해서 돌렸는데, 큰 문제는 없었다. 작은 프로젝트라면 외부 전원까지 연결할 필요는 없었다.
5. I2C 인터페이스가 편한 이유, 그리고 라이브러리
I2C (Inter-Integrated Circuit) 는 통신 방법을 말한다. LCD에 데이터를 전송하기 위한 방법 중 하나인데, 보통 LCD를 사면 뒷면에 I2C 어댑터가 달려있다. LCD를 좀 더 편한 I2C 통신으로 사용할 수 있도록 도와주는 어댑터이다.
왜 편하냐? 만약 이 어댑터가 없는 LCD를 구입했어도 사용할 수 있고, 인터넷에 예제도 많다.
그러나 상단의 12개나 되는 배선을 이용해 통신해야하며, 우리가 앞서 살펴본 대비(글자 선명도)조절을 위한 가변저항도 스스로 달아야하는 수고로움이 생긴다.
그런데, 이렇게 뒤에 어댑터가 달린 경우는 보다시피 납땝으로 잘 연결되어있는 부분이 어댑터를 거치며 I2C통신이 가능해진다. 그 결과 2개의 통신 배선과 2개의 전원 배선을 연결해 사용할 수 있는 것이다. 2개의 선만으로 통신하므로 TWI (two wire interface)라고도 한다.
1) 회로 : SCA, SDL은 아날로그 핀에 연결한다. 아두이노 우노에는 연결하는 곳이 2군데 있다.
2) 라이브러리 설치 : 스케치 내 라이브러리 관리에서LiquidCrystal_I2C 로 검색해 설치하자.
3) 코드 : #include <LiquidCrystal_I2C.h>
다음 포스팅에서는 기본으로 알아둘 LCD 관련 코드들을 모아보자.
'교육연구 > HW 마이크로비트 아두이노 로봇' 카테고리의 다른 글
[부품] LCD 2004 모듈 글씨가 안 뜨는 이유 , 해결 방법 (0) | 2024.05.28 |
---|---|
[기초1] 아두이노 스케치 메뉴를 한국어로 설정하기, 라이브러리 설치하기 방법 (0) | 2024.05.26 |
[mbot] 엠봇2 특징 및 wifi LAN(근거리통신) 통신 협력 수업 (0) | 2023.02.25 |
뉴 마이크로비트 vs 구 마이크로비트 비교 (0) | 2020.12.27 |
[마이크로비트] 가속도센서 활용 공중 악기 (0) | 2020.04.07 |