블로그 검색
AVR 명령어 검색
전자부품 검색

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 이상의 전압을 측정하려면 전압나눔 회로를 사용해야 합니다.

Posted by pepsiman
comments powered by Disqus

티스토리 툴바