Фиксация состояния на 4 выходах
- Войдите на сайт для отправки комментариев
Втр, 28/05/2019 - 18:07
Нужно что-бы ардуина при любых обстоятельствах (в случае зависания, к примеру, во время перезагрузки) могла знать состояния 4-х кнопок.
К примеру сработала кнопка On, ардуина считывает это состояние и "выключает эту кнопку кнопкой Off", т.е. вместо одной кнопки будет пин ардуино. Как-то так.
Суть вопроса в том, что мне нужно контролировать 4 кнопки, а ставить четыре микросхемы 555 и обвязку к ним, много места. Как это организовать иначе? При этом сколько-бы раз кнопка On не срабатывала, состояние на выходе 3 не должно меняться.
И еще вопрос по этой схеме, ведь цепь из С2 и R2 должны сбросить состояние выхода 3 при включении на ноль, верно? Этого не происходит.
или вот вариант на микросхеме 4013, есть вариант на 4 триггера? (зарубежный)
это называется реле с самоблокировой, при обесточивании - отключается, а надо чтобы не отключалось чтоли?
При нажатии кнопки On на пине ардуино будет 5 Вольт, до тех пор, пока не нажать кнопку Off. Соответственно если ардуина будет перезагружаться и в этот момент сработает кнопка On, то после перезагрузки она считает состояние с пина/
это называется реле с самоблокировой, при обесточивании - отключается, а надо чтобы не отключалось чтоли?
Соответственно что-бы не выключалось,пока ардуина не отключит.
В принципе, схема на 4013 меня устраивает, места занимает не много.
Только на выходе я получаю 1 Вольт, мало для цифрового пина ардуино. Какой поставить транзистор?
Записывайте значение пинов в EEPROM при изменении их состояния и при загрузке восстанавливайте оттуда же. И будет Вам счастье.
Запишите значение пинов в EEPROM и при загрузке восстанавливайте оттуда же. И будет Вам счастье.
И что э то даст? Записал что на пине 0. Перезагрузка. В момент перезагрузки была нажата и отпущена кнопка. При загрузке на пине 0.
https://www.chipdip.ru/product/bss84-nxp
bss84 подойдёт?
И что э то даст? Записал что на пине 0. Перезагрузка. В момент перезагрузки была нажата и отпущена кнопка. При загрузке на пине 0.
Вы не успеете выполнить этих действий. Но можно ускорьтся с помощью STM32, например. Или сделать бесперебойное питание. Да вариантов - как грязи.
ТЗ хреновое просто.
И что э то даст? Записал что на пине 0. Перезагрузка. В момент перезагрузки была нажата и отпущена кнопка. При загрузке на пине 0.
Вы не успеете выполнить этих действий. Но можно ускорьтся с помощью STM32, например. Или сделать бесперебойное питание. Да вариантов - как грязи.
ТЗ хреновое просто.
Конкретно Atmega328, обязательная фиксация состояния до чтения и сброса.
Единственное, что может гарантировать отслеживание состояния кнопки при отсутствии электропитания схемы - это её механическая фиксация. Остальное - лишь наращивание количества девяток после запятой.
Конкретно Atmega328, обязательная фиксация состояния до ... сброса.
Т.е. Вы знаете, когда будет сброс? Бред. Не сбрасывайте.
Единственное, что может гарантировать отслеживание состояния кнопки при отсутствии электропитания схемы - это её механическая фиксация. Остальное - лишь наращивание количества девяток после запятой.
С механической фиксацией это само собой.
При отсутствии питания работать вся схема не будет, вопрос только в отслеживании состояния кнопки если контроллер зависнет, и пока он будет перезагружаться произойдёт нажатие кнопки.
Может я плохо объяснил суть.
При нажатии на 1 кнопку на входе ардуины будет 5 Вольт. Ардуина считала это состояние и "нажала кнопку 2", т.е. сбросила состояние на входе в ноль. Соответственно если МК зависнет и произойдёт сработка кнопки, при загрузке контроллер считает состояние 5 Вольт выполнит нужное действие и сбросит вход в ноль и т.д. может конечно и глупо...
Соответственно если МК зависнет и произойдёт сработка кнопки, при загрузке контроллер считает состояние 5 Вольт выполнит нужное действие и сбросит вход в ноль и т.д. может конечно и глупо...
Зависание МК - это форсмажор и связан, обычно, на 99,9999% с кривыми руками программиста.
А вот я так и не понял, чего вы пытаетесь добится???? Отслеживания изменения состояния кнопки в момент когда вся система не работает??? Т.е. грубо говоря вы хотите, чтобы во время перегрузки компа можно было письмо бабушке на клавиатуре настучать и после загрузки это письмо у вас было готово к отправке???
Если вас интересует востановление состояния системы до сброса записываете его в EEPROM и читайте при инициализации во время загрузки, как вам и было предложено ранее... Как по мне нельзя изменить состояние не работающей системы, а процесс перезагрузки или зависание это как раз не рабочее состояние...