Отдельный экземпляр таймера
Я стараюсь изо всех сил после неудачного поиска ответа в Google, но вот что:
Я пытаюсь заставить отдельный экземпляр запускаться в фоновом режиме, когда контакт повышается. Как мне следует это сделать? ПОЖАЛУЙСТА, объясните свой ответ, чтобы я тоже мог учиться. Я использую Arduino Uno R3 с коммерческим Ик-RX-Tx.
В основном:
Датчик -> Низкий ->> Контур
Датчик -> Высокий ->> Запуск другого события в течение 5 минут ->>> Цикл во время обратного отсчета до состояния сброса.
Мои мысли здесь таковы:
Сделайте это с помощью таймера 555 ИЛИ получите какое-нибудь функциональное кодирование (кто-нибудь, может быть, захочет поделиться здесь тем, какие решения они нашли?)
Спасибо.
@Johan Brink, 👍0
Обсуждение1 ответ
Arduino Uno имеет два вывода прерывания: 2 и 3, и, подключив выход вашего ИК-порта, который переходит от низкого уровня к ВЫСОКОМУ, он запустит функцию, определенную вами в коде.
Например, это фрагмент кода, который запускается при увеличении контакта 2:
void setup() {
attachInterrupt(0, doSomething, RISING);
}
void loop() {
}
void doSomething() {
//Do your stuff
}
Смотрите здесь для получения дополнительной информации по ссылке
- Как сделать очень долгую функцию delay(), несколько часов
- Разница между «time_t» и «DateTime»
- Получение BPM из данного кода
- Создание таймера с использованием часов реального времени с указанием времени начала и остановки
- Как выбрать вывод передачи в библиотеке IRremote для Arduino Uno?
- Arduino непрерывно считывает значение АЦП с помощью прерывания
- Генерация стабильной частоты
- Как исправить ошибку компиляции для tone (), используя тот же таймер, что и другая функция
Ответ можно свести к одной фразе из трех слов: "Конечный автомат". Технику, которую вы должны изучить, и изучить хорошо. Погуглите его и поразитесь результатам, теперь вы знаете, что искать,, @Majenko
Отдельный экземпляр **чего**?, @Nick Gammon