Приветствую всех форумчан ! Помогите пожалуйста разобраться в выборе инструмента для завершения своего проекта.
Имеется устройство передающее сигналы частот на базе Ардуино нано, сишки ( генераторе часто SI5351 ) , OLED. Необходимо , что бы это устройство самостоятельно , ( программно ) без вызова кнопки , включалось , передавала сигнал на время и самостоятельно отключалось . Устройство используется в автономном режиме , от акб батареек 18650.
Посоветуйте пожалуйста подходящий скейтч для такой задачи ?
Подойдет ли режим глубокого сна ? По моему , такой режим максимально экономичен в плане потребления в спящем режиме. В нете нашел вот такой скейтч , его можно взять за основу и довести до ума ?
// просыпаемся по аппаратному прерыванию из sleepDelay
#include <GyverPower.h>
// sleepDelay состоит из нескольких sleep, и команда wakeUp()
// позволяет окончательно проснуться по прерыванию.
// Без неё мы будем "досыпать" некоторое время
void setup() {
Serial.begin(9600);
//pinMode(3, INPUT_PULLUP);// кнопка подключена к GND и D3
//attachInterrupt(1, isr, FALLING);// подключаем прерывание на пин D3 (Arduino NANO)
}
// обработчик аппаратного прерывания
void isr() {
// дёргаем за функцию "проснуться"
// без неё проснёмся чуть позже (через 0-8 секунд)
power.wakeUp();
}
void loop() {
//Serial.println("go sleep");
//delay(300);
attachInterrupt(1, isr, FALLING); // правильно будет вот тут включать прерывание
power.setSleepMode(POWERDOWN_SLEEP);// глубокий сон
// power.sleepDelay(12000); // спим 12 секунд, но можем проснуться по кнопке
// тут проснулись по кнопке или через указанный период
detachInterrupt(1); // а вот тут сразу отключать
Serial.println("wake up!");
delay(300);
}
если взять топор за основу и “довести до ума”, из него можно суп сварить
Если вы понимаете, что тут нужно “доводить” - то наверно получится. Хотя если бы вы понимали - не спрашивали.
Вместо поиска готовых примеров я бы посоветовал искать эти же примеры в каком-нибудь описании режимов сна. Там хотя бы будет объяснено, зачем в примере те или иные строчки - будет проще получить от примера то, что нужно именно вам.
Вот известная статья с разбором режимов энергосбережения и примерами их использования: Gammon Forum : Electronics : Microprocessors : Power saving techniques for microprocessors
Если хотите использовать библиотеку Гайвера GyverPower, так у него к ней есть документация, статья на сайте, видео, примеры - читайте, смотрите, пробуйте! Вот и увидите - подходит оно Вам или нет.
Спасибо за материал , обязательно изучу. Да , читал тему библиотеки Гайвера . А точно , что вы описали ( есть примеры , толкования скейтча , видео ) находится на этом сайте или я не там информацию черпаю ?! https://alexgyver.ru/gyverpower/?ysclid=m0nvcl84d7646865379
Я пробовал пример скейтча Гайвера , при его загрузки светодиот ардуинки загорался и потухал на период времени который я задавал , а скейтч сишки ( судя по застывшему экрану ) завис. Вопрос, как два скейтча “подружить” между собой? Что бы скейтч глубокого сна программно отключал и включал устройство выдающее сигнал и при этом скейтч сишки не зависал ?
Можно ли скопировать строки скейтча глубокого сна и поместить в скейтч сишки ? Что бы , при его загрузки были задействованы оба скейтча ? или возможно добавить вторую папку к скейтчу сишки ?
На Ардуино залит скейтч генератора частот SI5351, который , включаться и выключаться должен программно сам , скейтчем спящего режима . А когда я загружаю скейтч спящего режима , загруженный скейтч генератора частот начинает виснуть . Как залить сразу 2 скейтча , что бы работал генератор частот и что бы он прогараммно засыпал на прописанное время цункцией спящего режима ?
даже не знаю как комментировать такое.
В ардуино может быть загружен только один скетч.
Когда вы загружаете скетч спящего режима , загруженный скетч генератора частот СТИРАЕТСЯ.
Именно по этому я здесь , в силу малых знаний обратился к Вам , за советом. Что бы порекомендовали , что более эффективно будет справляться с задачей. Необходимо , что бы мое устройство издающее сигнал самостоятельно ( программно ) включалось на определенное время и так же отключалось . А чем лучше включать и выключать устройство прошу вашего совета . Я в силу небольших знаний начал с скейтча спящих режимов. Так же есть еще модуль точного времени , может через него можно реализовать вкл/выкл устройства ?!
За советом ни когда не рано обращаться иначе зачем вообще создавался этот сайт ?! а не для того ,что бы коллективно решать задачи и вопросы ?
Похоже Вам тоже , рановато еще давать здесь советы . Столько всего написали , и про поезда и про учебник , то ни какой конкретики …
Я всего лишь попросил совета , что лучше подошло бы для успешного отключения и включения ардуинки на программированное время , или это будет один из скейтчей спящего режима которая уже заложена в ардуино , а может использовать , на пример модуль точного времени ?! …
Если есть что конкретно по информации, выкладывайте , ну а так, не засоряйте ветку , с каждым новым сообщением вы все больше “выдаете” всю глубину Вашего багажа знаний .
P.S Если бы эта тема здесь была “затертая до дыр” которая сопровождалась наглядными примерами скейтча с комментариями , эту тему я бы не создавал . Если у кого есть рабочий скейтч функции глубокого сна , поделитесь пожалуйста .