본문으로 바로가기

  아두이노(Arduino) 기초 디스플레이 CLCD 2편  


애드라이프의 아두이노 모든 포스팅 리스트를 보고 싶으신 분은 공지 읽어주세요.




이전 포스팅에서 CLCD를 이용해서 간단한 문자를 디스플레이해봤습니다.

기본을 배웠으니 이제 응용을 해봐야 겠죠?

이번 포스팅에서는 ADC값을 CLCD에 표현하는 것을 해볼 텐데요.

ADC에 관해서 궁금하신 분들은 아래 포스팅을 참고해주세요.▼

[아두이노/아두이노 기초] - 아두이노(Arduino) 기초 아날로그 입출력(전압 읽기) 2편



그럼 빠르게 회로도부터 확인 해봐야겠죠?

아두이노 CLCD제어 회로


이전 포스팅에서 봤던 회로랑 비슷하죠? 똑같은 회로에 아날로그 포트로 전압만 인가해주었습니다.

중간부분에 동그란 소자는 10khom 가변 저항들입니다. 정확한 핀맵정보를 알고 싶으신분들은 

이전 포스팅을 참고해주세요.▼

[아두이노/아두이노 기초] - 아두이노(Arduino) 기초 디스플레이편(CLCD 16x2) 1편


A0 >> +5v

A1 >> +3.3v


CLCD화면 1첫번째 줄에는 +5v에 관한 ADC값과 그 값을 다시 전압으로 환산한 값을 띄울 예정이고

2번째 줄에는 3.3v에 관한 ADC값과 그 값을 다시 전압으로 환산한 값을 띄울 예정입니다.

전 미리 해보고 포스팅을 하고있지만 하면서도 느낀것은 아두이노를 쓰는 것 자체도 정말 편하다고 생각했는데

라이브러리가 정말 잘 되어있어서 더!더! 편하다는 점...!!!!

이제 프로그램을 살펴 보면서 설명 드리겠습니다.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include<LiquidCrystal.h>             //C:\arduino-1.8.5\libraries\LiquidCrystal에 해당 헤더파일있음
LiquidCrystal lcd(12,11,5,4,3,2);     //라이브러리 사용을 위한 lcd 초기화 lcd(RS, Enable, Data Bit0, Data Bit1, Data Bit2, Data Bit3)
int _5vPin = A0;          //아날로그 포트 A0는 5V입력
int _3_3vPin = A1;        //아날로그 포트 A1은 3.3V입력
void setup() {
  lcd.begin(16,2);                       //2행 8열로 라이브러리 셋팅
  Serial.begin(9600);
}
void CLCD_Voltage_Display(int _5v_ADC,int _3_3v_ADC,float _5v_Voltage,float _3_3v_Voltage)
{
  lcd.setCursor(0,0);   //lcd에 표시할 좌표를 설정해준다. 
  lcd.print("5v:"); //lcd 문자 표시
  lcd.print(_5v_ADC);
  lcd.print(",");
  lcd.print(_5v_Voltage);
 
  lcd.setCursor(0,1);
  lcd.print("3.3v:");
  lcd.print(_3_3v_ADC);
  lcd.print(",");
  lcd.print(_3_3v_Voltage);
}
void loop() {
  int _5vValue = 0;
  int _3_3vValue = 0;
  float _5voltage=0.0;
  float _3_3voltage=0.0;
 
  _5vValue= analogRead(_5vPin);       //5V전압을 디지털 신호로 변환
  _3_3vValue= analogRead(_3_3vPin);   //3.3V전압을 디지털 신호로 변환
 
  _5voltage=((float)_5vValue/1023.0)*5.0;       //받아온 값을 전압으로 계산
  _3_3voltage=((float)_3_3vValue/1023.0)*5.0;
 
//디스플레이용 함수 CLCD_Voltage_Display(첫째줄 첫번째 값,둘째둘 첫번째값,첫째줄 두번째값,둘째줄 두번째값)
  CLCD_Voltage_Display(_5vValue,_3_3vValue,_5voltage,_3_3voltage);
  delay(100);
}
 
 
cs

프로그램에 대한 설명은 주석으로 나름 열심히 달아 놓았습니다.

제가 포스팅했던 ADC를 이용하여 전압읽기 편의 내용과 디스플레이편의 내용을 합쳐서 응용해보았습니다.

대부분 디스플레이 장치는 시각정 효과를 극대화 하여 정보전달의 편이를 향상시키는 목적에 있습니다.

그래서 지금과 같이 측정값을 보여주는 용도로도 많이 사용하기 때문에 작성해 보았습니다.


제가 했던 2가지 포스팅을 섞어서 구성해 보았는데요.

아주 짧은 동영상을 준비했으니 보면서 제대로 동작하는지 확인해 보세요.

5V에 대한 정보와 3.3v에 대한 정보를 100ms 마다 한번씩 CLCD에 디스플레이 해주고 있는 모습입니다.

여러분들도 이렇게 표시되고 있다면 정상적인 동작이라고 볼 수 있습니다.

(이전 포스팅에서 언급했지만 lcd배경 밝기는 조정하는 부분은 가변저항 대신 적절한 저항을 하나 설치했습니다.)

이미 포스팅한 글들로 작상하다 보니 별로 설명 할게 없네요.


지금까지 아두이노(Arduino) 기초 디스플레이편(CLCD 16x2) 2편 포스팅이였습니다.

계속해서 도움되는 포스팅으로 찾아뵙겠습니다.

by 애드라이프