한 걸음 두 걸음

arduino CLCD 사용하는 방법! 2004 CLCD DM38 I2C - 가변저항값 읽어오기 본문

Arduino

arduino CLCD 사용하는 방법! 2004 CLCD DM38 I2C - 가변저항값 읽어오기

언제나 변함없이 2019. 7. 1. 21:34
반응형

2004 CLCD DM38 I2C 모델을 아두이노를 이용해 켜보도록 하겠습니다.

결과물

먼저 CLCD를 뒤로 까보면 나오는 4가지 GND, VCC SDA SCL에 점퍼선을 연결시켜줍니다.

그리고 옆에 보이는 십자모양의 네모박스는 가변저항인데요, LCD 선명도를 조절하는 친구입니다.

최초로 받으셨을 땐 선명하지않게 설정되어있을 확률이 높으므로 돌려서 글자가 나오게 해줘야합니다. 이건 나중에 LCD 켜보고 글자가 안나오면 돌려주세요

이제 점퍼선 색깔 잘 기억해주시고 ,

가장 먼저 노란색(SCL)과 주황색(SDA)를 아두이노에 맞춰 끼워줍니다.

나머지 두 개는 GND와 VCC인데요, 아두이노에도 있으니 넣으셔도 상관없습니다. 저는 빵판에다가 했어요.

그 다음 아두이노 스케치 프로그램을 켜서 ,

(스케치프로그램 없으시면 설치하세요. 안내 포스팅 : https://onepinetwopine.tistory.com/291 )

라이브러리 추가에서 liquid crystal 12C 라이브러리를 추가시켜줍니다. 그 다음, 

// LCD를 쉽게 제어하기 위한 라이브러리를 추가
#include <LiquidCrystal_I2C.h>
#include <Wire.h>

// 0x3F I2C 주소를 가지고 있는 16x2 LCD객체를 생성합니다.(I2C 주소는 LCD에 맞게 수정해야 합니다.)
LiquidCrystal_I2C lcd(0x27, 16, 2);

// 실행시 가장 먼저 호출되는 함수이며, 최초 1회만 실행됩니다.
// 변수를 선언하거나 초기화를 위한 코드를 포함합니다.
void setup() {
  // I2C LCD를 초기화 합니다..
  lcd.init();
  // I2C LCD의 백라이트를 켜줍니다.
  lcd.backlight();

}
//float voltage = 0;
float voltage = 0;
// setup() 함수가 호출된 이후, loop() 함수가 호출되며,
// 블록 안의 코드를 무한히 반복 실행됩니다.
void loop() { 
//   voltage = analogRead(A0)/1023.f;
   voltage = ((float)analogRead(A0)/1023.f)*5;
    lcd.setCursor(0,0);           // 0번째 줄 0번째 셀부터 입력하게 합니다.
    lcd.print("  Reading test :   ");       // 문구를 출력합니다.
    lcd.setCursor(0,1);
    lcd.print(voltage);
    lcd.setCursor(10,1);
    lcd.print("V");
    }

소스코드 넣어주고 업로드 해주시면 제대로 작동합니다.

참고 출처 https://kocoafab.cc/tutorial/view/727

이제 여기서 더 응용하여 가변저항 값을 읽어보겠습니다. 

3개의 다리를 가진 우리 귀여운 가변저항은 나란한 두 다리가 +, -에 연결되고, 나머지 하나는 아두이노 A0에 연결시켜주었습니다. 

이제 A0의 값을 읽어서 LCD에 표시하도록  float voltage = ((float)analogRead(A0)/1023.f)*5;해서 가져왔습니다.

이를 lcd.print(voltage)해주니까 바로 표시됩니다. 결과물은 맨 위에 있는 사진과 같습니다. 

가변저항 값을 변화시키는 방법은 가운데 십자가 모양을 돌려주는 것입니다.

반응형