Страница 1 из 2
Сон Ардуино, пробуждение по двум входам с прерыванием
Добавлено: 25 окт 2018, 22:17
pan
а что, к одному входу прицепить два сигнала нельзя?
Сон Ардуино, пробуждение по двум входам с прерыванием
Добавлено: 25 окт 2018, 23:11
Ingwar
[spoiler]
wach.png
[/spoiler]
И далее в таком же духе...
Сон Ардуино, пробуждение по двум входам с прерыванием
Добавлено: 25 окт 2018, 23:30
Ingwar
Вы можете для функции меню добавить таймер задержки ( например вход в меню произойдет если удерживать кнопку более полсекунды...)
Сон Ардуино, пробуждение по двум входам с прерыванием
Добавлено: 25 окт 2018, 23:58
Андрей
Так а где блок пользователя? может в нем просто добавить это можно....
Сон Ардуино, пробуждение по двум входам с прерыванием
Добавлено: 26 окт 2018, 02:22
Андрей
На этом форуме ВСЕ пользовательские блоки размещаются под лицензией GPL, так что пожалуйста, переделывайте блоки под свои нужды!
Сон Ардуино, пробуждение по двум входам с прерыванием
Добавлено: 27 окт 2018, 16:26
Sancho
1-й вар в топку.
av писал(а): 27 окт 2018, 15:53Вариант 2: ключ на PNP транзисторе контачит плюсовой вход дисплея на плюс питания. И здесь засада. При подключении контроллера к питанию дисплей загорается на 1 секунду и тухнет. Вероятно при инициализации МК на пин управления идет сигнал открывающий кратковременно ключ. Вот такая вот байда получается.
Всё дело в том, что инициализация дисплея происходит в секции setup, а включение Вашего выхода управления - в loop т.е. позже. Как итог - нет инизиализации.
Выход 1: дописывать ручками в секции setup
перед строкой
_lcd1.init();
строки:
pinMode(Ваш пин вкл дисплея, OUTPUT);
digitalWrite(Ваш пин вкл дисплея, HIGH);
delay(500);
Схему делать, для управления, на npn и pnp.
Отправлено спустя 1 минуту 22 секунды:
Выход 2.
Сделать ПБ с указанными строками, четырьмя, на первую плату, выполнять один раз при старте.
Сон Ардуино, пробуждение по двум входам с прерыванием
Добавлено: 27 окт 2018, 19:47
Sancho
av писал(а): 27 окт 2018, 17:51Эта схема ключа пойдет ?
о ней я и вёл речь, но с резаком в коллекторе q1(б-э q2 не стоит убивать) . напряжение с выхода мк никак не влияет на out, т.е. 3.3 или 5, или ....
Отправлено спустя 56 секунд:
av писал(а): 27 окт 2018, 17:51Sancho, в любом случае второй вариант не катит так как строка после компиляции
_lcd1.init();
все равно встает выше чем строчки инициализации пина. Блок создал с выше указанной строкой. После компиляции она встает автоматом первой по отношению к пользовательскому блоку. Так что придется ручками.
Работает хоть что?
Сон Ардуино, пробуждение по двум входам с прерыванием
Добавлено: 27 окт 2018, 21:41
Sancho
av писал(а): 27 окт 2018, 20:55Вы говорите об этом резаке?
почти, обычно ставят в коллектор Q1, на ImaxB/5(....10) Q2. учитывая H21e
По остальному - думать.
Если не снимать питание с дисплея - ок?
Сон Ардуино, пробуждение по двум входам с прерыванием
Добавлено: 27 окт 2018, 22:05
nalnik
Резистор в место красного крестика нужен
[spoiler]
sx.jpg
[/spoiler]
Сон Ардуино, пробуждение по двум входам с прерыванием
Добавлено: 29 окт 2018, 09:45
Sancho
[ref]av[/ref], А так?
Сон Ардуино, пробуждение по двум входам с прерыванием
Добавлено: 29 окт 2018, 11:54
Sancho
[ref]av[/ref], Сейчас сам соберу макет, попробую...
Сон Ардуино, пробуждение по двум входам с прерыванием
Добавлено: 29 окт 2018, 12:29
Sancho
Самую первую строку в loop надо тоже отключать при отключении дисплея, т.е.
if (_gtv2) {
if (_isNeedClearDisp1) {_lcd1.clear(); _isNeedClearDisp1= 0;}
}
Сон Ардуино, пробуждение по двум входам с прерыванием
Добавлено: 29 окт 2018, 12:33
pan
av писал(а): 29 окт 2018, 12:01нужно как то перед отключением останавливать шину I2C
может Wire.end(); ?
Сон Ардуино, пробуждение по двум входам с прерыванием
Добавлено: 29 окт 2018, 16:16
Sancho
[ref]av[/ref],
Честно, я не понимаю всех этих манипуляций.
Речь шла о выходе из сна.
Где Ваш проект?
В какой режим Вы переводите мк, т.е. как просыпается мк - стартует с того-же места или по по новой загружается?
Отправлено спустя 10 минут 24 секунды:
av писал(а): 29 окт 2018, 15:45Можно ли в ПБ использовать блокировку зацикливания инициализации такой стракой кода в место _lcd1.init();
Да. Но дописать в секции else
old_on_off=on_off;
Сон Ардуино, пробуждение по двум входам с прерыванием
Добавлено: 29 окт 2018, 16:56
Sancho
av писал(а): 29 окт 2018, 16:19Отключение питания реализовать не получается.
Питания чего?
Сон Ардуино, пробуждение по двум входам с прерыванием
Добавлено: 29 окт 2018, 17:08
Sancho
Дописать в функции блока СОН, первой строчкой:
digitalWrite(8, LOW);
перед
set_sleep_mode( _Sleep_mode );
всё.
Сон Ардуино, пробуждение по двум входам с прерыванием
Добавлено: 29 окт 2018, 17:56
Sancho
А вот так?
Отправлено спустя 35 секунд:
Если что - завтра будем дальше делать...
Сон Ардуино, пробуждение по двум входам с прерыванием
Добавлено: 30 окт 2018, 08:16
Sancho
av писал(а): 29 окт 2018, 19:17Но что вы еще изменили в скетче не вижу хоть убейте
Не буду.

Берёшь ПБ "СОН v1", смотришь функцию, я там комментировал. Дерзай!
Сон Ардуино, пробуждение по двум входам с прерыванием
Добавлено: 30 окт 2018, 22:34
Sancho
[ref]av[/ref], В данном случае - лишнее. Посмотрел, если пин в 0 - разницы вход или выход по потреблению нет.
Сон Ардуино, пробуждение по двум входам с прерыванием
Добавлено: 19 апр 2019, 14:57
fsergei70
Подскажите назначение выходов awakened_E блока сон_внешнее_прерывание и awakened_W блока Сон_Watchdog.
Отправлено спустя 2 минуты 27 секунд:
блоки в архиве