Arduino recebe um pulso em uma entrada, e a cada pulso coloca em nível HIGH uma ou outra saída,
Este projeto também foi modificado por mim para ser usando com Blynk e ESP8266, link Blynk abaixo https://community.blynk.cc/t/blynk-esp8266-12e-control-water-pumps/12953