마음 속 하늘은 항상 맑음~!

아두이노 ADC값 측정기. 본문

기타

아두이노 ADC값 측정기.

파르셀수스 2019. 9. 8. 10:14

 아두이노 UNO와 LCD1602A로 만든 간단한 ADC값 측정기.

 A5~A2까지의 값을 읽어서 보여준다.

 눈으로 읽을 수 있으려면 초당 10회 정도로 측정을 제한해야 했다.

 LCD 1602A의 라이브러리는 LiquidCrystal을 사용했다.

 

 LCD1602A의 V0 연결이 중요한데 그냥 1k저항만을 연결해줘도 상당한 밝기의 글자가 보인다. Vdd-V0 값으로 글자 밝기가 정해지는데, GND에 V0를 연결하면 최대 글자 밝기가 된다.

 

 LCD1602A는 네이버에서 협신전자(ic114.com)를 검색하면 저렴하게 구입할 수 있다.

 

 공간제약으로 4개의 ADC값만 표시할 수 있었다.

 각각의 16x2의 각각의 글자칸에는 메모리 내용이 남아 있어서 공백으로 지워줘야 깨끗하게 숫자가 나타난다.

 

#include <LiquidCrystal.h>

/*
 * LCD RS pin to digital pin 12
 * LCD Enable pin to digital pin 11
 * LCD D4 pin to digital pin 5
 * LCD D5 pin to digital pin 4
 * LCD D6 pin to digital pin 3
 * LCD D7 pin to digital pin 2
 * LCD R/W pin to ground
 * LCD VSS pin to ground
 * LCD VCC pin to 5V
 * LCD VO pin (pin 3) -- 1k Ohm to GND
*/

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

int a0;

void setup() {
  lcd.begin(16,2);
}

void loop() { 
  // line 0
  lcd.setCursor(0,0);
  lcd.print("A5:     A4:    ");
  a0=analogRead(5);
  lcd.setCursor(3,0);
  lcd.print(a0);
  a0=analogRead(4);
  lcd.setCursor(11,0);
  lcd.print(a0);
  // line 1
  lcd.setCursor(0,1);
  lcd.print("A3:     A2:    ");
  a0=analogRead(3);
  lcd.setCursor(3,1);
  lcd.print(a0);
  a0=analogRead(2);
  lcd.setCursor(11,1);
  lcd.print(a0);
  delay(100);
}