почему оно не работает

23 Дек 2020
5
-2
Заголовок темы должен отражать содержимое. Отредактируй или ветка будет удалена
сама прога должна делать так : 1-серво в одном положении;2-проходит 12 часов;3-серво в другом положении;4-проходит пять секунд и серво в изначальном положении


C++:
#include <GyverPower.h>
#include <Servo.h>
Servo servo;
void setup() {
  servo.attach (2);
  {servo.write (0);}
}

void loop() {
  {servo.write (0);}
power.sleepDelay(43200000);
{servo.write (90);}
delay (5000);
return;
 
Изменено:
  • Аррр! -2
Реакции: bort707

bort707

★★★★★★✩
21 Сен 2020
3,066
914
замените power.sleepDelay() на просто delay - наверно заработает.
Для проверки поставьте какое-нить значение поменьше , чтоб не ждать 12 часов
 
23 Дек 2020
5
-2
C:\Users\User\Documents\Arduino\libraries\GyverPower\GyverPower.cpp:80:6: note: initializing argument 1 of 'void GyverPower::sleep(sleepprds_t)'
void GyverPower::sleep(sleepprds_t period) {
^~~~~~~~~~
сама ошибка
 

DAK

★★★✩✩✩✩
8 Окт 2020
517
137
Дамаю return в 14 строчке надо удалить, правда ни разу не вставлял ретурн в луп, и не представляю как это работает.
 
23 Дек 2020
5
-2
замените power.sleepDelay() на просто delay - наверно заработает.
Для проверки поставьте какое-нить значение поменьше , чтоб не ждать 12 часов
не я просто хотел немного уменьшить потребление, или это сильно не повлияет

Дамаю return в 14 строчке надо удалить, правда ни разу не вставлял ретурн в луп, и не представляю как это работает.
не помогает(

замените power.sleepDelay() на просто delay - наверно заработает.
Для проверки поставьте какое-нить значение поменьше , чтоб не ждать 12 часов
это работает ,но как это скажется на потреблении .Я буду питать от 9В кроны ,сколько она сможет простоять
 

DAK

★★★✩✩✩✩
8 Окт 2020
517
137
Случайно в сетапе не надо прописать setsleepmode, как в примере на сайте?
 
  • Лойс +1
Реакции: SeeMoon

bort707

★★★★★★✩
21 Сен 2020
3,066
914
это работает ,но как это скажется на потреблении .Я буду питать от 7В кроны ,сколько она сможет простоять
от кроны оно и 12 часов не проработает, особенно с сервой. Крона вообще категорически не подходит для питания таких поделок.

Что касается управления потреблением при помощи режима сна - если вы используете готовую ардуину, это полностью лишено смысла. Чтобы уход в сон что-то реально экономил - надо брать голый контроллер, потому что обвязка на плате ардуины (регулятор напряжения, конвертер USB, диоды...) - потребляет раз пять больше самого МК и при уходе в сон вся эта обвязка продолжает работать.
 
23 Дек 2020
5
-2
от кроны оно и 12 часов не проработает, особенно с сервой. Крона вообще категорически не подходит для питания таких поделок.

Что касается управления потреблением при помощи режима сна - если вы используете готовую ардуину, это полностью лишено смысла. Чтобы уход в сон что-то реально экономил - надо брать голый контроллер, потому что обвязка на плате ардуины (регулятор напряжения, конвертер USB, диоды...) - потребляет раз пять больше самого МК и при уходе в сон вся эта обвязка продолжает работать.
ок,я не особо разбираюсь, но все проекты Gyvera питаются от какого либо аккумулятора (не всегда большого),а он там использует ардуинку и намного больше разных штук (всякие светодиоды и микрофоны).Я что то не понимаю или серво тратит ОЧЕНЬ много?
 

DAK

★★★✩✩✩✩
8 Окт 2020
517
137
ок,я не особо разбираюсь, но все проекты Gyvera питаются от какого либо аккумулятора (не всегда большого),а он там использует ардуинку и намного больше разных штук (всякие светодиоды и микрофоны).Я что то не понимаю или серво тратит ОЧЕНЬ много?
Ну как минимум посадить его питание через ключ, я тоже считаю, что долго не протянет, но у Вас есть возможность проверить сколько протянит
 

bort707

★★★★★★✩
21 Сен 2020
3,066
914
я не особо разбираюсь, но все проекты Gyvera питаются от какого либо аккумулятора
большинство проектов Гайвера питается от БП, воткнутого в розетку.
А те, что питаются от аккумулятора - как правило имеют выключатель и не работают сутками напролет.
Если же требуется именно автономная работа - обычно берут отдельный МК

Но Вам никто не запрещает попробовать. Если Вам достаточно один раз выждать 12 часов (а не нужно включать раз в 12 часов в течении, например, недели) - то на 12 часов батарейки может и хватит... но думаю вам быстро надоест каждые 12 часов ставить новую батарейку
 
  • Лойс +1
Реакции: SeeMoon

Старик Похабыч

★★★★★★★
14 Авг 2019
4,266
1,303
Москва
Дамаю return в 14 строчке надо удалить, правда ни разу не вставлял ретурн в луп, и не представляю как это работает.
Работает как досрочный выход из loop,
C++:
void loop
{
static uint32_t tmt1=millis();
if (millis()-tmt1<1000) return;
tmt1=millis();
// тут будет код выполняться раз в секунду
}
 
  • Лойс +1
Реакции: DAK и SeeMoon

bort707

★★★★★★✩
21 Сен 2020
3,066
914
Дамаю return в 14 строчке надо удалить, правда ни разу не вставлял ретурн в луп, и не представляю как это работает.
в данном случае этот ретурн на последней строчке ЛУП, поэтому ни на что не влияет
 
  • Лойс +1
Реакции: DAK