радио пульт с максимальной энергоавтономностью
- Войдите на сайт для отправки комментариев
Здравствуйте форумчане, хотел показать скетч, что я написал, я понимаю, что мой скетч дал мне некую экономию батарейки, но я знаю, что можно сделать еще лучше. Имеются предположения по данному вопросу.
Опишу ситуацию сначала, в своем доме решил для упрощения жизни поставить на насос радио реле, насос используется для накачки воды в различные резервуары(баня и тд). Захотелось сделать обычный пульт на ардуино. Да можно просто вскрыть пульт и припаятся к кнопке если такова одна. На уже имеющемся не хотелось ничего портить паяльником (из личного опыта, из трех пультов смог только на двух сделатьэто, на третьем явно накосячил, только хз, либо из-за того что сместил smd конденсатор, те пульт по выведенной отдельно кнопке то отсылает то нет сигнал(батареи меняю, без разницы), то меняю то нет)
еще ненмого предыстории
Была задача, сделать простой штатный включатель выключатель(по радио), но чтобы все это было полностью автономным. Начал изучать интернет, на готовые варианы. Однозначного ответа я не получил. Сначала натолкнулся на статью https://sites.google.com/site/vanyambauseslinux/arduino/ispolzovanie-preryvanij-arduino , да много чего не понятного, такты какие-то ардуина и куча переферии на ней, прерывания какие-то(до этого у меня за плечами только курс из 5ти уроков Джереми Блюма). Из всего этого меня удивило, что led на ардуине отвечающий за питание, вобщее никак не отключить(все и везде рекомендуют ради примерно 2мА спиливать его, я это еще не делал) и это как-то сыровато(по смыслу). В итоге в статье , на которую я дал ссылку, имеется подстатья со следующей темой: "Пробуждение Arduino из спящего режима по нажатию кнопки", вроде что нужно
в таком варианте вся балалайка работает(светодиод горит, пока нажата кнопка, отпускаю уходит в сон), смотрел мультиметром(правда он показывал только изменения в сотых А, тысячных увы нет), как видно из кода я пытался прикрутить отправку кодов ридиопульта(все что в коментах), но при инициализации библиотеки #include <RemoteSwitch.h>, появилась ошибка , без понятия, как ее устранить
ошибка :
Я думал, сразу написать о своей проблеме на форуме, но интуиция мне подсказывала, что вообще никто коктрено не поможет, различные манипуляции со скетчем, никак не влияло на ошибку, стало понятно, что конфликт библиотек скорее всего. Решил найти еще приближенные скетчи по данной теме. Наткнулся на видео http://playground.arduino.cc/Learning/arduinoSleepCode , которое ссылалось на статью http://http://playground.arduino.cc/Learning/arduinoSleepCode, где я взял скетч:
данный код работает хорошо, нажал на кнопку отправился код на радиореле и ардуина ушла в сон, нажал повторно, ардуиона послала другой код. Те получил и экономию энергии и отправку на реле, осталось только прикрутить чтобы на втором пине, прерывание работало при 0 и при 1 , те подал 5ть вольт на второй пин, отправился один код и сон наступил сразу, разомкнул выключатель подал 0 на пин2 и чтобы послался другой код и наступил опять сон, над этим я еще думаю. В рабочем коде я использовал тактовую кнопку, вот не ясно для выключателя(включателя) нужен ли будет резистор стягивающий, наверное нет(хотя я хз насчет дребезга в данном случае). Но не это меня пока волнует, как достигнуть еще большей экономии энергии , так как в статье откуда я взял код, потребление энергии под 10 мА, при всей экономии.
Нашел статью, как можно перевести на потребление 6 мкА http://robotosha.ru/arduino/arduino-interrupts.html
а именно
осталось тока срастить что значит «Голая» плата, то есть без регулятора напряжения, сколько напряжения подавать на ардуино и как сделать функционал на обычый включатель выключатель