Сон Ардуино, пробуждение по двум входам с прерыванием

Пробуждение из сна по двум входам с прерыванием.

На этом форуме Вы можете задать вопросы знатокам программы и автору.
pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Сон Ардуино, пробуждение по двум входам с прерыванием

#1

Сообщение pan » 25.10.2018{, 22:17}

а что, к одному входу прицепить два сигнала нельзя?

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Сон Ардуино, пробуждение по двум входам с прерыванием

#2

Сообщение Ingwar » 25.10.2018{, 23:11}

СпойлерПоказать
wach.png
И далее в таком же духе...
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

Сон Ардуино, пробуждение по двум входам с прерыванием

#3

Сообщение Ingwar » 25.10.2018{, 23:30}

Вы можете для функции меню добавить таймер задержки ( например вход в меню произойдет если удерживать кнопку более полсекунды...)
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

Аватара пользователя
Андрей
Рядовой
Сообщения: 31
Зарегистрирован: 11.01.2018{, 19:32}
Репутация: 0

Сон Ардуино, пробуждение по двум входам с прерыванием

#4

Сообщение Андрей » 25.10.2018{, 23:58}

Так а где блок пользователя? может в нем просто добавить это можно....

Аватара пользователя
Андрей
Рядовой
Сообщения: 31
Зарегистрирован: 11.01.2018{, 19:32}
Репутация: 0

Сон Ардуино, пробуждение по двум входам с прерыванием

#5

Сообщение Андрей » 26.10.2018{, 02:22}

На этом форуме ВСЕ пользовательские блоки размещаются под лицензией GPL, так что пожалуйста, переделывайте блоки под свои нужды!

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Сон Ардуино, пробуждение по двум входам с прерыванием

#6

Сообщение Sancho » 27.10.2018{, 16:25}

1-й вар в топку.
av писал(а):
27.10.2018{, 15:53}
Вариант 2: ключ на PNP транзисторе контачит плюсовой вход дисплея на плюс питания. И здесь засада. При подключении контроллера к питанию дисплей загорается на 1 секунду и тухнет. Вероятно при инициализации МК на пин управления идет сигнал открывающий кратковременно ключ. Вот такая вот байда получается.
Всё дело в том, что инициализация дисплея происходит в секции setup, а включение Вашего выхода управления - в loop т.е. позже. Как итог - нет инизиализации.
Выход 1: дописывать ручками в секции setup перед строкой
_lcd1.init();
строки:
pinMode(Ваш пин вкл дисплея, OUTPUT);
digitalWrite(Ваш пин вкл дисплея, HIGH);
delay(500);
Схему делать, для управления, на npn и pnp.

Отправлено спустя 1 минуту 22 секунды:
Выход 2.
Сделать ПБ с указанными строками, четырьмя, на первую плату, выполнять один раз при старте.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Сон Ардуино, пробуждение по двум входам с прерыванием

#7

Сообщение Sancho » 27.10.2018{, 19:46}

av писал(а):
27.10.2018{, 17:51}
Эта схема ключа пойдет ?
о ней я и вёл речь, но с резаком в коллекторе q1(б-э q2 не стоит убивать) . напряжение с выхода мк никак не влияет на out, т.е. 3.3 или 5, или ....

Отправлено спустя 56 секунд:
av писал(а):
27.10.2018{, 17:51}
Sancho, в любом случае второй вариант не катит так как строка после компиляции
_lcd1.init();
все равно встает выше чем строчки инициализации пина. Блок создал с выше указанной строкой. После компиляции она встает автоматом первой по отношению к пользовательскому блоку. Так что придется ручками.
Работает хоть что?
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Сон Ардуино, пробуждение по двум входам с прерыванием

#8

Сообщение Sancho » 27.10.2018{, 21:41}

av писал(а):
27.10.2018{, 20:55}
Вы говорите об этом резаке?
почти, обычно ставят в коллектор Q1, на ImaxB/5(....10) Q2. учитывая H21e
По остальному - думать.
Если не снимать питание с дисплея - ок?
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Аватара пользователя
nalnik
Подполковник
Сообщения: 1324
Зарегистрирован: 14.05.2016{, 17:12}
Репутация: 100
Откуда: Кисловодск
Имя: Александр

Сон Ардуино, пробуждение по двум входам с прерыванием

#9

Сообщение nalnik » 27.10.2018{, 22:05}

Резистор в место красного крестика нужен
СпойлерПоказать
sx.jpg
sx.jpg (11.18 КБ) 1833 просмотра
Я хочу быть добрее, но люди сами нарываются.

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Сон Ардуино, пробуждение по двум входам с прерыванием

#10

Сообщение Sancho » 29.10.2018{, 09:45}

av, А так?
Вложения
LCD_init_v1.flp
(67.44 КБ) 79 скачиваний
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Сон Ардуино, пробуждение по двум входам с прерыванием

#11

Сообщение Sancho » 29.10.2018{, 11:54}

av, Сейчас сам соберу макет, попробую...
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Сон Ардуино, пробуждение по двум входам с прерыванием

#12

Сообщение Sancho » 29.10.2018{, 12:29}

Самую первую строку в loop надо тоже отключать при отключении дисплея, т.е.
if (_gtv2) {
if (_isNeedClearDisp1) {_lcd1.clear(); _isNeedClearDisp1= 0;}
}
Вложения
Test_init_lcd.ino
(1.38 КБ) 85 скачиваний
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Сон Ардуино, пробуждение по двум входам с прерыванием

#13

Сообщение pan » 29.10.2018{, 12:33}

av писал(а):
29.10.2018{, 12:01}
нужно как то перед отключением останавливать шину I2C
может Wire.end(); ?

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Сон Ардуино, пробуждение по двум входам с прерыванием

#14

Сообщение Sancho » 29.10.2018{, 16:06}

av,
Честно, я не понимаю всех этих манипуляций.
Речь шла о выходе из сна.
Где Ваш проект?
В какой режим Вы переводите мк, т.е. как просыпается мк - стартует с того-же места или по по новой загружается?

Отправлено спустя 10 минут 24 секунды:
av писал(а):
29.10.2018{, 15:45}
Можно ли в ПБ использовать блокировку зацикливания инициализации такой стракой кода в место _lcd1.init();
Да. Но дописать в секции else
old_on_off=on_off;
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Сон Ардуино, пробуждение по двум входам с прерыванием

#15

Сообщение Sancho » 29.10.2018{, 16:56}

av писал(а):
29.10.2018{, 16:19}
Отключение питания реализовать не получается.
Питания чего?
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Сон Ардуино, пробуждение по двум входам с прерыванием

#16

Сообщение Sancho » 29.10.2018{, 17:08}

Дописать в функции блока СОН, первой строчкой:
digitalWrite(8, LOW);
перед
set_sleep_mode( _Sleep_mode );
всё.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Сон Ардуино, пробуждение по двум входам с прерыванием

#17

Сообщение Sancho » 29.10.2018{, 17:55}

А вот так?

Отправлено спустя 35 секунд:
Если что - завтра будем дальше делать...
Вложения
Test_init_lcd_v2.ino
(44.81 КБ) 68 скачиваний
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Сон Ардуино, пробуждение по двум входам с прерыванием

#18

Сообщение Sancho » 30.10.2018{, 08:16}

av писал(а):
29.10.2018{, 19:17}
Но что вы еще изменили в скетче не вижу хоть убейте
Не буду. :)
Берёшь ПБ "СОН v1", смотришь функцию, я там комментировал. Дерзай!
Вложения
Termo_sleep_v1.rar
(162.07 КБ) 111 скачиваний
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Сон Ардуино, пробуждение по двум входам с прерыванием

#19

Сообщение Sancho » 30.10.2018{, 22:34}

av, В данном случае - лишнее. Посмотрел, если пин в 0 - разницы вход или выход по потреблению нет.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

fsergei70
Капитан
Сообщения: 786
Зарегистрирован: 17.11.2015{, 20:36}
Репутация: 54
Имя: Сергей

Сон Ардуино, пробуждение по двум входам с прерыванием

#20

Сообщение fsergei70 » 19.04.2019{, 14:55}

Подскажите назначение выходов awakened_E блока сон_внешнее_прерывание и awakened_W блока Сон_Watchdog.

Отправлено спустя 2 минуты 27 секунд:
блоки в архиве
Вложения
sleep.zip
(13.39 КБ) 74 скачивания

Ответить

Вернуться в «Спросить у знатоков»