Это называется "Wired Or".
На выводе RESET в Arduino имеется подтягивающий резистор (10 кОм). Это удерживает вывод RESET обычно ВЫСОКИМ. Для вызова сброса необходимо, чтобы вывод был тянущим вниз, и это делается из нескольких источников:
- Кнопка RESET
- Вывод DTR (через конденсатор 100 нФ) чипа интерфейса USB
- Схема сторожевого таймера 555 выше
Важнейшим из них является вывод DTR. Это потому, что это короткий импульс с довольно высоким выходным сопротивлением, для простоты нажатия на него нужен вывод сброса. Если вы подключите выход 555 напрямую к RESET, он будет постоянно пытаться подтянуть вывод RESET до 5 В с достаточно низким выходным сопротивлением. Цепь DTR не будет иметь возможности ее преодолеть.
Таким образом, добавив туда диод, вы получаете Wired Or, используя устройство, прямое из 1950-х годов - DRL - Diode-Resistor Logic . Когда выходной сигнал 555 ВЫСОКИЙ, диод имеет обратное смещение (или нейтральное смещение) и не проводит, поэтому собственный резистор вывода RESET подтягивает вывод RESET вверх. Однако, когда выход 555 НИЗКИЙ, тогда диод может провести (это смещено вперед), и это тянет вывод RESET НИЗКИЙ.