현재 I2C 방식 Arduino LCD 라이브러리는 총 5개 정도 있습니다.
Adafruit_LiquidCrystal == 우리 실습에 사용
Adafruit_LiquidCrystal-master,
LiquidCrystal_I2C,
Newliquidcrystal_1.3.5,
SPI_IIC_LCD
이 방식은 총 4가닥 신호만 연결해주면 됩니다.
GPIO 핀이 부족할 때 사용하면 좋을 거 같습니다.
사용법은 전에 했던 4, 8Bit 방식하고 거의 같습니다.
이를 사용하기 위해서는 LiquidCrystal_I2C.h 라이브러리를 불러와야 합니다.
즉 #include <LiquidCrystal_I2C.h> 요렇게 해야 합니다.'
사용함수정리
이중에서 작색글씨 잘 보시기 바랍니다.
즉 priunt, setCursor, write 함수 등이 주로 사용됩니다.
그다음에 I2C 객체를 선언해야 합니다.
함수명은
LiquidCrystal_I2C lcd(0x3F, 16, 2); //lcd 객체 선언
입니다. 여기서 중요한건 I2C 어드레스 입니다.
보통 0x3f 인 경우가 많이 있습니다 만...
정확한건 I2C 스케너를 통해서 확인할 수 있으며 Arduino 싸이트에서는 이를 지원 합니다.
LiquidCrystal_I2C(uint8_t lcd_addr, uint8_t lcd_cols, uint8_t lcd_rows, uint8_t charsize = LCD_5x8DOTS)
그러나 현재 이 라이브러리는 팅거 CAD 시뮬레이션에서는 동작하지 않으며, 공식 Arduino 사이트에서도
주로 <Adafruit_LiquidCrystal.h> 이 라이브러리를 공식적으로 지원하는 거 같다.
우린 실습을 <Adafruit_LiquidCrystal.h> 이 라이브러리를 사용하여 팅거CAD에서 시뮬레이션 실습하고,
차후 실습 기자재가 들러오면 드때 다시 LiquidCrystal_I2C.h 를 실습하기로 한다.
상기 2개 라이브러리 모두 지원하는 함수 긴으과 함수명은 동일하다.
다만 처음 시작시 LCD 객체 생성하는거 하고 하등웨어 초기화 하는 부분만 조금 다를 뿐이다.
근데 시뮬레이터가 아닌 실제 보드로 동작시키면 Adafruit_LiquidCrystal.h
은 동작하지 않는다.
실제 보드로 할 경우는 LiquidCrystal_I2C.h를 사용해야 만 한다.