Связь между двумя контактами может быть сложной, сигнал ШИМ в основном используется для связи с двигателями или устройствами, которым требуются входные значения из диапазона <0, 2000>.
Убедитесь, что ваш вывод Arduino может генерировать ШИМ-сигнал с аналоговым интерфейсом. В большинстве плат Arduino контакты, которые могут использоваться в качестве ШИМ-выхода, отмечены белым кружком вокруг него. Если вы не видите ни одного из них, проверьте это в документации.
По моему мнению, если вы действительно хотите общаться с двумя выводами с помощью сигнала PWM, вам следует использовать библиотеку Servo.h. С помощью метода write () вы можете легко генерировать сигнал PPM. Вы можете прочитать это с помощью функции pulseIn, но я бы порекомендовал использовать прерывание, так как это намного быстрее.
На самом деле уже создан 2-контактный протокол связи с именем UART. Вы можете попробовать softwareSerial или что-то в этом роде, если хотите отправить значение больше, чем <0, 2000>. I2C также использует 2 контакта. Я бы порекомендовал один из них.