0 голосов
Как можно сделать так чтобы, например включить лампочку и удержать на 1 минуту с помощью delay, но при этом чтобы в это время микроконтроллер проверял кнопку, и если на нее нажмут то лампочка погасла?

Заранее спасибо
(12 баллов) 1 4 6

3 Ответы

0 голосов

Возможно вам помогут идеи выдвинутые в ответе на данный вопрос.

(3.1 тыс. баллов) 14 20 41
0 голосов
С помощью delay - только вытесняющая операционная система.

Как это сделать, рассказываю здесь

http://forum.amperka.ru/threads/rtos-%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%B8%D1%82%D1%8C-delay-%D0%BD%D0%B5%D0%BB%D1%8C%D0%B7%D1%8F-%D1%83%D0%B4%D0%B0%D0%BB%D0%B8%D1%82%D1%8C.20741/

Это можно сделать и на кооперативной операционной системе с необходимым функционалом в ней

http://forum.amperka.ru/threads/%D0%9E%D1%81%D1%80%D0%B2-quarkts-attiny817-%D0%B1%D1%83%D0%B4%D0%B5%D0%BC-%D0%BF%D0%BE%D0%BC%D0%BE%D1%80%D0%B3%D0%B0%D1%82%D1%8C.21192/
(2.7 тыс. баллов) 10 29 55
0 голосов

Здравствуйте!

Есть ещё один способ:

На платах Arduino MKR (любые), Arduino M0, Arduino Nano 33 BLE, Arduino Nano 33 IoT и Arduino Due поддерживается такая вещь, как библиотека Scheduler, при подключении и использовании которой можно получить не один привычный loop, а два. Более подробная информация есть здесь.

Надеюсь, что смог чем-либо помочь.

(238 баллов) 5 12 24
Добро пожаловать на Бредборд! Сайт вопросов и ответов на тему Arduino, Raspberry Pi и хоббийной электроники в целом. Цель Бредборда — быть максимально полезным. Поэтому мы строго следим за соблюдением правил, боремся с холиворами и оффтопиком.

    За этот месяц ещё никого.

    ...