Отдельный экземпляр таймера

Я стараюсь изо всех сил после неудачного поиска ответа в Google, но вот что:

Я пытаюсь заставить отдельный экземпляр запускаться в фоновом режиме, когда контакт повышается. Как мне следует это сделать? ПОЖАЛУЙСТА, объясните свой ответ, чтобы я тоже мог учиться. Я использую Arduino Uno R3 с коммерческим Ик-RX-Tx.

В основном:

Датчик -> Низкий ->> Контур
Датчик -> Высокий ->> Запуск другого события в течение 5 минут ->>> Цикл во время обратного отсчета до состояния сброса.

Мои мысли здесь таковы:
Сделайте это с помощью таймера 555 ИЛИ получите какое-нибудь функциональное кодирование (кто-нибудь, может быть, захочет поделиться здесь тем, какие решения они нашли?)

Спасибо.

, 👍0

Обсуждение

Ответ можно свести к одной фразе из трех слов: "Конечный автомат". Технику, которую вы должны изучить, и изучить хорошо. Погуглите его и поразитесь результатам, теперь вы знаете, что искать,, @Majenko

Отдельный экземпляр **чего**?, @Nick Gammon


1 ответ


1

Arduino Uno имеет два вывода прерывания: 2 и 3, и, подключив выход вашего ИК-порта, который переходит от низкого уровня к ВЫСОКОМУ, он запустит функцию, определенную вами в коде.

Например, это фрагмент кода, который запускается при увеличении контакта 2:

void setup() {
    attachInterrupt(0, doSomething, RISING);
}

void loop() {
}

void doSomething() {
    //Do your stuff
}

Смотрите здесь для получения дополнительной информации по ссылке

,