전압체크를 위한 회로.
처음 OLED 에 표시될 부분은 배터리의 전압입니다.
아두이노는 5V 까지의 입력을 아날로그로 읽을 수 있지만
그 이상의 전압은 전압분배회로를 이용해 분압된 전압을 읽은 후
분압된 만큼 다시 역으로 계산해서 원래 전압을 표시하면 됩니다.
RC용 LiPo 배터리를 사용할 생각이고
3셀~6셀 정도의 배터리를 사용한다고 할 때
1셀의 전압은 3.6V 부터 4.3V 까지이므로
4.3*6셀 = 25.8V 까지를 측정범위로 잡으면 되겠군요
Vin = Vout / ( R2 / ( R1 + R2)) 를 계산하면 되는데
귀찮으니 그냥 앱을 사용합니다.
18K 와 4.3K 저항을 사용하면 됩니다.
그런데 저항박스를 뒤져보니 해당 저항이 없군요...
저항을 쓰기 편하게 Vin 30v, Vout 5V 입력하니 R1 10K, R2 2K 가 나왔습니다.
입력전압은 1/6 되어 계산이 됩니다.
voltValue = analogRead(vinPin);
batVoltage = voltValue*30/1024; // Vout 5V * 전압분배비 6 = 30 을 곱한 후 1024로 나눔.
여기서 1024로 나누니 약간 오차가 있어 1080으로 조정해서 맞췄습니다.
이렇게 한 후
전압(왼쪽 위)이 제대로 표시가 됩니다.