Sleep
Современные микроконтроллеры предназначены для использования в приложениях с батарейным питанием, где экономия энергии может иметь первостепенное значение. Путем «перевода процессора в спящий режим» можно добиться значительной экономии энергии.
Кроме того, некоторые спящие режимы полезны для управления такими вещами, как обработка критичных по времени событий или выполнение преобразований АЦП без слишком большого цифрового шума.
Спящие режимы
Процессор Atmega328P, используемый в Arduino Uno, Duemilanove, Pro Mini, Nano и других, например, имеет следующие спящие режимы:
Режим ожидания
В основном полезно для контролируемого пробуждения от прерывания. Полезно для приложений с очень критичным временем, например для создания видеоданных.
Режим шумоподавления АЦП
Это улучшает шумовую среду для аналого-цифрового преобразователя (АЦП), позволяя выполнять измерения с более высоким разрешением. Если ADC включен, преобразование начинается автоматически при входе в этот режим.
Режим энергосбережения
То же, что и в режиме отключения питания, за исключением того, что если Таймер 2 включен, он продолжает работать. Полезно для экономии энергии, но при этом синхронизировать событие с помощью Таймера 2.
Расширенный режим ожидания
Этот режим идентичен режиму энергосбережения, за исключением того, что Осциллятор продолжает работать. В режиме расширенного ожидания устройство выходит из спящего режима за шесть тактов.
Режим ожидания
Этот режим идентичен режиму Power-down, за исключением того, что Осциллятор продолжает работать. Из режима ожидания устройство выходит из спящего режима за шесть тактов.
(Это то, что говорится в техническом описании — разница между режимом ожидания и расширенным режимом ожидания кажется незначительной)
Режим отключения питания
В этом режиме внешний осциллятор останавливается, в то время как внешние прерывания, отслеживание адреса двухпроводного последовательного интерфейса и сторожевой таймер продолжают работать (если он включен). Только внешний сброс, сброс системы сторожевого устройства, прерывание сторожевого устройства, сброс по отключению, совпадение адреса двухпроводного последовательного интерфейса, внешнее прерывание на INT0 или INT1 или прерывание по смене контакта могут разбудить MCU. Этот спящий режим в основном останавливает все сгенерированные часы, что позволяет работать только с асинхронными модулями.
Пробуждение
Вообще говоря, включенные прерывания разбудят процессор. К ним относятся такие вещи, как:
- Прерывания при смене вывода
- Внешние прерывания
- Прерывание сторожевого таймера
- Обнаружено затухание
- Прерывания по времени r (если запущены таймеры)
Сброс всегда выводит процессор из спящего режима.
Вопросы, связанные с [sleep]:
- ESP8266 пробуждение от глубокого сна: Как по таймеру, так и по кнопке? В проекте, работающем на батарейках, ESP8266 должен надолго погрузиться в глубокий сон, отключив радиочастотный сигнал. После некоторого количества циклов сна он перезапускается с включенным RF,…
- Вывести esp8266 из глубокого сна с помощью PIR, но отключить его во время выполнения кода Я использую ESP8266 для управления кольцом неопикселей. Я хочу использовать PIR для запуска короткого светового шоу. Я использую батарейки, и мне нужно, чтобы они работали как можно дольше. У меня…
- ESP32 — петля DeepSleep или нет? Я пытаюсь создать батарею & ESP32 на солнечной энергии для будущего использования с датчиками. Он подключается к Wi-Fi, MQTT, публикует некоторые показания и сообщения о состоянии и снова уходит…
- Чтобы Arduino по умолчанию находился в спящем режиме и чтобы кнопка выводила его из режима сна. Я видел библиотеку LowPower_LowPowerLab, которая может переводить Arduino в спящий режим. В их примере они переводят Arduino в спящий режим с помощью внешней кнопки. Можно ли как-нибудь…
- ATtiny85 со сном и последовательным портом Я хочу подключиться по последовательному порту к другому устройству (dfplayer), а также перевести микроконтроллер в спящий режим. У ATtiny85 нет аппаратного последовательного порта, поэтому мне…
- Не могу разбудить Attiniy44 из режима сна_mode_pwr_down В настоящее время я играю со спящими режимами. Когда я нажимаю кнопку, начинается мелодия, снова нажимаю, чтобы перейти в глубокий сон и экономить батарею 3 В, снова нажимаю, чтобы проснуться, и…
- целочисленное переполнение в выражении типа 'int' приводит к Мне нужно активировать ESP каждые 60 минут, чтобы считать некоторые данные и отправить их на сервер. Весь процесс работает нормально, когда я использую число минут меньше 60 (в микросекундах x…
- Как перевести ATtiny/ATmega в режим глубокого сна (чтобы годами работать от батарей), но при этом обнаруживать нажатие кнопки? Вопрос (TL;DR): каков оптимальный метод глубокого сна (для работы ATtiny45 или ATmega на батареях в течение 1+ года), но при этом способный обнаруживать нажатие кнопки? Является ли возможен ли…
- Можно ли узнать, как долго ESP8266 находился в глубоком сне? Я работаю над устройством с низким энергопотреблением, в котором реализован микроконтроллер ESP8266 и используется его функция глубокого сна. В прошивке используется библиотека Arduino C++. Часть…
- Arudino получает команду прерывания ДО перехода в спящий режим, из-за чего он не получает никаких команд прерывания для пробуждения. Я написал код для Arduino Nano, который при нажатии кнопки отправляет ИК-команду. Он настроен таким образом, что если в течение 10 секунд не будет получено ни одного нажатия кнопки, он перейдет в…
- ESP32 не может спать дольше 35 минут. Я пытаюсь получить свой Lilygo T5 4.7quot; epaper для глубокого сна на 12 часов. Но мне кажется, что я могу поспать на нем всего около получаса (2100 с). Если я устанавливаю таймер на большее…
- Память ESP8266 RTC (для загрузки) Я использую ESP8266 с режимом глубокого сна + пробуждения, когда контакт RST становится низким. #include <ESP8266WiFi.h> #include <WiFiClient.h> #include <ESP8266HTTPClient…
- Какое минимальное значение для ESP.deepSleep(n)? Я заметил, что при вызове ESP.deepSleep(1) ESP8266 иногда не просыпается. Почему я ввожу такое низкое значение? Я хочу спать в течение минимального времени, чтобы снова включить Wi-Fi с помощью …
- Переключатель управления энергосбережением esp8266 Я пытаюсь создать дверной датчик с помощью esp8266. Я хочу, чтобы он работал от батареи и использовал DeepSleep для экономии энергии. Я собираюсь использовать нормально замкнутый герконовый…
- Сохранять 5В во время сна с библиотекой низкой мощности Можно ли сохранить 5 В, в то время как Arduino (ATMEGA328P) больше спит, используя библиотеку низкой мощности? Я пытаюсь использовать эту ШЛЯПУ: https://spellfoundry…
- Помощь с прерыванием режима ожидания Arduino и ватчдог таймера Я хочу использовать функции сна и пробуждения Arduino, но столкнулся с препятствием и, похоже, не могу его преодолеть. Поскольку я только создаю прототип для окончательной системы, я не могу…
- Глубокий сон зависает при использовании с gpio 16, когда мы подключаемся к контакту сброса У меня есть узел MCU, и он зависает, когда я использую режим глубокого сна, как показано на прикрепленном изображении. Мой код выглядит так: /* * ESP8266 Deep sleep mode example * Rui Santos …
- Внешнее прерывание не работает на 3,3 В atmega168 Я сделал плату на 3,3 В и установил как atmega328p (которую я снял с 3,3 В pro mini), так и atmega168, которую я загрузил (используя USBtinyISP, выбрав плату "Arduino Pro или Pro Mini" и…
- Arduino Leonardo/Pro Micro сон и USB Я использую Arduino Pro Micro (в основном Leonardo в меньшем форм-факторе) в мобильном приложении, где действительно важно энергопотребление. Чтобы снизить энергопотребление, я перевожу Arduino в…
- Перевод платы на базе samd в спящий режим Я использую плату на базе SAMD21G18A - arduino zero, для носимого проекта с батарейным питанием (типа компьютерной мыши). Я пытаюсь понять, как перевести устройство в спящий режим, когда оно не…
- Arduino Nano ATmega328P не засыпает ни с <LowPower>, ни с <avt/sleep.h> Я работаю над проектом Arduino Nano с батарейным питанием. Мне действительно нужно, чтобы это экономило энергию в течение нескольких часов подряд, поэтому я обратился к библиотеке Arduino LowPower …
- Может ли Arduino автоматически входить и выходить из сна или глубокого сна? Мне интересно, может ли Arduino Uno автоматически входить и выходить из глубокого сна с помощью какого-то сигнала, например определенного времени. В моем случае у меня есть небольшой свет,…
- ATtiny85 дает многократное пробуждение от простоя, если INT0 удерживается на низком уровне Желаемое поведение: Перейдите в спящий режим ожидания. Когда PB2 (синий след) становится низким, просыпайтесь и дайте 10 мс на PB1, потянув за низкий уровень (желтый след на рисунке 1). …
- SimpleAudioPlayer + функция сна Я проверил пример SimpleAudioPlayer. https://www.arduino.cc/en/Tutorial/SimpleAudioPlayer Это работает нормально, но когда я добавляю sleep(1000) в конце функции loop () , музыка звучит…
- ATtiny85 не выходит из сна Мой ATtiny 85 не просыпается! Назначение устройства состоит в том, чтобы контролировать геркон и выдавать выходной импульс 20 мс при каждом попеременном положительном переходе входа геркона.…
- GIMSK' was not declared in this scope Я программирую ATtiny 85, используя Arduino IDE и Arduino Nano как "Arduino as ISP" для программирования ATtiny. Мне это удалось неделю назад, и теперь я хочу запрограммировать второй чип, но…
- ESP8266 тратит 10 мА, даже если он находится в режиме глубокого сна Я использую Nodemcu ESP8266. Я хочу знать, насколько моя плата ESP потребляет батарею в спящем режиме. поскольку Мануальный сказал, что он тратит около микроампера, но мой мультиметр сказал, что он…
- Как разбудить Arduino с помощью rtc? Я делаю регистратор данных с Arduino Mega2560, и я хочу использовать код, чтобы заставить его спать, когда никакая мера не нужна, и разбудить его с помощью RTC, когда придет время. Причина, по…
- Пронуться после отключения питания чтобы проверить датчик а затем снова заснуть Я использую Arduino Pro Mini с различными датчиками. Я питаю его от 2 3.7 V 3400mA батарей, которые я заряжаю с помощью солнечной панели. Я снимаю показания с батарей и, если они превышают…
- Как поддерживать состояние переключения в спящем режиме? Я использую esp8266 для создания пульта дистанционного управления для питания газового камина. Я использую это руководство , чтобы попытаться увеличить время автономной работы. Концепция…
- Как получить время от RTC после пробуждения от сна? У меня есть настройка с Arduino Pro Mini, DS1307 RTC, microSD shield и микропереключателем. Я установил прерывание на микропереключатель, так что он разбудит Arduino, когда он изменит состояние. Вот…
- Детектор браунаута ESP32-S2 Случайно срабатывает в глубоком сне Я тщательно искал ответы на эти вопросы в течение последних нескольких недель и не смог найти решение для Arduino. Я использую плату ESP32-S2-Saola-1M Dev, которая должна хранить показания датчика…
- ESP8266 требует двух перезагрузок, чтобы проснуться от глубокого сна Я работаю со следующей схемой, используя NodeMCU: У меня есть перемычка для пайки между RST и BTN. В дополнение к тому, что показано на схеме, контакты 2, 3 и 4 J1 подключены к катодам 3…
- Возобновление последовательного соединения после сна на Arduino M0 Для отладки я хочу, чтобы мое последовательное соединение возобновилось после sleep. After запуска LowPower.sleep() из библиотеки <ArduinoLowPower.h>, я не получаю никаких новых…
- Почему ESP32 не остается в глубоком сне дольше 35 минут? У меня была странная проблема с новой пользовательской платой ESP. Я не могу отодвинуть время глубокого сна на 35 минут, независимо от того, как я регулирую время. Ниже приведен мой текущий…
- Как перевести RFID-модуль MFRC522 в спящий режим? Я пытаюсь снизить энергопотребление RFID-модуля MFRC522, в настоящее время во время работы он потребляет около 4 мА. Должен быть способ перевести его в спящий режим, я просто не могу найти по нему…
- Приемник в спящем режиме RDA5807M Добрый день, ребята! У меня есть радиоприемник, подключенный к arduino, и я хочу, чтобы он работал не все время, а включался по таймеру arduino в течение определенного времени, а в остальное время…
- Ватчдог таймер/петля глубокого сна для Atmega 328 Pro Mini 5v 16 mhz Я изо всех сил пытался заставить свой Adafruit 5v pro mini несколько раз переходить в режим глубокого сна, затем просыпаться, чтобы что-то выполнить, а затем вернуться в цикл глубокого сна. Пока он…
- Установить TX, RX на LOW уровень перед сном, повторно включить uart после пробуждения У меня есть ATmega1284P, и мне нужно, чтобы TXD0 (т.Е. Pin 9) был установлен на низкий уровень, прежде чем ложиться спать. После пробуждения я хочу восстановить связь UART0, чтобы она работала…
- Millis() не возвращается к нулю после пробуждения из режима глубокого сна Я собираюсь сделать проект, для которого нужны четыре платы Arduino, синхронизация которых во времени необходима. Проект заключается в захвате метки времени (в разрешении ms) всякий раз, когда…
- Как предотвратить мерцание реле при пробуждении от глубокого сна с помощью платы ESP01? У меня есть дешевый релейный модуль ESP01, и я использую его с ESPEasy. Я припаял вывод GPIO 16 к RST, чтобы обеспечить глубокий сон, и все это отлично работает. Однако когда устройство…
- Периодический режим Mediatek GPS Я пытаюсь создать маломощный GPS-регистратор данных и пытаюсь заставить GPS-модуль на базе Mediatek (Quectel L80-R) работать в периодическом режиме. Я отправил код PMTK225 в модуль с различными…
- Как узнать, просыпается ESP32 самостоятельно или вручную У меня есть проект, в котором я помещаю ESP32 в режим глубокого сна на определенное время, например: 1 час Чтобы иметь возможность самостоятельного пробуждения, кабель должен быть подключен от…
- Захват ввода с включенным спящим режимом на плате ATM32u4 работает только при каждом втором чтении в спящем режиме. Вкратце: у меня есть код захвата ввода и код энергосбережения, объединенные в одну программу. Оба адаптированы из примеров Ника Гэммона, которые отлично работают независимо друг от друга. Когда я…
- Как сгенерировать аппаратное прерывание в mpu6050 для пробуждения Arduino из режима SLEEP_MODE_PWR_DOWN? Я использую Arduino UNO и сохраняю режим SLEEP_MODE_PWR_DOWN & хотите, чтобы он просыпался с помощью аппаратного контакта INT MPU6050 (который должен посылать сигнал, когда MPU находится в…
- ATSAMD21 сон + watchdog? Есть ли у кого-нибудь режим сна/ожидания + сторожевой таймер для совместной работы на Arduino Zero или Sparkfun SAMD mini? Я могу заставить WDT перезагрузить устройство и перевести его в спящий…
- Материнская плата WeMos D1 ESP-Wroom-02 ESP8266 — где контакт сброса для глубокого сна Этот предмет был куплен для работы от батареи в целях глубокого сна. Для этого в ESP8266 контакт reset должен быть подключен к контакту Gnd для пробуждения. На этой плате отсутствует…
- Как отслеживать миллисекунды в спящем режиме В моем приложении мне нужно отслеживать время работы приложения, а также использовать спящие режимы. Однако при использовании спящих режимов Timer0 отключается, и, следовательно, миллисекунды…
- Легкий сон ESP8266 — не могу проснуться Я пытаюсь реализовать легкий спящий режим на esp8266 ( перо ахаха ), которое при нажатии кнопки пробуждает систему, чтобы она могла продолжить свою обычную задачу. Я собрал код из этого поста и…
- ESP.deepSleep() — снова и снова? Важное примечание: функция esp.deepsleep использует микросекунды, а не миллисекунды. Я разместил еще один вопрос здесь с просьбой разъяснить, как можно использовать RTC для перевода NodeMCU 12…
- 1
- 2