- втыкаем проводок в "землю" (контакт GND)
- втыкаем другой проводок в аналоговую дырку (например в #0)
- подключаем батарейку: минус к GND, плюс к проводку в аналоговой дырке
заливаем вот такой простенький код
int sensorPin=0; // здесь свою дырочку
double sensorValue=0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
sensorValue = analogRead(sensorPin); // забираем значение с АЦП (теоретически от 0 до 1023)
sensorValue=sensorValue*5/1023; // дырка измеряет от 0 до 5 вольт или от 0 до 1023 в цифре
Serial.println(sensorValue); // выводим в консоль
}
запускам и видим в консоле сколько вольт выдает эта батарейка
теперь осталось вспомнить школьную физику и начать измерять более 5 вольт =)
Ваш просчет, АЦП меряет относительно опорного напряжения,а оно весело падает вместе с напругой на батарее.Хотя если мерить напряжение с 12в батареи,а контроллер питать через что-нибудь в духе 7805,то поможет.Чтобы мерить напряжение выше опорного нужно использовать делитель напряжения,самый просто вариант - два резистора на 200кОм собранные буквой Y основание к плюсу батареи,один ус на минус,один на аналоговый вход,но с таки раскладом точность падает в два раза.
ОтветитьУдалитьмне как раз и надо чтоб при разряде циферка менялась, чтобы знать что пора менять батарейку
ОтветитьУдалитьЗЫ: может нарисуете схемку для "Y"?
http://savepic.net/295618.png
ОтветитьУдалитьСутра в пэинте на тачпаде...
Мерить будет от 0 до 2*Uref. Цена одного деления - (2*Uref)/1024 ,это соответственно для 10битного цапа. Вся первая моя часть послания была посвящена попыткам грамотно выразить фразу:"Если поплывет опорное напряжение,то у ЦАПа сменяться границы измерения."
Если батарея с разъемом для для балансировки и липолевая,то я бы поставил вот такую штучку http://www2.dealextreme.com/details.dx/sku.35609и через резюк завел бы вывод для пищалки на один цифровой вход на меге,а лучше еще и через прерывание по смене фронта.
А компаратор не подойдёт?
ОтветитьУдалить