В процессе миграции проекта с Arduino Nano на Mega 2560, обнаружил отсутствие у последней выхода “наружу” пина 4 (AIN0) процессора.
В моём проекте он использовался в простеньком компараторе для контроля за питанием.
По прерыванию компаратора, при пропадании питания, производилась запись критических данных в EEPROM.
А как в этом случае будет срабатывать компаратор? Не наоборот, случаем?
Я имею ввиду, что срабатывание будет по превышению контролируемого напряжения напряжения “опоры”?
Мне надо наоборот. Или это настраивается программно?
P.S.
Гм… С цифровым?? Это как так?
Подключить делитель к цифровому пину, выставить на нём уровень максимально близкий к лог. “0”. Так?
И как тогда отслеживать критический момент? Без прерывания, тупо в loop, мне категорически не подойдёт…
Господа и товарищи тоже!
Давайте на минуточку вспомним, о чём мы тут…
А мы вообщем-то, об аналоговых сигналах, совсем не цифровых, однако!
Поэтому я и читал о прерываних аналогового компаратора.
Привычка такая, однако - использовать инструмент по назначению, не пытаясь им забивать гвозди…
Пожалуйста, давайте вернёмся к теме!
Например, к тому варианту, что предложил Upper.
Кто-нибудь может сказать, будет ли компаратор в таком варианте генерить прерывание по заданному условию?
И если “да”, то не упадёт ли “чувствительность” контроля, если “опора” с 3,3V уйдёт на 1,1V?
P.S. Кто-нибудь может подсказать, как на этом форуме редактировать сообщения?
Или такой возможности нет?
В указанной вами библиотеке есть описание в котором перечислены варианты настроек.
void ACOMP_attachInterrupt(void (*isr)(), ADC_modes source); // Включить прерывание компаратора и выбрать при каком событии оно будет вызвано (FALLING_TRIGGER, RISING_TRIGGER, CHANGE_TRIGGER)
Да, всё так. Проверил, всё отрабатывает согласно задаче.
Вообще-то, я изначально так и собирался сделать, но смутило опорное напряжение в 1,1V.
Почему-то решил, что при низком опорном напряжении срабатывание компаратора будет при бОльшем снижении контролируемого.
Что соответственно приведёт к сокращению времени на запись критических данных.
Калькулятор и последующая проверка на практике, развеяли мои сомнения.
Видимо, до Юпитера я ещё не дорос, посему - не положено!
P.S. Вопрос решён.
Всем остальным, не упомянутым выше, также спасибо за “многоводные” консультации и рекомендации.
Лишний раз убедился в том, что если хочешь сделать хорошо - сделай сам.
К микроконтроллерам это не применимо ввиду того что суть МК как раз в универсальности. Даже модуль USI можно использовать как UART, SPI и как 4х битный счётчик. И это информация от производителя! Не существует “компаратора для контроля напряжения”, есть просто компаратор.