TP4056 + LiPo + arduino nano, помогите со скетчем!
- Войдите на сайт для отправки комментариев
Ср, 26/09/2018 - 18:54
Доброго времени. Нужно вывести значение вольтажа аккумулятора с помощью зарядного модуля TP4056. Видел пару примеров, но ни один нормально не работает.
В частности:
----------------------------------------------------------------
int analog_value = analogRead(A3);
input_voltage = (analog_value * 5.0) / 1024.0;
if (input_voltage < 0.1)
{
input_voltage=0.0;
}
-----------------------------------------------------------------
У меня при любо подключении выводит 5.0 и все, даже если аккума нету. Иногда бывает скачет от 4.8-5.1 резко. Может есть еще какие-нибудь способы вывода показаний? Мне надо в углу oled дисплея видеть состояние заряда!)
Подключении куда, как... Мультиметр что показывает?
Да и скетч бы целиком неплохо. Только по правилам форума.
Да я в целом интересуюсь, как можно при таком наборе осуществить эту задачу. Может у кого есть свои версии этого?
Да я в целом интересуюсь, как можно при таком наборе осуществить эту задачу. Может у кого есть свои версии этого?
В целом - можно. Говоря в общем - нет никаких проблем. :)
а если рассматривать детали - нужен скетч и схема
Ну пока схемы нет - оптимизируем код:
Ну пока схемы нет - оптимизируем код:
И где здесь оптимизация?
А если вход замкнуть на землю тоже 5 Вольт показывает?
А если на вход подать 3.3 Вольта с платы?
И где здесь оптимизация?
Ну как же, сударь - минус 1 строка программы и минус 1 переменная.
И где здесь оптимизация?
Ну как же, сударь - минус 1 строка программы и минус 1 переменная.
Это Вам так кажется.
Откомпилируйте оба варианта и убедитесь, что результат окажется одним и тем же.
А теперь подумайте: analogRead() возвращает неотрицательное число. Умножение и деление на положительные знак изменить никак не может. Следовательно, проверка на отрицательное - лишняя. Ее можно (и нужно) убрать. Вот это - реальная оптимизация.
Нет здесь проверки на отрицательно то. Здесь зануление малых значений.
Но хотелось бы знать: зануление - зачем?
Но хотелось бы знать: зануление - зачем?
такой простенький фильтр... чтобы ноль на шкале не прыгал
Ну да - не так важно, что на самом деле измеряет, главное - чтобы красиво показывал.
https://www.youtube.com/watch?v=oRFjaCjuJkQ&t=0s&index=21&list=LLDYxZvamMOyz2mE_S70jumg
Во народ, чтобы вот так выводить значение. Автор скетч не приложил. Может кто знает код?)
https://www.youtube.com/watch?v=oRFjaCjuJkQ&t=0s&index=21&list=LLDYxZvamMOyz2mE_S70jumg
Во народ, чтобы вот так выводить значение. Автор скетч не приложил. Может кто знает код?)
код элементарный. Берите примеры работы с дисплеем и допиливайте. А ту зря флеймить нечего.
Или пожалуйте в платный раздел - за пару дней или пару часов вам все напишут в лучшем виде.