Подобные вопросы уже обсуждались, например
Arduino NANO зависает при включении индуктивной нагрузки или
FLPlc. Все свелось к хилому источнику питания.
У меня ардуины работают в шкафах управления станков, Питание идет по следующей цепочке: трансформатор на 36-24В, диодный мост, большой конденсатор 400мФ. микросхема напряжения LM7824 с обвязкой из конденсаторов на 33мФ (с этой микросхемы питаются бесконтактные датчики, промежуточные релюшки и индикаторы), микросхема напряжения LM7812 с конденсатором и только потом ардуино. На микросхемы напряжения прикрепить радиаторы, а то греются сильно. На ардуино уно подаю 12 вольт. Сейчас будет проект на нано, на нее больше 10 подавать нельзя. Мое мнение, что ардуину нужно питать напряжениями выше минимально допустимых, т.е. больше 5 вольт, ибо у нее на борту свой стабилизатор на 5.
Ну и по поводу реле, в первом проекте использовал стандартный китайский релейный шилд, а потом перешел на отдельные реле, управляю ими через микросхему ULN2003.
Если вы на входа ардуины подаете сигналы от кнопок или датчиков, то обязательное это делать через оптроны и вход ардуины стягивать к минусу или подтягивать к плюсу (подтягивающие резисторы встроены, поэтому паять меньше).