아두이노:LCD 사용
아두이노 관련 정보를 모으기 위한 틀. 틀:아두이노
- 아두이노:개요
- 아두이노:하드웨어
- 아두이노:코드
- 아두이노:핀 사용
- 아두이노:시리얼 통신
- 아두이노:편의함수
- 센서 사용
- 아두이노:LCD 사용
- 아두이노:스위치 사용
- 아두이노:릴레이
- 아두이노:WIFI
- 아두이노:해결되지 않은 다양한 의문들
- 수업용 간단 실습
- 분류:아두이노 프로젝트
개요
과정 | 설명 | 코드 |
---|---|---|
setup | 셋업에 넣을 코드. | lcd.init(); //액정 초기화
lcd.backlight(); //액정 백라이트 켜기 |
loop | 루프에 넣을 코드. | lcd.setCursor(0,0); //표시 시작지점 설정
lcd.print("illumination="); //내용 작성 lcd.setCursor(13,0); //시작지점 설정 lcd.print(a); //내용 작성 |
16x2 LCD
보통 I2C 변환모듈을 달아두어 4핀으로 제어한다.
사용법
I2C변환모듈을 설치한 경우
코드해석 및 문제해결
코드 | 설명 | 문제해결 |
---|---|---|
LiquidCrystal_I2C lcd(0x27,16,2); | lcd 변수를 지정한다.
(접근주소, 16칸, 2줄)이라는 의미 |
접근주소로 보통 0x3F 혹은 0x27를 넣는다.
제대로 연결, 코드에도 문제가 없는데 안나온다면 접근주소를 건드려보자. |
LCD가 안나올 때 | 밝기가 너무 밝거나 어두워 글자가 보이지 않을 때가 있다. | 변환모듈 뒷면에 돌릴 수 있는 나사가 있는데, 이게 밝기를 조절해준다. |
LCD 1602 키패드 쉴드
- 아두이노 우노(가장 잘 맞음), 메카와 호환되는데, 직관적으로 꽂으면 된다.
- 아날로그 핀을 그대로 사용할 수 있는데, 디지털핀도 표기는 되어있지 않지만 이용할 수는 있다.
- 키버튼은 A0로 들어온다.(제조사별로 값이 달라 A0 값을 프린트하게 해보아야 한다.)
코드 | 설명 | 비고 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
수신정보 |
int lcd_key = 0;
int adc_key_in = 0;
#define btnRIGHT 0
#define btnUP 1
#define btnDOWN 2
#define btnLEFT 3
#define btnSELECT 4
#define btnNONE 5
int read_LCD_buttons()
{
adc_key_in = analogRead(0); // read the value from the sensor
// my buttons when read are centered at these valies: 0, 144, 329, 504, 741
// we add approx 50 to those values and check to see if we are close
if (adc_key_in > 1000) return btnNONE;
if (adc_key_in < 50) return btnRIGHT;
if (adc_key_in < 250) return btnUP;
if (adc_key_in < 450) return btnDOWN;
if (adc_key_in < 650) return btnLEFT;
if (adc_key_in < 850) return btnSELECT;
return btnNONE; // when all others fail, return this...
}
|
|||||||||||||||||
코드 | 설명 | 문제해결 |
---|---|---|
LiquidCrystal_I2C lcd(0x27,16,2); | lcd 변수를 지정한다.
(접근주소, 16칸, 2줄)이라는 의미 |
접근주소로 보통 0x3F 혹은 0x27를 넣는다.
제대로 연결, 코드에도 문제가 없는데 안나온다면 접근주소를 건드려보자. |
LCD 1602 키패드 쉴드
참고. https://devicemart.blogspot.com/2022/01/22-wekit-lcd-1602.html