LCD 구동 이후 무엇을 해볼까 하다가 전압계를 만들어 보았습니다.

머 말은 거창하지만 사실 아르두이노의 아날로그 입력을 이용하면 간단합니다.
선만 두개 더 추가하면 되지요.

아르두이노의 아날로그 입력은 0 ~ 5v를 입력받을수 있습니다. 해상도는 10bit = 1024입니다.
즉 0.0048828125v , 약 4.88mV 단위로 측정가능합니다.

위 사진은 충전지의 전압을 측정해 본것입니다. 약 1.22v가 나오네요.
소수점 출력하는법을 몰라 x100 해버렸습니다. ^^; (출력 formatting 하는 법좀 알려주세요~)
암튼 별건 아니지만 재미있네요.



#include <LiquidCrystal.h>
// LiquidCrystal display with:
// rs. rw, e, d4, d5, d6, d7 - LCD pin name
//  4,  5, 6, 11, 12, 13, 14 - LCD pin #
LiquidCrystal lcd(2,3,4,  8,9,10,11); // arduino pin #
int val = 0;
void setup()
{
  Serial.begin(9600);
  lcd.clear();
  lcd.print("hello, world!.............");
  delay(1000);
}
void loop()
{
  val = analogRead(0)*500.0/1024.0;    // read the value from the sensor
  Serial.println(val, DEC);
  lcd.clear();
  lcd.print(val);
  digitalWrite(13, HIGH);
  delay(100);
  digitalWrite(13, LOW);
  delay(100);
}

숙제가 하나 남았네요.
5v가 넘는 전압은 어떻게 해야 측정이 가능할까요?

추가) 
아두이노에 5v이상의 전압을 직접 연결하면 아두이노가 사망할수 있으니 주의하세요.
5v 이상의 전압을 측정하려면 전압나눔 회로를 사용해야 합니다.

+ Recent posts

티스토리 툴바