Можно ли использовать ультразвуковой датчик, чтобы разбудить Arduino, которая находится в глубоком сне, когда объект обнаружен в пределах нескольких сантиметров, а затем что-то делать?
Для действительно маломощного решения на основе Arduino необходимо как минимум следующее:
А) ОБОРУДОВАНИЕ:
Б) ПРОГРАММНАЯ СТОРОНА:
Здесь вы можете найти действительно полезную практическую информацию о том, как перейти на режим пониженного энергопотребления. Чтобы получить более подробное руководство, прочтите и это .
Если вы действительно хотите минимизировать мощность, вам нужна не только маломощная схема микроконтроллера, но и ультразвуковой приемник, который можно отключить.
Пробудите MCU от периодического таймера с низким энергопотреблением и запустите импульс, затем вернитесь в спящий режим, по крайней мере, на время звонка датчика или на время минимального интересующего диапазона.
Разбудите MCU и приемник снова в тот момент времени, когда вы впервые ожидаете интересное эхо, и бодрствуйте только до тех пор, пока не увидите его или в течение диапазона времени, в которое может прийти ваше эхо.
Примите меры, если услышите эхо.
Как только вы услышите эхо или интересующее окно истечет, снова выключите все, кроме таймера низкого энергопотребления, до следующего интервала измерения.
Как часто вам нужно повторять измерение, зависит от того, насколько быстро ваши объекты могут двигаться и/или насколько коротким является срабатывание выхода, и/или максимально допустимой задержкой в ответ на появление или исчезновение объекта. В качестве нижней границы вы должны быть уверены, что не будете проводить новые измерения до тех пор, пока не исчезнут все многократные отражения или отражения от дальних стен старого импульса передачи.
Ник Алексеев