https://neosarchizo.github.io/posts/the-digital-input-and-output-of-arduino/