Доброго дня! Я новичек в работе с контроллерами, и потому если вдруг написал глупости - ткните носом в документацию. Проблема - хочу детектировать сработку инфракрасного сенсора который в отсутвие отраженного сигнала выдает логичискую "1" (3.3V) а при наличии - "0" - Плата прошита под micropython - Код обработчика (тестовый) Код (Python): def ir_sensor_irq_handler(pin): IRQ_COUNTER = IRQ_COUNTER +1. print("IRQ CALL number {IRQ_COUNTER}".format(IRQ_COUNTER=IRQ_COUNTER)) # Detect if it was rise or fall status = "uncknown" pin_id = T._get_pin_id(pin) print(pin.value()) if pin.value() == 0: print("changed from 1 to 0 on pin {pin_id}".format(pin_id=pin_id)) status = "falling" else: print("changed from 0 to 1 on pin {pin_id}".format(pin_id=pin_id)) status = "rising" print(status) pin_irq = machine.Pin(SENSOR_DIGIT_PINS["left"], machine.Pin.IN, machine.Pin.PULL_UP) pin_irq.irq(trigger=(machine.Pin.IRQ_RISING|machine.Pin.IRQ_FALLING), handler=ir_sensor_irq_handler) К 25 пину подключен цифровой вывод сенсора я наблюдаю в логах периодическое срабатывание прерывания Код (Python): changed from 0 to 1 on pin 25 rising IRQ CALL number 74 - всегда именно такое и не могу пока понять как это происходит при эт ом на осцилографе я не вижу никаких импульсов, светодиод на самом датчике не моргает возможно какой-то дребезг (но откуда когда есть PULL_UP? ) Буду благодарен за любой совет
Осциллограф в триггерном режиме работает? Входная полоса превышает тактовую частоту МК? Проверяется просто - нога садится на одну из шин питания. Если прерывание срабатывает, значит сбоит питание или сам esp/
>>Осциллограф в триггерном режиме работает? Да >>>Входная полоса превышает тактовую частоту Нет , осциллограф самый простой карманный, я как начинающий купил бу дешевый. Прерывания не возникают ни на висящий в воздухе ноге, ни при посаженой на землю или на питание. Я попробовал посадить выход датчика на землю через 10ком резистор и это тоже не меняет ситуацию Сама esp запитан от расберри с преобразователем от лабораторного бп, и остальной код (прерывания только малая часть проекта) работает хорошо Возможно, я что то важное упускаю так как я сисадмин и это мой первый опыт с контроллерам Спасибо за ответ
с ним и не увидишь ничего. Значит, сбоит модуль. Можно на эту же ногу что-то другое повесить и посмотреть.