[Arduino uno] How can I change the level of trigger to detect edges?

Hi there,

I'm trying to detect edge below conditions

  1. should be detected edge that has signal period of pulse width "50us"
  2. want to use trigger voltage level : 1.05 V

by using attachinterrupt(CHANGE) function.
but which function support either below or above trigger level in advanced defined.

  • Input State Detect Voltage Level
    Logic LOW less than 2.2V
    Logic HIGH more than 2.6V

refer to link : https://www.radishlogic.com/arduino/arduino-uno-schmitt-trigger-voltage-levels/

at this view point,
I want to change trigger level to detect 1.05V edges.
I already try other method like as software method using below

refer to link :Signal edge detection | Scilab

but, which one has delay time about AD Converting time approximately 100us
refer to link : analogRead() - Arduino Reference

anyone help me to treat the problem.

How can i detected it?

You could look at using the (AVR) built in comparator to condition the signal or some external one-shot circuit.

AFAIK the trigger levels are part of the hardware design of the chip and can't be changed. Their purpose is to detect when the signal changes fro LOW to HIGH (or vice versa).

You could use a comparator chip to build an external circuit with an adjustable trigger level that, in turn, causes the Arduino interrupt to fire.

Another option might be to use the analog comparator feature of the Atmega chip - but it is not supported by a convenient Arduino function. I think the analog comparator will be considerably slower than a digital interrupt

...R